Direct naar de hoofdinhoud
Module 1 · Les 2 van 22/14 in de cursus~12 min
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.

Java
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): retourneert true als beide voorwaarden waar zijn.
  • || (OR): retourneert true als ten minste één van de voorwaarden waar is.
  • ! (NOT): keert de logische waarde van de voorwaarde om.
Java
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.

Java
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.

Java
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.

Java
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 een for lus).
Java
for (int i = 1; i <= 5; i++) {
    if (i == 3) {
        continue; // Skips printing for the number 3
    }
    System.out.println(i);
}

Probeer het zelf

Oefening#java.m1.l2.e1
Pogingen: 0Laden…

Voltooi de code door de scorevariabele te controleren: als deze groter is dan of gelijk is aan 60, print dan Pass, anders print Fail.

Editor laden…
Toon hint

Gebruik `if (score >= 60) { ... } else { ... }` en druk de exacte gevraagde string af.

Oplossing beschikbaar na 3 pogingen

Oefening#java.m1.l2.e2
Pogingen: 0Laden…

Schrijf een for-lus om de getallen 1 tot en met 5 op afzonderlijke regels af te drukken.

Editor laden…
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

Oefening#java.m1.l2.e3
Pogingen: 0Laden…

Voltooi de code met behulp van een while-lus om de getallen van 3 tot en met 1 op afzonderlijke regels af te drukken.

Editor laden…
Toon hint

Schrijf `while (count >= 1) { ... }`, druk `count` af en verlaag het vervolgens met `count--;`.

Oplossing beschikbaar na 3 pogingen