PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher bekannt: Einfache Variable Feld Vereinbarung Zuweisung Block while-Schleife Bedingte Anweisung (if) Typ.

Slides:



Advertisements
Ähnliche Präsentationen
ALP II: Objektorientierte Programmierung Sommersemester 2006
Advertisements

Ein- und Ausgabe von Dateien
Forschungszentrum caesar
Hochschule Fulda – FB ET Sommersemester 2010
Zusammenfassung der Vorwoche
Kritische Betrachtung
PKJ 2005/1 Stefan Dissmann Vorwoche - Klasse public class Studierende { private String name, vorname, studiengang; private int matNr, semester; private.
der Universität Oldenburg
WHILE - Anweisung.
FOR Anweisung.
DO...WHILE Anweisung.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 2 Gisbert Dittrich; Claudio Moraga FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Praxis-Repetitorium JAVA zusätzliche, ergänzende Lehrveranstaltung
PRJ 2007/1 Stefan Dissmann Motivation Problem: Benutztes Objekt kennt den Kontext seiner Nutzung nicht. Daher kann es in besonderen Situationen keine Entscheidung.
PKJ 2005/1 Stefan Dissmann Methoden (Motivation) Idee: Identische Programmabschnitte zusammenfassen und mit einem Namen versehen Vorteile: Übersichtlichkeit.
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher bekannt: Einfache Typen (z.B. int, char, boolean) Zusammengesetzte Typen (Felder, auch String) Operatoren.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Programm besteht aus mehreren Bestandteilen: Schlüsselwörter Sonderzeichen Bezeichner Kommentare Texte.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Zusammenfassung der Vorwoche Variable stehen für (einen) Wert, der sich im Programmablauf ändern kann. Variablen besitzen einen.
Zusammenfassung Vorwoche
Programmierkurs JAVA zusätzliche, ergänzende Lehrveranstaltung
PKJ 2005/1 Stefan Dissmann Klassenhierarchie Person Kunde Goldkunde Lieferant Object.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Methoden sind mit einem Namen versehene Programmabschnitte besitzen Rückgabetyp, Namen, Parameterliste.
Struktogramme IF-ELSE FOR – Schleife
Grundkonzepte Java - Klassendefinition
Informatik 1 Übung 2.
Kontrollstrukturen Verwendung: Steuerung des Ablaufs.
IT2 – WS 2005/20061Oct 10, 2005 Externes Verhalten – Quelltext (source code) Durch Aufrufe der Konstruktoren und Methoden kann das externe Verhalten (=die.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung
Informatik 1 Übung 4.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Style Guidelines für Java und .NET
Auswahlanweisungen, Iterationsanweisungen, Blöcke, Sprunganweisungen
Purga - Scriptengine Ein Einblick.
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
EPROG Tutorium #3 Philipp Effenberger
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
Programmieren in C Grundlagen C 2
BMEVIEEA100 Grundlagen der Programmierung
Vorlesung 3. if else Anweisung if (Ausdruck) Anweisung1 else Anweisung2 Ausdruck hat einen von 0 verschiedenen Wert, so wird Anweisung 1 ausgeführt. Bei.
PHP: Operatoren und Kontrollstrukturen
Hochschule Fulda – FB ET Sommersemester 2014
Programmieren in C Grundlagen C 2
Programmiervorkurs WS 2014/15 Schleifen
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Übersicht Nachtrag zu Ausdrücken
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Lernlandkarte OOP (ObjektOrientiertes Programmieren)
Informatik Beschreibung von Abläufen durch Algorithmen 3.3 Wiederholugnsanweisungen 3. Beschreibung von Abläufen durch Algorithmen 3.3 Wiederholungsanweisungen.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
MATLAB Control Statements.
Prüfungsbesprechung Barbara Scheuner Vorlesung: Programmieren und Problemlösen Prof. Hans Hinterberger.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Strukturen (Eigenschaften) Strukturen dienen zur Zusammenfassung mehrerer Komponenten verschiedener Typen zu einer Einheit, die dann mit gemeinsamen Namen.
Java-Kurs - 4. Übung weitere Kontrollstrukturen
Syntax: while ( BEDINGUNG ) { // Anweisungen die so lange immer wieder ausgeführt // werden, wie die Bedingung zutrifft } for (INITIALISIERUNG; BEDINGUNG;
Felder in der Informatik
PGdP Tutorstunde 4 Gerald Mahlknecht Technische Universität München Informatik Divide and Conquer.
 Präsentation transkript:

PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher bekannt: Einfache Variable Feld Vereinbarung Zuweisung Block while-Schleife Bedingte Anweisung (if) Typ int Typ String Operatoren auf int (+, -, *, /, %) und String (+) Vergleichoperatoren (==, !=, >, =, <=)

PKJ 2005/2 Stefan Dissmann Ergänzungen Weitere Konstrukte: for-Schleife if-else-Anweisung Weitere Typen: boolean byte, short, long, float, double char Zuweisungsoperatoren Sichtbarkeit von Variablen

PKJ 2005/3 Stefan Dissmann for-Schleife Wiederkehrendes Problem: Durchlaufen eines Feldes zähler = 0; while (zähler < zahlen.length) { System.out.print(zahlen[zähler] + ); zähler = zähler+1; } Einfacher mit for-Schleife: for (zähler=0; zähler<zahlen.length; zähler=zähler+1) { System.out.print(zahlen[zähler] + ); }

PKJ 2005/4 Stefan Dissmann for-Schleife for (zähler=0; zähler<zahlen.length; zähler=zähler+1) { System.out.print(zahlen[zähler] + ); } 3 Bestandteile Initialisierung: Wird genau ein Mal und am Anfang ausgeführt! (auch mit Vereinbarung, auch mehrere Variable) Bedingung (wie bei while-Schleife) Anweisungsteil: Wird immer am Ende eines Schleifendurchlaufs ausgeführt! (auch mit mehreren Anweidungen)

PKJ 2005/5 Stefan Dissmann for-Schleife Also möglich: for (int i=0,j=5; i<j; i=i+1, j=j-1, System.out.println(i+" "+j)); Erzeugt:

PKJ 2005/6 Stefan Dissmann for-Schleife Und seit JAVA 5 auch möglich! Statt for (zähler=0; zähler<zahlen.length; zähler=zähler+1) { System.out.print(zahlen[zähler] + ); } Jetzt for (int element : zahlen) { System.out.print(element + ); }

PKJ 2005/7 Stefan Dissmann if-else-Anweisung Auch möglich: for (int zähler=0; zähler<zahlen.length; zähler=zähler+1) { if (zahlen[zähler] != 0) { System.out.print(Primzahl, ); } else { System.out.print(keine Primzahl, ); } } else bezieht sich immer auf vorangehendes if entweder if- oder else- Zweig wird durchlaufen auf else folgt Anweisung oder Block, also insbesondere auch … else if ( … ) …

PKJ 2005/8 Stefan Dissmann boolean Typ für Wahrheitswerte Schlüsselwort: boolean Wertemenge: true, false Operatoren:! = Negation (NOT) &= Konjunktion (AND) |= Disjunktion (OR) ^= exkl. Disj. (XOR) Shortcut-Operatoren: rechter Operand wird nur ausgewertet, wenn für das Ergebnis benötigt &&= shortcut AND ||= shortcut OR

PKJ 2005/9 Stefan Dissmann Boolean - Beispiele Beispiel 1: boolean abbruch = false; while (!abbruch & i<j) { … abbruch = a < b; } Beispiel 2: while (b!=0 && (a/b==2)) { … } Mögliche Division durch 0 verhindert!

PKJ 2005/10 Stefan Dissmann byte, short, long, float, double Teilmengen der ganzen Zahlen byte Zahlen mit 8 bit short Zahlen mit 16 bit int Zahlen mit 32 bit long Zahlen mit 64 bit Bei Rechnung kann Überlauf auftreten! Teilmengen der reellen Zahlen float Zahlen im Bereich double Zahlen im Bereich Schreibweisen: f -4.67e e-3 Bei Rechnung kann Rundungsfehler auftreten!

PKJ 2005/11 Stefan Dissmann char Menge der Zeichen Schlüsselwort:char Wertemenge:'a' … 'z' 'A' … 'Z', '0' … '9', aber auch '\n' Zeichen sind geordnet (Unicode) daher sind Vergleiche möglich keine anderen Operatoren

PKJ 2005/12 Stefan Dissmann Typumwandlung Umwandlung von Zahlentypen von kleinerem zu größerem Wertebereich implizit: int i = 45; double f = i; von größerem zu kleinerem zu Wertebereich explizit: double f = 45.5; int i = (int)f; Type Cast

PKJ 2005/13 Stefan Dissmann Typumwandlung Umwandlung von Zeichen zu und aus int implizit: int i = ' a ' ; i=97, Unicode-Position von a char c = 97+1; c= ' b ', Zeichen 98 in Unicode char c = 'a'+2; c= ' c ', Zeichen 99 in Unicode zu und aus anderen Typen explizit: char c = (char)99.3;

PKJ 2005/14 Stefan Dissmann Zuweisungsoperatoren Kurzformen für häufige Zuweisungen stattkurz summe = summe + zähler; summe+=zähler; produkt = produkt * zähler; produkt*=zähler; zähler = zähler + 1;zähler++; oder ++zähler; aber: zähler++ und ++zähler liefern unterschiedliche Ergebnisse

PKJ 2005/15 Stefan Dissmann Zuweisungsoperatoren Beispiel: int i=1, j=1; System.out.println(1 + i++); druckt 2 System.out.println(1 + ++j); druckt 3 System.out.println(i+ +j); druckt 2 2 i++ erhöht i um 1 und liefert den Wert von i vor der Erhöhung ++i erhöht i um 1 und liefert den Wert von i nach der Erhöhung

PKJ 2005/16 Stefan Dissmann Sichtbarkeit von Variablen Variablen sind immer sichtbar nach ihrer Vereinbarung In dem Block, in dem sie vereinbart wurden In allen darin geschachtelten Blöcken in der for-Schleife, in der sie vereinbart wurden Variablen können in ihrem Sichtbarkeitsbereich nicht erneut vereinbart werden!