In deze tutorial leren we aan de hand van voorbeelden hoe we while en do while-lus in Java kunnen gebruiken.
Bij computerprogrammering worden loops gebruikt om een codeblok te herhalen. Als u bijvoorbeeld een bericht 100 keer wilt weergeven, kunt u een lus gebruiken. Het is maar een eenvoudig voorbeeld; je kunt veel meer bereiken met loops.
In de vorige tutorial heb je geleerd over Java for loop. Hier ga je leren over while
en do… while
loops.
Java while-lus
Java- while
lus wordt gebruikt om een specifieke code uit te voeren totdat aan een bepaalde voorwaarde is voldaan. De syntaxis van de while
lus is:
while (testExpression) ( // body of loop )
Hier,
- Een
while
lus evalueert de textExpression tussen haakjes()
. - Als de textExpression evalueert naar
true
, wordt de code in dewhile
lus uitgevoerd. - De textExpression wordt opnieuw geëvalueerd.
- Dit proces gaat door totdat de textExpression is
false
. - Wanneer de textExpression evalueert naar
false
, stopt de lus.
Bezoek Java relationele en logische operators voor meer informatie over de voorwaarden.
Stroomschema van while-lus

Voorbeeld 1: nummers van 1 tot 5 weergeven
// Program to display numbers from 1 to 5 class Main ( public static void main(String() args) ( // declare variables int i = 1, n = 5; // while loop from 1 to 5 while(i <= n) ( System.out.println(i); i++; ) ) )
Uitvoer
1 2 3 4 5
Hier is hoe dit programma werkt.
Iteratie | Variabel | Staat: i <= n | Actie |
---|---|---|---|
1e | i = 1 n = 5 | true | 1 is gedrukt. i wordt verhoogd naar 2 . |
2e | i = 2 n = 5 | true | 2 is gedrukt. i wordt verhoogd naar 3 . |
3e | i = 3 n = 5 | true | 3 is gedrukt. i wordt verhoogd naar 4 . |
4e | i = 4 n = 5 | true | 4 is gedrukt. i wordt verhoogd naar 5 . |
5e | i = 5 n = 5 | true | 5 is gedrukt. i wordt verhoogd naar 6 . |
6e | i = 6 n = 5 | false | De lus is beëindigd |
Voorbeeld 2: som van alleen positieve getallen
// Java program to find the sum of positive numbers import java.util.Scanner; class Main ( public static void main(String() args) ( int sum = 0; // create an object of Scanner class Scanner input = new Scanner(System.in); // take integer input from the user System.out.println("Enter a number"); int number = input.nextInt(); // while loop continues // until entered number is positive while (number>= 0) ( // add only positive numbers sum += number; System.out.println("Enter a number"); number = input.nextInt(); ) System.out.println("Sum = " + sum); input.close(); ) )
Uitvoer
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 krijgen. Hier worden nextInt()
gehele getallen ingevoerd van de gebruiker.
De while
lus gaat door totdat de gebruiker een negatief getal invoert. Tijdens elke iteratie wordt het door de gebruiker ingevoerde getal aan de sum
variabele toegevoegd .
Wanneer de gebruiker een negatief getal invoert, wordt de lus beëindigd. Ten slotte wordt de totale som weergegeven.
Java do… while loop
De do… while
lus is vergelijkbaar met de while-lus. De hoofdtekst van de do… while
lus wordt echter eenmaal uitgevoerd voordat de testuitdrukking wordt gecontroleerd. Bijvoorbeeld,
do ( // body of loop ) while(textExpression)
Hier,
- De body van de lus wordt eerst uitgevoerd. Vervolgens wordt de textExpression geëvalueerd.
- Als de textExpression evalueert naar
true
, wordt de body van de lus in dedo
instructie opnieuw uitgevoerd. - De textExpression wordt nogmaals geëvalueerd.
- Als de textExpression evalueert naar
true
, wordt de body van de lus in dedo
instructie opnieuw uitgevoerd. - Dit proces gaat door totdat de textExpression evalueert naar
false
. Dan stopt de lus.
Stroomschema van do… while-lus

Laten we eens kijken naar de werking van do… while
loop.
Voorbeeld 3: nummers van 1 tot 5 weergeven
// Java Program to display numbers from 1 to 5 import java.util.Scanner; // Program to find the sum of natural numbers from 1 to 100. class Main ( public static void main(String() args) ( int i = 1, n = 5; // do… while loop from 1 to 5 do ( System.out.println(i); i++; ) while(i <= n); ) )
Uitvoer
1 2 3 4 5
Hier is hoe dit programma werkt.
Iteratie | Variabel | Staat: i <= n | Actie |
---|---|---|---|
i = 1 n = 5 | niet aangevinkt | 1 is gedrukt. i wordt verhoogd naar 2 . |
|
1e | i = 2 n = 5 | true | 2 is gedrukt. i wordt verhoogd naar 3 . |
2e | i = 3 n = 5 | true | 3 is gedrukt. i wordt verhoogd naar 4 . |
3e | i = 4 n = 5 | true | 4 is gedrukt. i wordt verhoogd naar 5 . |
4e | i = 5 n = 5 | true | 6 is gedrukt. i wordt verhoogd naar 6 . |
5e | i = 6 n = 5 | false | De lus is beëindigd |
Voorbeeld 4: som van positieve getallen
// Java program to find the sum of positive numbers import java.util.Scanner; class Main ( public static void main(String() args) ( int sum = 0; int number = 0; // create an object of Scanner class Scanner input = new Scanner(System.in); // do… while loop continues // until entered number is positive do ( // add only positive numbers sum += number; System.out.println("Enter a number"); number = input.nextInt(); ) while(number>= 0); System.out.println("Sum = " + sum); input.close(); ) )
Uitgang 1
Voer een getal in 25 Voer een getal in 9 Voer een getal in 5 Voer een getal in -3 Som = 39
Here, the user enters a positive number, that number is added to the sum variable. And this process continues until the number is negative. When the number is negative, the loop terminates and displays the sum without adding the negative number.
Output 2
Enter a number -8 Sum is 0
Here, the user enters a negative number. The test condition will be false
but the code inside of the loop executes once.
Infinite while loop
If the condition of a loop is always true
, the loop runs for infinite times (until the memory is full). For example,
// infinite while loop while(true)( // body of loop )
Here is an example of an infinite do… while
loop.
// infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1)
In the above programs, the textExpression is always true
. Hence, the loop body will run for infinite times.
for and while loops
De for
lus wordt gebruikt als het aantal iteraties bekend is. Bijvoorbeeld,
for (let i = 1; i <=5; ++i) ( // body of loop )
En while
en do… while
loops worden over het algemeen gebruikt als het aantal iteraties onbekend is. Bijvoorbeeld,
while (condition) ( // body of loop )