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 whileund do… whileSchleifen.
Java while-Schleife
Die Java- whileSchleife wird verwendet, um einen bestimmten Code auszuführen, bis eine bestimmte Bedingung erfüllt ist. Die Syntax der whileSchleife lautet:
while (testExpression) ( // body of loop )
Hier,
- Eine
whileSchleife wertet den textExpression in der Klammer aus(). - Wenn die textExpression ausgewertet wird,
truewird der Code in derwhileSchleife 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
Flussdiagramm von Java 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 = 1n = 5 | true | 1 wird gedruckt. i wird auf 2 erhöht . |
| 2 .. | i = 2n = 5 | true | 2 wird gedruckt. Ich werde auf 3 erhöht . |
| 3 .. | i = 3n = 5 | true | 3 wird gedruckt. Ich werde auf 4 erhöht . |
| 4 .. | i = 4n = 5 | true | 4 wird gedruckt. Ich werde auf 5 erhöht . |
| 5 .. | i = 5n = 5 | true | 5 wird gedruckt. Ich werde auf 6 erhöht . |
| 6 .. | i = 6n = 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 whileSchleife wird fortgesetzt, bis der Benutzer eine negative Zahl eingibt. Während jeder Iteration wird die vom Benutzer eingegebene Nummer zur sumVariablen 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… whileSchleife ähnelt der while-Schleife. Der Body der do… whileSchleife 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,
truewird der Hauptteil der Schleife in derdoAnweisung erneut ausgeführt. - Der textExpression wird erneut ausgewertet.
- Wenn die textExpression als ausgewertet wird,
truewird der Hauptteil der Schleife in derdoAnweisung erneut ausgeführt. - Dieser Prozess wird fortgesetzt , bis die textExpression ausgewertet wird
false. Dann stoppt die Schleife.
Flussdiagramm von do… while-Schleife
Flussdiagramm von Java do while-Schleife
Mal sehen, wie die do… whileSchleife 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 = 1n = 5 | nicht geprüft | 1 wird gedruckt. i wird auf 2 erhöht . |
|
| 1 | i = 2n = 5 | true | 2 wird gedruckt. Ich werde auf 3 erhöht . |
| 2 .. | i = 3n = 5 | true | 3 wird gedruckt. Ich werde auf 4 erhöht . |
| 3 .. | i = 4n = 5 | true | 4 wird gedruckt. Ich werde auf 5 erhöht . |
| 4 .. | i = 5n = 5 | true | 6 wird gedruckt. Ich werde auf 6 erhöht . |
| 5 .. | i = 6n = 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, falseaber 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… whileEndlosschleife.
// 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 forSchleife wird verwendet, wenn die Anzahl der Iterationen bekannt ist. Beispielsweise,
for (let i = 1; i <=5; ++i) ( // body of loop )
Und whileund do… whileSchleifen werden im Allgemeinen verwendet, wenn die Anzahl der Iterationen unbekannt ist. Beispielsweise,
while (condition) ( // body of loop )








