Java while & do-while lussen beheersen: stap-voor-stap tutorial
Java while- en do...while-lus
In deze tutorial leren we hoe je while- en do-while-lussen in Java gebruikt met behulp van voorbeelden.
In computerprogrammeren worden lussen gebruikt om een blok code te herhalen. Bijvoorbeeld, als je een bericht 100 keer wilt tonen, kun je een lus gebruiken. Het is gewoon een simpel voorbeeld; je kunt veel meer bereiken met lussen.
In de vorige tutorial leerde je over Java for-lus. Hier ga je leren over while- en do...while-lussen.
Java while-lus
De Java while-lus wordt gebruikt om specifieke code te draaien totdat een bepaalde conditie is voldaan. De syntax van de while-lus is:
while (testExpression) {
// body of loop
}
Hierbij:
- Een
while-lus evalueert de testExpression binnen de haakjes(). - Als de testExpression evalueert naar
true, wordt de code binnen dewhile-lus uitgevoerd. - De testExpression wordt opnieuw geëvalueerd.
- Dit proces gaat door tot de testExpression
falseis. - Wanneer de testExpression evalueert naar
false, stopt de lus.
Lees meer over condities: Java relationele en logische operators.
Flowchart van while-lus

Voorbeeld 1: Getallen 1 tot 5 weergeven
// Programma om getallen 1 tot 5 weer te geven
class Main {
public static void main(String[] args) {
// declareer variabelen
int i = 1, n = 5;
// while-lus van 1 tot 5
while(i <= n) {
System.out.println(i);
i++;
}
}
}
Output
1 2 3 4 5
Hier is hoe dit programma werkt.
| Iteratie | Variabele | Conditie: i <= n | Actie |
|---|---|---|---|
| 1e | i = 1n = 5 | true | 1 geprint. i verhoogd naar 2. |
| 2e | i = 2n = 5 | true | 2 geprint. i verhoogd naar 3. |
| 3e | i = 3n = 5 | true | 3 geprint. i verhoogd naar 4. |
| 4e | i = 4n = 5 | true | 4 geprint. i verhoogd naar 5. |
| 5e | i = 5n = 5 | true | 5 geprint. i verhoogd naar 6. |
| 6e | i = 6n = 5 | false | Lus beëindigd |
Voorbeeld 2: Som van alleen positieve getallen
// Java-programma om de som van positieve getallen te vinden
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int sum = 0;
// maak een object van Scanner-klasse
Scanner input = new Scanner(System.in);
// neem integer-input van de gebruiker
System.out.println("Voer een getal in");
int number = input.nextInt();
// while-lus gaat door
// tot ingevoerde getal positief is
while (number >= 0) {
// tel alleen positieve getallen op
sum += number;
System.out.println("Voer een getal in");
number = input.nextInt();
}
System.out.println("Som = " + sum);
input.close();
}
}
Output
Voer een getal in 25 Voer een getal in 9 Voer een getal in 5 Voer een getal in -3 Som = 39
In het bovenstaande programma hebben we de Scanner-klasse gebruikt om input van de gebruiker te nemen. Hier neemt nextInt() integer-input van de gebruiker.
De while-lus gaat door tot de gebruiker een negatief getal invoert. Tijdens elke iteratie wordt het door de gebruiker ingevoerde getal opgeteld bij de sum-variabele.
Wanneer de gebruiker een negatief getal invoert, stopt de lus. Ten slotte wordt de totale som getoond.
Java do...while-lus
De do...while-lus lijkt op de while-lus. Echter, de body van de do...while-lus wordt één keer uitgevoerd voordat de test-expressie gecontroleerd wordt. Bijvoorbeeld,
do {
// body of loop
} while(testExpression);
Hierbij:
- De body van de lus wordt eerst uitgevoerd. Vervolgens wordt de testExpression geëvalueerd.
- Als de testExpression evalueert naar
true, wordt de body van de lus binnen dedo-statement opnieuw uitgevoerd. - De testExpression wordt opnieuw geëvalueerd.
- Als de testExpression evalueert naar
true, wordt de body van de lus binnen dedo-statement opnieuw uitgevoerd. - Dit proces gaat door tot de testExpression evalueert naar
false. Dan stopt de lus.
Flowchart van do...while-lus

