Beispiele für Fallunterscheidung
- wenn unter 16 Jahre alt, dann kein Alkohol
- wenn weiblich, dann ist die Anrede "Frau"
- wenn PIN falsch, dann keine Bargeldausgabe
Aufbau einer If-Anweisung
- if Schlüsselwort
- Bedingung
- Code Block
Beispiel If-Anweisung
if ( Bedingung ) {
// Quellcode
}
Demo If-Anweisung
- wenn unter 16 Jahre alt, dann kein Alkohol
- wenn weiblich, dann ist die Anrede "Frau"
Wie behandelt man den anderen Fall?
- else Schlüsselwort
- Code Block
Beispiel Else-Anweisung
else {
// Quellcode
}
Demo If-Else-Anweisung
- wenn unter 16 Jahre alt, dann kein Alkohol, ansonsten Alkohol
- wenn weiblich, dann ist die Anrede "Frau", ansonsten "Mann"
Wie behandelt man weitere Fälle?
- else if Schlüsselwort
- Bedingung
- Code Block
Beispiel Else-If-Anweisung
else if ( Bedingung ) {
// Quellcode
}
else bezieht sich immer nur auf die aktuelle if-else-if-Verschachtelung
Demo If-Else-Anweisung
- wenn unter 16 Jahre alt, dann kein Alkohol, wenn unter 18 Jahre alt, dann Bier, ansonsten jeden Alkohol
- wenn weiblich, dann ist die Anrede "Frau", wenn männlich, dann ist die Anrede "Herr", ansonsten Vor- und Nachname
Verschachtelungen
if ( Bedingung ) {
if ( Bedingung ) {
if ( Bedingung ) {
...
} else if ( Bedingung ) {
...
} else
...
}
}
}
Mit Verschachtelungen können jegliche Fälle abgedeckt werden.
switch
- switch Schlüsselwort
- Datenobjekt, das geprüft werden soll
- Code Block
- case Schlüsselwort mit Wert
- Code Block
- break Schlüsselwort
switch kann als Alternative zur If-Anweisung verwendet werden.
Beispiel Switch-Anweisung
switch ( Datenobjekt ) {
case 1:
// Code Block
break;
case 2:
// Code Block
break;
default:
// Code Block
break;
}
switch geht nur mit int, char, String & Enum
Demo Switch-Anweisung
- wenn unter 16 Jahre alt, dann kein Alkohol, wenn unter 18 Jahre alt, dann Bier, ansonsten jeden Alkohol
- wenn "w", "W", "f", "F", dann ist die Anrede "Frau", wenn "m", "M", dann ist die Anrede "Herr", ansonsten Vor- und Nachname
switch vs if
- switch performanter als if-else-if
- switch kann erst ab Java 7 Stringvergleiche
- keine Methodenaufrufe in case statement
- Mehrfachbehandlung deutlich lesbarer mit switch
Ternary Operator*
- Kurzform von if-else
- macht in return statement Sinn
*NKR
Beispiel Ternary Operator*
public static void main(String[] args) {
String output;
int availableCash = 300;
if(availableCash > 0) {
output = "Patte fließt";
} else {
output = "Pleite";
}
output = availableCash > 0 ? "Patte fließt" : "Pleite";
}
Warum braucht man Schleifen?
- zum Bearbeiten von Listen
- zum wiederholten Ausführen von Code
Beispiele für Schleifen
- Liste von Klausuren, um Durchschnittsnote zu ermitteln
- Liste von Artikeln im Warenkorb, um Summe zu ermitteln
- Solange kein Film mit einer Bewertung von 4+, gehe zu nächstem Film
Arten von Schleifen
- while-Schleife
- do-while-Schleife
- for-Schleife
- for-each-Schleife
while-Schleife
- while Schlüsselwort
- Bedingung
- Code Block
Beispiel while-Schleife
while ( Bedingung ) {
// Quellcode
}
Demo while-Schleife
- Zahlen von 0 bis 4 ausgeben.
do-while-Schleife
- do Schlüsselwort
- Code Block
- while Schlüsselwort
- Bedingung
Beispiel do-while-Schleife
do {
// Quellcode
}
while ( Bedingung )
Code Block wird mindestends einmal ausgeführt
Demo do-while-Schleife
- Zahlen von 0 bis 4 ausgeben.
for-Schleife
- for Schlüsselwort
- Einmal Statement (vor der Schleife)
- Bedingung
- Statement (nach jedem Code Block)
- Code Block
Beispiel for-Schleife
for (int i = 0; i < 5; i++) {
// Quellcode
}
Demo for-Schleife
- Zahlen von 0 bis 4 ausgeben.
for-each-Schleife
- for Schlüsselwort
- Typ eines einzelnen Elements von einer Liste
- Bezeichner des Datenobjekts
- Datenobjekt mit einer Liste
Kann erst mit Arrays verstanden werden.
Beispiel for-each-Schleife
int[] numbers = { 0, 1, 2, 3, 4};
for (int number : numbers) {
// Quellcode
}
Demo for-each-Schleife
- Zahlen von 0 bis 4 ausgeben.
break Schlüsselwort
beendet die komplette Schleife
Demo break
- Beende Schleife, wenn durch 2 teilbar.
continue Schlüsselwort
beendet den aktuellen Code Block
Demo continue
- Überspringe alle ungeraden Zahlen
Eigenschaften eines Arrays
- speichert mehrere Datenobjekte eines gleichen Typs
- speichert eine definierte Anzahl an Datenobjekten
Beispiele
- die Namen von mir, meiner Freundin und meines besten Freundes
- die Noten von mir, meiner Freundin und meines besten Freundes
Wie deklariert man ein Array?
- Datentyp der zu speichernden Elemente
- eckige Klammern []
- Bezeichner
- Zuweisungsoperator =
- Elemente kommagetrennt in geschweiften Klammern
int[] numbers = { 0, 1, 2, 3, 4 }
das Array hat eine feste Länge von 5
Wie kann man Daten aus einem Array lesen?
int[] numbers = { 0, 1, 2, 3, 4 }
int dasVierteElement = numbers[3];
der Index bei Arrays beginnt immer bei 0
Wie kann man Daten in einem Array speichern?
int[] numbers = { 0, 1, 2, 3, 4 }
numbers[3] = 9;
Wie kann ich ein Array ohne Werte initialisieren?
int[] numbers = new int[4];
Integer[] numbers = new Integer[4];
numbers[3] = 9;
Schlüsselwort new ignorieren
Wie kann ich die Größe eines Arrays ermitteln?
int[] numbers = { 0, 1, 2, 3, 4 }
int size = numbers.length; // size ist 5
Primitiver Datentyp | Komplexer Datentyp |
---|
boolean | Boolean |
char | Character |
byte | Byte |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
Wie macht man Arrays größer?
- Größe des neuen Arrays ermittlen
- neues Array mit neuer Größe erstellen
- mit einer Schleife die Elemente aus dem alten Array kopieren
Wie fügt man ein Element an einer bestimmten Stelle ein?
- Größe des neuen Arrays ermittlen
- neues Array mit neuer Größe erstellen
- mit einer Schleife die Elemente vor der neuen Stelle aus dem alten Array kopieren
- neues Element hinzufügen
- mit einer Schleife die Elemente nach der neuen Stelle aus dem alten Array kopieren
ArrayList
- neue Elemente hinzufügen
- neue Elemente an bestimmter Stelle hinzufügen
- komplette Liste leeren
- prüfen ob Liste ein bestimmtes Element enthält
- ...
ArrayList
ArrayList<Integer> numbers = new ArrayList<>();
<Integer> sind Generics → Java 2
new kann erst mit Objekten verstanden werden
Wie kann ich die Größe einer ArrayList ermitteln?
ArrayList<Integer> numbers = new ArrayList<>();
int size = numbers.size(); // size ist 0
Demo Array und ArrayList
for-Schleife mit Array und ArrayList
Was sind jetzt die args in der main Methode?
Demo