Mit dem Java-do-while-Loop sorgen Sie dafür, dass das Programm An­wei­sun­gen so lange ausführt, bis eine de­fi­nier­te Ab­bruch­be­din­gung erreicht wurde. Die Schleife kann auch mit anderen Funk­tio­nen kom­bi­niert werden.

Was ist eine do-while-Schleife?

Der do-while-Loop wird in Java genutzt, um eine Anweisung so lange durch­zu­füh­ren und zu wie­der­ho­len, bis eine de­fi­nier­te Ab­bruch­be­din­gung erfüllt, also „true“ (wahr) ist. Ähnliche Schleifen gibt es in den meisten Pro­gram­mier­spra­chen, in denen sie dafür verwendet werden, bestimmte Code­blö­cke mehrfach aus­zu­füh­ren. Die Schleife kann auch mit anderen Funk­tio­nen kom­bi­niert werden. Der do-while-Loop ist in Java eine Variante des ge­wöhn­li­chen while-Loops.

Syntax des do-while-Loops in Java

Die Syntax des do-while-Loops in Java sieht immer fol­gen­der­ma­ßen aus:

do {
	//Anweisungen
}
while(Voraussetzung);
java

Die Schleife beginnt also mit dem Schlüs­sel­wort „do“. Danach sind die An­wei­sun­gen oder die Anweisung hin­ter­legt, die das Programm ausführen soll. Nach der Klammer folgt das zweite Schlüs­sel­wort „while“, das die Ab­bruch­be­din­gung initiiert. Diese ist immer als boole­scher Ausdruck for­mu­liert und kann somit in der Logik des Programms entweder „true“ (wahr) oder „false“ (unwahr) sein. Ein beliebtes und prak­ti­sches Beispiel für einen solchen Ausdruck ist eine Zähl­va­ria­ble, mit der Sie steuern können, wie oft die Aus­füh­rung wie­der­holt werden soll.

Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz inklusive

Funk­ti­ons­wei­se des Loops

Wenn nun der Java-do-while-Loop aus­ge­führt wird, be­trach­tet das Programm die An­wei­sun­gen innerhalb des Schlei­fen­kör­pers und führt diese aus. Ist dies voll­bracht, überprüft es die Ab­bruch­be­din­gung. Ist diese „true“ (also noch nicht erfüllt), beginnt die Schleife von vorne und wie­der­holt sämtliche An­wei­sun­gen bis zur erneuten Über­prü­fung. Sobald die Ab­bruch­be­din­gung al­ler­dings erreicht ist und somit „false“ lautet, beendet das Programm die Schleife und fährt im weiteren Verlauf des Codes fort.

Beispiel für eine einfache Schleife

Um die Funk­ti­ons­wei­se der Schleife zu ver­an­schau­li­chen, zeigen wir Ihnen ihren Aufbau anhand eines einfachen Beispiels. Hierfür legen wir einen Wert x mit 10 fest. Mit Hilfe des Java-Operators „++“ soll dieser Wert in jedem Durchgang um 1 erhöht und mit dem Java-Befehl System.out.println angezeigt werden. Unsere Ab­bruch­be­din­gung ist der Wert 20. Die Schleife wird somit wie­der­holt, solange der Wert x kleiner als 20 ist. Der ent­spre­chen­de Code dafür sieht so aus:

public class Main {
	public static void main(String[] args) {
		int x = 10;
		do {
			System.out.println(x);
			x++;
		}
		while (x < 20);
	}
}
java

Führen wir diesen Code aus, erhalten wir folgende Ausgabe:

10
11
12
13
14
15
16
17
18
19
java

Danach hat das Programm die Schleife zwar noch einmal aus­ge­führt, den Wert von x al­ler­dings als 20 erkannt. Da er somit nicht mehr kleiner als 20 ist, wurde die Ab­bruch­be­din­gung erfüllt und der do-while-Loop beendet.

Erzeugen Sie eine End­los­schlei­fe mit dem Wert „true“

Mit Hilfe des boole­schen Ausdrucks „true“ ist es möglich, mit do-while eine End­los­schlei­fe zu kon­zi­pie­ren. Diese wird sich niemals selbst­stän­dig stoppen, da keine Ab­bruch­be­din­gung erreicht werden kann. Um die Schleife zu beenden, müssen Sie manuell die Kom­bi­na­ti­on [Ctrl] + [C] verwenden. Der ent­spre­chen­de Code sieht so aus:

public class Main {
	public static void main(String[] args) {
		do {
			System.out.println("Sie befinden sich in einer Endlosschleife.");
		}
		while(true);
	}
}
java

Führen Sie diesen Code aus, erhalten Sie folgende Ausgabe:

Sie befinden sich in einer Endlosschleife.
Sie befinden sich in einer Endlosschleife.
Sie befinden sich in einer Endlosschleife.
Sie befinden sich in einer Endlosschleife.
Sie befinden sich in einer Endlosschleife.
ctrl+c
java

Wenn Sie die Schleife nicht manuell beenden, wird sie immer wei­ter­lau­fen.

Der Un­ter­schied zwischen do-while und while

In vielerlei Hinsicht sind sich der Java-do-while-Loop und die while-Schleife sehr ähnlich. In einem Punkt al­ler­dings un­ter­schei­den sie sich: Während beim while-Loop die Ab­bruch­be­din­gung bereits zu Anfang überprüft wird, läuft die do-while-Schleife zunächst min­des­tens einmal komplett durch und wird frü­hes­tens danach beendet. Wenn Sie also die An­wei­sun­gen zumindest einmal umsetzen möchten, sollten Sie auf diese Lösung setzen. Wenn die Ab­bruch­be­stim­mung ent­schei­dend ist, können Sie statt­des­sen die kopf­ge­steu­er­te while-Schleife verwenden.

Zum Hauptmenü