Voorbeeld 3: Getallen 1 tot 5 weergeven
// Java-programma om getallen 1 tot 5 weer te geven
import java.util.Scanner;
// Programma om de som van natuurlijke getallen 1 tot 100 te vinden.
class Main {
public static void main(String[] args) {
int i = 1, n = 5;
// do...while-lus van 1 tot 5
do {
System.out.println(i);
i++;
} while(i <= n);
}
}
Output
1 2 3 4 5
Hier is hoe dit programma werkt.
| Iteratie | Variabele | Conditie: i <= n | Actie |
|---|---|---|---|
i = 1n = 5 | niet gecheckt | 1 geprint. i verhoogd naar 2. | |
| 1e | i = 2n = 5 | true | 2 geprint. i verhoogd naar 3. |
| 2e | i = 3n = 5 | true | 3 geprint. i verhoogd naar 4. |
| 3e | i = 4n = 5 | true | 4 geprint. i verhoogd naar 5. |
| 4e | i = 5n = 5 | true | 5 geprint. i verhoogd naar 6. |
| 5e | i = 6n = 5 | false | Lus beëindigd |
Voorbeeld 4: Som van positieve getallen
// Java-programma om de som van positieve getallen te vinden
import java.util.Scanner;
class Main {
public static void main(String[] args) {
int sum = 0;
int number = 0;
// maak een object van Scanner-klasse
Scanner input = new Scanner(System.in);
// do...while-lus gaat door
// tot ingevoerde getal positief is
do {
// tel alleen positieve getallen op
sum += number;
System.out.println("Voer een getal in");
number = input.nextInt();
} while(number >= 0);
System.out.println("Som = " + sum);
input.close();
}
}
Output 1
Voer een getal in 25 Voer een getal in 9 Voer een getal in 5 Voer een getal in -3 Som = 39
Hier voert de gebruiker een positief getal in, dat getal wordt opgeteld bij de sum-variabele. En dit proces gaat door tot het getal negatief is. Wanneer het getal negatief is, stopt de lus en toont de som zonder het negatieve getal op te tellen.
Output 2
Voer een getal in -8 Som is 0
Hier voert de gebruiker een negatief getal in. De testconditie zal false zijn maar de code binnen de lus wordt één keer uitgevoerd.
Oneindige while-lus
Als de conditie van een lus altijd true is, draait de lus oneindig (tot het geheugen vol is). Bijvoorbeeld,
// oneindige while-lus
while(true){
// body of loop
}
Hier is een voorbeeld van een oneindige do...while-lus.
// oneindige do...while-lus
int count = 1;
do {
// body of loop
} while(count == 1)
In de bovenstaande programma's is de testExpression altijd true. Daarom zal de lus-body oneindig vaak draaien.
for- en while-lussen
De for-lus wordt gebruikt wanneer het aantal iteraties bekend is. Bijvoorbeeld,
for (let i = 1; i <=5; ++i) {
// body of loop
}
En while- en do...while-lussen worden doorgaans gebruikt wanneer het aantal iteraties onbekend is. Bijvoorbeeld,
while (condition) {
// body of loop
}
Java
- While vs. Do-While lussen: Duidelijke vergelijking met praktische voorbeelden
- Java-variabelen en literals: een uitgebreide gids
- Java Expressies, Statements en Blokken begrijpen
- Java Enhanced For-lus beheersen: syntax, voorbeelden en best practices
- Java klassen en objecten: een praktische gids
- Java abstracte klassen en methoden: een uitgebreide gids
- Java geneste en inner classes meesteren: typen, voorbeelden en best practices
- Java throw vs throws: Exception Handling meesteren met praktische voorbeelden
- Java Autoboxing en Unboxing: Praktische voorbeelden en best practices
- Java palindroom-getal checker: Algoritmen met while en for lussen
- Java Onder de Knie: Objects, Classes en Kern OOP Concepten