Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

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:

  1. Een while-lus evalueert de testExpression binnen de haakjes ().
  2. Als de testExpression evalueert naar true, wordt de code binnen de while-lus uitgevoerd.
  3. De testExpression wordt opnieuw geëvalueerd.
  4. Dit proces gaat door tot de testExpression false is.
  5. Wanneer de testExpression evalueert naar false, stopt de lus.

Lees meer over condities: Java relationele en logische operators.


Flowchart van while-lus

Java while & do-while lussen beheersen: stap-voor-stap tutorial

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.

IteratieVariabeleConditie: i <= nActie
1ei = 1
n = 5
true1 geprint.
i verhoogd naar 2.
2ei = 2
n = 5
true2 geprint.
i verhoogd naar 3.
3ei = 3
n = 5
true3 geprint.
i verhoogd naar 4.
4ei = 4
n = 5
true4 geprint.
i verhoogd naar 5.
5ei = 5
n = 5
true5 geprint.
i verhoogd naar 6.
6ei = 6
n = 5
falseLus 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:

  1. De body van de lus wordt eerst uitgevoerd. Vervolgens wordt de testExpression geëvalueerd.
  2. Als de testExpression evalueert naar true, wordt de body van de lus binnen de do-statement opnieuw uitgevoerd.
  3. De testExpression wordt opnieuw geëvalueerd.
  4. Als de testExpression evalueert naar true, wordt de body van de lus binnen de do-statement opnieuw uitgevoerd.
  5. Dit proces gaat door tot de testExpression evalueert naar false. Dan stopt de lus.

Flowchart van do...while-lus

Java while & do-while lussen beheersen: stap-voor-stap tutorial

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.

IteratieVariabeleConditie: i <= nActie
i = 1
n = 5
niet gecheckt1 geprint.
i verhoogd naar 2.
1ei = 2
n = 5
true2 geprint.
i verhoogd naar 3.
2ei = 3
n = 5
true3 geprint.
i verhoogd naar 4.
3ei = 4
n = 5
true4 geprint.
i verhoogd naar 5.
4ei = 5
n = 5
true5 geprint.
i verhoogd naar 6.
5ei = 6
n = 5
falseLus 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

  1. While vs. Do-While lussen: Duidelijke vergelijking met praktische voorbeelden
  2. Java-variabelen en literals: een uitgebreide gids
  3. Java Expressies, Statements en Blokken begrijpen
  4. Java Enhanced For-lus beheersen: syntax, voorbeelden en best practices
  5. Java klassen en objecten: een praktische gids
  6. Java abstracte klassen en methoden: een uitgebreide gids
  7. Java geneste en inner classes meesteren: typen, voorbeelden en best practices
  8. Java throw vs throws: Exception Handling meesteren met praktische voorbeelden
  9. Java Autoboxing en Unboxing: Praktische voorbeelden en best practices
  10. Java palindroom-getal checker: Algoritmen met while en for lussen
  11. Java Onder de Knie: Objects, Classes en Kern OOP Concepten