Mit dem Java-do-while-Loop stellst du sicher, dass dein Programm An­wei­sun­gen so lange wie­der­holt, bis eine fest­ge­leg­te Ab­bruch­be­din­gung eintritt. Diese Schleife lässt sich zudem flexibel mit weiteren Funk­tio­nen ver­knüp­fen.

Was ist eine do-while-Schleife?

Den do-while-Loop nutzt du in Java, um eine Aktion so lange aus­zu­füh­ren, bis eine de­fi­nier­te Bedingung erfüllt, also „true“ (wahr) ist. Solche Schleifen sind in fast allen Pro­gram­mier­spra­chen Standard, um Code­blö­cke mehrfach zu durch­lau­fen. In Java gilt der do-while-Loop als spezielle Variante des klas­si­schen while-Loops.

Syntax des do-while-Loops in Java

Der Aufbau eines do-while-Loops in Java folgt immer diesem Schema:

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

Die Schleife startet mit dem Keyword „do“. Danach folgen die An­wei­sun­gen, die dein Programm ab­ar­bei­ten soll. Erst nach dem Block steht das Keyword „while“, das die Ab­bruch­be­din­gung einleitet. Diese wird als boole­scher Ausdruck definiert und ist logisch entweder „true“ oder „false“. Ein klas­si­sches Beispiel dafür ist eine Zähl­va­ria­ble, mit der du die Anzahl der Durch­läu­fe präzise steuerst.

So funk­tio­niert der Loop

Sobald der Java-do-while-Loop startet, führt das Programm zuerst die An­wei­sun­gen im Schlei­fen­kör­per aus. Erst danach wird die Ab­bruch­be­din­gung geprüft. Ist diese „true“ (also noch nicht erreicht), beginnt der nächste Durchgang. Sobald die Bedingung jedoch „false“ liefert, stoppt das Programm die Schleife und setzt die Aus­füh­rung beim rest­li­chen Code fort.

Einfaches Beispiel für eine Schleife

Schauen wir uns die Funk­ti­ons­wei­se anhand eines prak­ti­schen Beispiels an. Wir setzen einen Startwert x auf 10 fest. Mithilfe des Java-Operators „++“ erhöhen wir diesen Wert pro Durchlauf um 1 und lassen ihn via Java-Befehl System.out.println ausgeben. Die Schleife läuft, solange x kleiner als 20 ist. Der Code sieht wie folgt aus:

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

Beim Ausführen des Codes erhältst du dieses Ergebnis:

10
11
12
13
14
15
16
17
18
19
java

Das Programm hat den Wert am Ende als 20 iden­ti­fi­ziert. Da x damit nicht mehr kleiner als 20 ist, ist die Bedingung erfüllt und der do-while-Loop wird beendet.

End­los­schlei­fe mit „true“ erstellen

Durch den boole­schen Ausdruck „true“ kannst du mit do-while eine End­los­schlei­fe bauen. Da die Ab­bruch­be­din­gung so nie eintritt, hört die Schleife nicht von selbst auf. Um sie zu stoppen, musst du manuell die Tas­ten­kom­bi­na­ti­on [Strg] + [C] drücken. Hier der passende Code:

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

Die Ausgabe nach dem Start sieht so aus:

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

Ohne dein manuelles Ein­grei­fen läuft dieser Prozess dauerhaft weiter.

Der Un­ter­schied: do-while vs. while

Obwohl sich der Java-do-while-Loop und die while-Schleife ähneln, gibt es einen we­sent­li­chen Un­ter­schied: Beim while-Loop wird die Bedingung direkt zu Beginn geprüft. Die do-while-Schleife hingegen läuft immer min­des­tens einmal komplett durch, bevor die erste Prüfung statt­fin­det. Möchtest du also si­cher­ge­hen, dass dein Code min­des­tens einmal aus­ge­führt wird, ist do-while die richtige Wahl. Spielt die Bedingung schon vor dem ersten Schritt eine Rolle, nutze die kopf­ge­steu­er­te while-Schleife.

Zum Hauptmenü