Notizen

Werbung
Programmieren ­ Vorlesung
November 4, 2004
Inhalt
Einfache Datentypen vs. Klassen
Instanzen
Methoden
Statische und andere Methoden
Eigene Klassen
Instanzvariablen vs. Klassenvariablen
Arrays
Verzweigungen
Schleifen
Blöcke
Rekursion
Programmieren ­ Vorlesung
November 4, 2004
Einfache Datentypen vs. Klassen
Code: Beispiel.java
Einfache Datentypen:
int, double
Klassen:
String, Beispiel
Programmieren ­ Vorlesung
November 4, 2004
Instanzen
Code: Beispiel.java
Instanzen:
i, j
... von int
d
... von double
text, textInGross, textGleich ... von String
Objekte = Instanzen von Klassen
text, textInGross, textGleich
Erzeugen von Objekten: new Klasse(...)
Programmieren ­ Vorlesung
November 4, 2004
Methoden (1)
Code: Beispiel.java
Methoden:
String toUpperCase()
void println()
static void main(String[] args)
boolean equals(Object o)
Programmieren ­ Vorlesung
November 4, 2004
Methoden (2)
Code: Hallo.java
Methoden:
static void sagHalloZu(String wem)
static String allesKlein(String eingabe)
String toLowerCase()
void println()
static void main(String[] args)
Programmieren ­ Vorlesung
November 4, 2004
Statische und andere Methoden
Code: Hallo.java
Statische Methoden:
static void main(String args[])
static void sagHalloZu(String wem)
static String allesKlein(String eingabe)
Andere Methoden:
String toLowerCase()
Programmieren ­ Vorlesung
November 4, 2004
Eigene Klassen (1)
Klasse modelliert Konzept
Beispiel:
Klasse String – Konzept “Zeichenkette”
Instanz einer Klasse (Objekt):
Ein konkreter Vertreter des Konzepts
Beispiel: String text; “rhabarber”
Code: Studi.java
Konzept “Studierende Person”
Programmieren ­ Vorlesung
November 4, 2004
Eigene Klassen (2)
Code: Studi.java
Konzept “Studierende Person”
Was soll jede Instanz der Klasse können?
Welche Eigenschaften hat jede Instanz der Klasse?
Welche Informationen brauche ich am Anfang?
Programmieren ­ Vorlesung
November 4, 2004
Instanzvariablen vs. Klassenvariablen
Code: Studi.java
Instanzvariablen
Eigenschaften jeder einzelnen Instanz
Von Instanz zu Instanz verschieden
Beispiel: Matrikelnummer
Klassenvariablen
Globale Informationen über das modellierte Konzept
Beispiel: Anzahl
Programmieren ­ Vorlesung
November 4, 2004
Arrays (1)
Array = Reihung von Objekten eines Typs
Code: Gruppe.java
Syntax: Typbezeichner[] Variablenname
Beispiel: String[] args
String[] teilnehmer
Programmieren ­ Vorlesung
November 4, 2004
Arrays (2)
Zugriff:
Beispiel:
Variablenname[Index]
args[0]
teilnehmer[i]
Achtung:
Zählung ab 0!
Länge:
Beispiel:
Variablenname.length
args.length
teilnehmer.length
Programmieren ­ Vorlesung
November 4, 2004
Verzweigungen
Code: Studi.java
if (bedingungTrifftZu) tuWas(...);
if (bedingungTrifftZu) tuWas(...);
else tuWasAnderes(...);
switch (variableEinfachenTyps) {
case konstante1: { tuEins(...); break; }
case konstante2: { tuZwei(...); break; }
default:
tuWasAnderes(...);
}
Merken: Einmalige Ausführung, falls Bedingung
Programmieren ­ Vorlesung
November 4, 2004
Schleifen
Code: Gruppe.java
while­do:
Erst Bedingung prüfen, dann ausführen
do­while:
Erst ausführen, dann Abbruch prüfen
for­to:
Zählschleife
Merke:
Also:
Ggf. mehrfache Ausführung
if (usw.) ist keine Schleife!
Programmieren ­ Vorlesung
November 4, 2004
Blöcke
Code: Gruppe.java
Zusammenfassen von Anweisungen
In Methoden
In Verzweigungen und Schleifen
Auch: um Mehrdeutigkeiten zu vermeiden
Programmieren ­ Vorlesung
November 4, 2004
Rekursion
Rekursion:
Bei der Definition einer Klasse oder Lösung eines Problems wird die gleiche Klasse bzw. das gleiche Problem wiederverwendet.
Code: Telefonkette.java
Rekursive Methode
Beispiel: boolean nachrichtAngekommen()
Herunterladen