Java while en do ... while Loop

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 whileen do… whileloops.

Java while-lus

Java- whilelus wordt gebruikt om een ​​specifieke code uit te voeren totdat aan een bepaalde voorwaarde is voldaan. De syntaxis van de whilelus is:

 while (testExpression) ( // body of loop )

Hier,

  1. Een whilelus evalueert de textExpression tussen haakjes ().
  2. Als de textExpression evalueert naar true, wordt de code in de whilelus uitgevoerd.
  3. De textExpression wordt opnieuw geëvalueerd.
  4. Dit proces gaat door totdat de textExpression is false.
  5. 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

Stroomschema van Java 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 whilelus gaat door totdat de gebruiker een negatief getal invoert. Tijdens elke iteratie wordt het door de gebruiker ingevoerde getal aan de sumvariabele 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… whilelus is vergelijkbaar met de while-lus. De hoofdtekst van de do… whilelus wordt echter eenmaal uitgevoerd voordat de testuitdrukking wordt gecontroleerd. Bijvoorbeeld,

 do ( // body of loop ) while(textExpression)

Hier,

  1. De body van de lus wordt eerst uitgevoerd. Vervolgens wordt de textExpression geëvalueerd.
  2. Als de textExpression evalueert naar true, wordt de body van de lus in de doinstructie opnieuw uitgevoerd.
  3. De textExpression wordt nogmaals geëvalueerd.
  4. Als de textExpression evalueert naar true, wordt de body van de lus in de doinstructie opnieuw uitgevoerd.
  5. Dit proces gaat door totdat de textExpression evalueert naar false. Dan stopt de lus.

Stroomschema van do… while-lus

Stroomdiagram van Java do while loop

Laten we eens kijken naar de werking van do… whileloop.

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 forlus wordt gebruikt als het aantal iteraties bekend is. Bijvoorbeeld,

 for (let i = 1; i <=5; ++i) ( // body of loop )

En whileen do… whileloops worden over het algemeen gebruikt als het aantal iteraties onbekend is. Bijvoorbeeld,

 while (condition) ( // body of loop )

Interessante artikelen...