Java-do-while-Loop: So funktioniert die Schleife

Mit dem Java-do-while-Loop sorgen Sie dafür, dass das Programm Anweisungen so lange ausführt, bis eine definierte Abbruchbedingung erreicht wurde. Die Schleife kann auch mit anderen Funktionen kombiniert werden.

Was ist eine do-while-Schleife?

Der do-while-Loop wird in Java genutzt, um eine Anweisung so lange durchzuführen und zu wiederholen, bis eine definierte Abbruchbedingung erfüllt, also „true“ (wahr) ist. Ähnliche Schleifen gibt es in den meisten Programmiersprachen, in denen sie dafür verwendet werden, bestimmte Codeblöcke mehrfach auszuführen. Die Schleife kann auch mit anderen Funktionen kombiniert werden. Der do-while-Loop ist in Java eine Variante des gewöhnlichen while-Loops.

Syntax des do-while-Loops in Java

Die Syntax des do-while-Loops in Java sieht immer folgendermaßen aus:

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

Die Schleife beginnt also mit dem Schlüsselwort „do“. Danach sind die Anweisungen oder die Anweisung hinterlegt, die das Programm ausführen soll. Nach der Klammer folgt das zweite Schlüsselwort „while“, das die Abbruchbedingung initiiert. Diese ist immer als boolescher Ausdruck formuliert und kann somit in der Logik des Programms entweder „true“ (wahr) oder „false“ (unwahr) sein. Ein beliebtes und praktisches Beispiel für einen solchen Ausdruck ist eine Zählvariable, mit der Sie steuern können, wie oft die Ausführung wiederholt werden soll.

Günstige Webhosting-Pakete von IONOS!

Vertrauen Sie auf flexibel skalierbares und zuverlässiges Webhosting inklusive persönlichem Berater mit IONOS!

Kostenlose Domain
SSL Zertifikat
DDoS-Schutz

Funktionsweise des Loops

Wenn nun der Java-do-while-Loop ausgeführt wird, betrachtet das Programm die Anweisungen innerhalb des Schleifenkörpers und führt diese aus. Ist dies vollbracht, überprüft es die Abbruchbedingung. Ist diese „true“ (also noch nicht erfüllt), beginnt die Schleife von vorne und wiederholt sämtliche Anweisungen bis zur erneuten Überprüfung. Sobald die Abbruchbedingung allerdings 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 Funktionsweise der Schleife zu veranschaulichen, 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 Abbruchbedingung ist der Wert 20. Die Schleife wird somit wiederholt, solange der Wert x kleiner als 20 ist. Der entsprechende 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 ausgeführt, den Wert von x allerdings als 20 erkannt. Da er somit nicht mehr kleiner als 20 ist, wurde die Abbruchbedingung erfüllt und der do-while-Loop beendet.

Erzeugen Sie eine Endlosschleife mit dem Wert „true“

Mit Hilfe des booleschen Ausdrucks „true“ ist es möglich, mit do-while eine Endlosschleife zu konzipieren. Diese wird sich niemals selbstständig stoppen, da keine Abbruchbedingung erreicht werden kann. Um die Schleife zu beenden, müssen Sie manuell die Kombination [Ctrl] + [C] verwenden. Der entsprechende 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 weiterlaufen.

Der Unterschied zwischen do-while und while

In vielerlei Hinsicht sind sich der Java-do-while-Loop und die while-Schleife sehr ähnlich. In einem Punkt allerdings unterscheiden sie sich: Während beim while-Loop die Abbruchbedingung bereits zu Anfang überprüft wird, läuft die do-while-Schleife zunächst mindestens einmal komplett durch und wird frühestens danach beendet. Wenn Sie also die Anweisungen zumindest einmal umsetzen möchten, sollten Sie auf diese Lösung setzen. Wenn die Abbruchbestimmung entscheidend ist, können Sie stattdessen die kopfgesteuerte while-Schleife verwenden.