In diesem Tutorial lernen wir anhand von Beispielen, wie man while- und do-while-Schleifen in Java verwendet.
Bei der Computerprogrammierung werden Schleifen verwendet, um einen Codeblock zu wiederholen. Wenn Sie beispielsweise eine Nachricht 100 Mal anzeigen möchten, können Sie eine Schleife verwenden. Es ist nur ein einfaches Beispiel; Mit Loops können Sie viel mehr erreichen.
Im vorherigen Tutorial haben Sie Java for Loop kennengelernt. Hier lernen Sie etwas über while
und do… while
Schleifen.
Java while-Schleife
Die Java- while
Schleife wird verwendet, um einen bestimmten Code auszuführen, bis eine bestimmte Bedingung erfüllt ist. Die Syntax der while
Schleife lautet:
while (testExpression) ( // body of loop )
Hier,
- Eine
while
Schleife wertet den textExpression in der Klammer aus()
. - Wenn die textExpression ausgewertet wird,
true
wird der Code in derwhile
Schleife ausgeführt. - Der textExpression wird erneut ausgewertet.
- Dieser Vorgang wird fortgesetzt, bis der Textausdruck lautet
false
. - Wenn die textExpression als ausgewertet wird
false
, stoppt die Schleife.
Weitere Informationen zu den Bedingungen finden Sie unter relationale und logische Java-Operatoren.
Flussdiagramm der while-Schleife

Beispiel 1: Anzeigen von Zahlen von 1 bis 5
// 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++; ) ) )
Ausgabe
1 2 3 4 5
So funktioniert dieses Programm.
Wiederholung | Variable | Bedingung: i <= n | Aktion |
---|---|---|---|
1 | i = 1 n = 5 | true | 1 wird gedruckt. i wird auf 2 erhöht . |
2 .. | i = 2 n = 5 | true | 2 wird gedruckt. Ich werde auf 3 erhöht . |
3 .. | i = 3 n = 5 | true | 3 wird gedruckt. Ich werde auf 4 erhöht . |
4 .. | i = 4 n = 5 | true | 4 wird gedruckt. Ich werde auf 5 erhöht . |
5 .. | i = 5 n = 5 | true | 5 wird gedruckt. Ich werde auf 6 erhöht . |
6 .. | i = 6 n = 5 | false | Die Schleife wird beendet |
Beispiel 2: Summe nur positiver Zahlen
// 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(); ) )
Ausgabe
Geben Sie eine Zahl ein 25 Geben Sie eine Zahl ein 9 Geben Sie eine Zahl ein 5 Geben Sie eine Zahl ein -3 Summe = 39
Im obigen Programm haben wir die Scannerklasse verwendet, um Eingaben vom Benutzer zu erhalten. Hier wird nextInt()
eine ganzzahlige Eingabe vom Benutzer vorgenommen.
Die while
Schleife wird fortgesetzt, bis der Benutzer eine negative Zahl eingibt. Während jeder Iteration wird die vom Benutzer eingegebene Nummer zur sum
Variablen hinzugefügt .
Wenn der Benutzer eine negative Zahl eingibt, wird die Schleife beendet. Schließlich wird die Gesamtsumme angezeigt.
Java do… while-Schleife
Die do… while
Schleife ähnelt der while-Schleife. Der Body der do… while
Schleife wird jedoch einmal ausgeführt, bevor der Testausdruck überprüft wird. Beispielsweise,
do ( // body of loop ) while(textExpression)
Hier,
- Der Hauptteil der Schleife wird zuerst ausgeführt. Dann wird der textExpression ausgewertet.
- Wenn die textExpression als ausgewertet wird,
true
wird der Hauptteil der Schleife in derdo
Anweisung erneut ausgeführt. - Der textExpression wird erneut ausgewertet.
- Wenn die textExpression als ausgewertet wird,
true
wird der Hauptteil der Schleife in derdo
Anweisung erneut ausgeführt. - Dieser Prozess wird fortgesetzt , bis die textExpression ausgewertet wird
false
. Dann stoppt die Schleife.
Flussdiagramm von do… while-Schleife

Mal sehen, wie die do… while
Schleife funktioniert .
Beispiel 3: Anzeigen von Zahlen von 1 bis 5
// 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); ) )
Ausgabe
1 2 3 4 5
So funktioniert dieses Programm.
Wiederholung | Variable | Bedingung: i <= n | Aktion |
---|---|---|---|
i = 1 n = 5 | nicht geprüft | 1 wird gedruckt. i wird auf 2 erhöht . |
|
1 | i = 2 n = 5 | true | 2 wird gedruckt. Ich werde auf 3 erhöht . |
2 .. | i = 3 n = 5 | true | 3 wird gedruckt. Ich werde auf 4 erhöht . |
3 .. | i = 4 n = 5 | true | 4 wird gedruckt. Ich werde auf 5 erhöht . |
4 .. | i = 5 n = 5 | true | 6 wird gedruckt. Ich werde auf 6 erhöht . |
5 .. | i = 6 n = 5 | false | Die Schleife wird beendet |
Beispiel 4: Summe der positiven Zahlen
// 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(); ) )
Ausgabe 1
Geben Sie eine Zahl ein 25 Geben Sie eine Zahl ein 9 Geben Sie eine Zahl ein 5 Geben Sie eine Zahl ein -3 Summe = 39
Hier gibt der Benutzer eine positive Zahl ein, diese Zahl wird der Summenvariablen hinzugefügt. Und dieser Vorgang wird fortgesetzt, bis die Zahl negativ ist. Wenn die Zahl negativ ist, endet die Schleife und zeigt die Summe an, ohne die negative Zahl hinzuzufügen.
Ausgabe 2
Geben Sie eine Zahl ein. -8 Summe ist 0
Hier gibt der Benutzer eine negative Zahl ein. Die Testbedingung ist, false
aber der Code innerhalb der Schleife wird einmal ausgeführt.
Endlos while-Schleife
Wenn der Zustand einer Schleife immer ist true
, wird die Schleife unendlich oft ausgeführt (bis der Speicher voll ist). Beispielsweise,
// infinite while loop while(true)( // body of loop )
Hier ist ein Beispiel für eine do… while
Endlosschleife.
// infinite do… while loop int count = 1; do ( // body of loop ) while(count == 1)
In den obigen Programmen ist der textExpression immer true
. Daher läuft der Schleifenkörper unendlich oft.
für und während Schleifen
Die for
Schleife wird verwendet, wenn die Anzahl der Iterationen bekannt ist. Beispielsweise,
for (let i = 1; i <=5; ++i) ( // body of loop )
Und while
und do… while
Schleifen werden im Allgemeinen verwendet, wenn die Anzahl der Iterationen unbekannt ist. Beispielsweise,
while (condition) ( // body of loop )