Modulelessen (2/2)
Stroomcontrole
Om onze programma's dynamisch te maken en beslissingen te kunnen nemen, gebruiken we control flow-structuren: voorwaardelijke instructies en lussen.
Voorwaardelijke waarden: if, else if en else
De instructie if voert een codeblok alleen uit als een specifieke Booleaanse voorwaarde waar is.
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
We kunnen meerdere voorwaarden combineren met behulp van logische operatoren:
&&(AND): retourneerttrueals beide voorwaarden waar zijn.||(OR): retourneerttrueals ten minste één van de voorwaarden waar is.!(NOT): keert de logische waarde van de voorwaarde om.
boolean hasLicense = true;
boolean hasCar = false;
if (hasLicense && hasCar) {
System.out.println("Puoi guidare.");
}Lussen: while en for
Met lussen kunnen we een codeblok herhaaldelijk uitvoeren.
De while lus
Voert de code uit zolang de opgegeven voorwaarde true blijft.
int count = 1;
while (count <= 3) {
System.out.println("Conteggio: " + count);
count++; // Increment count by 1
}De for lus
Ideaal als we vooraf weten hoeveel iteraties we moeten uitvoeren. De syntaxis vereist initialisatie, een beëindigingsvoorwaarde en een increment-expressie.
for (int i = 0; i < 5; i++) {
System.out.println("Iteration: " + i);
}Geavanceerde voorwaardelijke bepalingen: de switch
Wanneer we een enkele variabele moeten vergelijken met meerdere constante waarden, maakt de instructie switch de code veel schoner dan meerdere aan elkaar gekoppelde if-else blokken.
int dayOfWeek = 3;
switch (dayOfWeek) {
case 1:
System.out.println("Monday");
break;
case 2:
System.out.println("Tuesday");
break;
case 3:
System.out.println("Wednesday");
break;
default:
System.out.println("Other day");
}Luscontrole: break en continue
We kunnen de normale stroom van een lus wijzigen met behulp van twee speciale instructies:
break: beëindigt onmiddellijk de uitvoering van de binnenste lus en sluit deze volledig af.continue: slaat de rest van de code in de huidige iteratie over en gaat direct naar het evalueren van de voorwaarde voor de volgende iteratie (of de increment-expressie in eenforlus).
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue; // Skips printing for the number 3
}
System.out.println(i);
}Probeer het zelf
Voltooi de code door de scorevariabele te controleren: als deze groter is dan of gelijk is aan 60, print dan Pass, anders print Fail.
Toon hint
Gebruik `if (score >= 60) { ... } else { ... }` en druk de exacte gevraagde string af.
Oplossing beschikbaar na 3 pogingen
Schrijf een for-lus om de getallen 1 tot en met 5 op afzonderlijke regels af te drukken.
Toon hint
Gebruik initialisatie `int i = 1`, voorwaarde `i <= 5` en verhoog `i++` binnen de header van de `for` lus.
Oplossing beschikbaar na 3 pogingen
Voltooi de code met behulp van een while-lus om de getallen van 3 tot en met 1 op afzonderlijke regels af te drukken.
Toon hint
Schrijf `while (count >= 1) { ... }`, druk `count` af en verlaag het vervolgens met `count--;`.
Oplossing beschikbaar na 3 pogingen