Lektionen des Moduls (2/2)
Kontrollfluss
Um unsere Programme dynamisch zu gestalten und in die Lage zu versetzen, Entscheidungen zu treffen, verwenden wir Kontrollflussstrukturen: bedingte Anweisungen und Schleifen.
Bedingungen: if, else if und else
Die if-Anweisung führt einen Codeblock nur dann aus, wenn eine bestimmte boolesche Bedingung wahr ist.
int temperature = 25;
if (temperature > 30) {
System.out.println("Fa molto caldo!");
} else if (temperature >= 20) {
System.out.println("Il clima è piacevole.");
} else {
System.out.println("Fa freddo.");
}
Logische Operatoren
Wir können mehrere Bedingungen mithilfe logischer Operatoren kombinieren:
&&(AND): Gibttruezurück, wenn beide Bedingungen wahr sind.||(OR): Gibttruezurück, wenn mindestens eine der Bedingungen wahr ist.!(NOT): Kehrt den logischen Wert der Bedingung um.
boolean hasLicense = true;
boolean hasCar = false;
if (hasLicense && hasCar) {
System.out.println("Puoi guidare.");
}
Schleifen: while und for
Schleifen ermöglichen es uns, einen Codeblock wiederholt auszuführen.
Die while-Schleife
Führt den Code aus, solange die angegebene Bedingung true bleibt.
int count = 1;
while (count <= 3) {
System.out.println("Conteggio: " + count);
count++; // Erhöht count um 1
}
Die for-Schleife
Ideal, wenn wir im Voraus wissen, wie viele Iterationen durchgeführt werden sollen. Die Syntax erfordert die Initialisierung, die Bedingung für den Verbleib in der Schleife und den Inkrementausdruck.
for (int i = 0; i < 5; i++) {
System.out.println("Iterazione: " + i);
}
Fortgeschrittene Bedingungen: das switch
Wenn wir eine einzelne Variable mit mehreren konstanten Werten vergleichen müssen, macht die switch-Anweisung den Code viel sauberer als mehrere verkettete if-else-Blöcke.
int dayOfWeek = 3;
switch (dayOfWeek) {
case 1:
System.out.println("Lunedì");
break;
case 2:
System.out.println("Martedì");
break;
case 3:
System.out.println("Mercoledì");
break;
default:
System.out.println("Altro giorno");
}
Schleifensteuerung: break und continue
Wir können den normalen Fluss einer Schleife mit zwei speziellen Anweisungen ändern:
break: unterbricht sofort die Ausführung der innersten Schleife und verlässt diese.continue: überspringt den Rest des Codes in der aktuellen Iteration und springt direkt zur Überprüfung der nächsten Bedingung (oder zum Inkrement in derfor-Schleife).
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue; // Überspringt die Ausgabe für die Nummer 3
}
System.out.println(i);
}
Probier es selbst
Vervollständige den Code durch Überprüfen der Variable score: Wenn sie größer oder gleich 60 ist, gib Pass aus, andernfalls gib Fail aus.
Hinweis anzeigen
Verwende `if (score >= 60) { ... } else { ... }` und gib die exakt geforderte Zeichenkette aus.
Lösung nach 3 Versuchen verfügbar
Schreibe eine for-Schleife, um die Zahlen von 1 bis 5 (einschließlich) in separaten Zeilen auf dem Bildschirm auszugeben.
Hinweis anzeigen
Verwende die Initialisierung `int i = 1`, die Bedingung `i <= 5` und das Inkrement `i++` im Kopf der `for`-Schleife.
Lösung nach 3 Versuchen verfügbar
Vervollständige den Code unter Verwendung einer while-Schleife, um die Zahlen von 3 bis 1 (einschließlich) in absteigender Reihenfolge in separaten Zeilen auszugeben.
Hinweis anzeigen
Schreibe `while (count >= 1) { ... }` wobei `count` ausgegeben und anschließend mit `count--;` dekrementiert wird.
Lösung nach 3 Versuchen verfügbar