• Home
  • |
  • Blog
  • |
  • Java Tutorial #10 – Die Java do While Schleife

Java Tutorial #10 – Die Java do While Schleife

Zuletzt aktualisiert: September 5, 2024

In diesem Artikel werden wir in Java do While Schleifen genauer unter die Lupe nehmen. Du wirst heute lernen, was eine do While Schleife ist und direkt im Anschluss, wie man diese in der Praxis einsetzen kann.

Inhaltsverzeichnis

1. Was ist eine do While Schleife?

Die Java do While Schleife ist der While Schleife sehr ähnlich. Der einzige Unterschied besteht darin, dass die Bedingung nicht zu Beginn, sondern erst am Ende nach dem Schleifenblock geprüft wird.

Dadurch führt das Programm die Schleife immer mindestens einmal aus. Und zwar auch, wenn die Bedingung bereits von Beginn an nicht erfüllt ist. Das ist der entscheidende Unterschied zur While Schleife.

2. Die Java do While Schleife in der Praxis

Damit das Thema nicht ganz so abstrakt bleibt, sehen wir uns die do While Schleife nun in der Praxis an. Ich habe noch das Beispielprogramm des letzten Beitrags der While Schleife geöffnet.

Darin hatten wir gegen Ende gelernt, dass die While Schleife kopfgesteuert ist. Wie wir sehen, haben wir dort die Variable number um 1 erhöht und die Kurzschreibweise hierfür verwendet:

bevor wir die Java do While Schleife erstellen, sehen wir uns die While Schleife an

Jetzt werden wir das exakt gleiche Beispiel in eine do While Schleife transformieren.

Hierzu kommentieren wir den bisherigen Code der While Schleife einfach mal aus, damit wir ihn noch als Vergleich zur Hand haben.

Wir definieren in Java do While Schleifen, indem wir diese durch das Schlüsselwort do einleiten. Das bedeutet so viel wie „tue“. Was soll diese Schleife tun? Sie soll zunächst den Schleifenblock ausführen, weil sie die Bedingung schließlich erst am Ende prüft.

Den Schleifenblock, der sich aus den beiden Anweisungen zusammensetzt, kopieren wir jetzt einfach in unsere do While Schleife:

do {
       System.out.println(number);
       number++;
}

Erst nach diesem Schleifenblock folgt das Schlüsselwort while sowie eine Bedingung. Dafür übernehmen wir die Bedingung aus dem vorherigen Beispiel:

do {
       System.out.println(number);
       number++;
}
while(number <= 5);

Am Ende der Bedingung setzen wir ein Semikolon, welches wir bei der normalen While Schleife nicht benötigen. Im Gegensatz dazu müssen in Java do While Schleifen allerdings nach der Bedingung mit einem Semikolon ergänzt werden.

Damit haben wir auch schon unser Beispiel von zuvor in eine do While Schleife verwandelt! Hier gibt es jetzt eine Besonderheit. Diese besteht darin, dass die Schleife fußgesteuert ist.

3. Warum ist die do While Schleife fußgesteuert?

Die do While Schleife ist fußgesteuert, weil die Bedingung erst am Ende, also sozusagen am Fuß der Schleife geprüft wird und nicht wie bei der While Schleife zuvor im Kopfbereich.

Was passiert jetzt?

Wir haben die Variable number mit dem Wert 1 initialisiert und anschließend folgt der Schleifenblock. Dieser wird unabhängig von der Bedingung zunächst einmal ausgeführt.

Es ist also vollkommen egal, was in der Bedingung steht, das Programm führt den Codeblock immer mindestens einmal aus. Das kann in vielen Problemstellungen sinnvoll sein, was die do While Schleife zu ihrer Existenz berechtigt.

Erst, wenn der Schleifenblock einmal durchlaufen ist, sieht sich das Programm die Bedingung an und prüft diese. 

Sollte sie jetzt true sein, wird der Block ein weiteres Mal ausgeführt. Danach kommt es erneut zu einer Prüfung der Bedingung.

Das Ganze geschieht so lange, bis die Bedingung false ist. In diesem Fall geht es unterhalb der Schleife im Code weiter.

Um das Ganze zu testen, speichern wir unser Programm und führen es noch einmal kurz aus. Wie wir sehen, gibt es uns die Zahlen 1 bis 5 aus:

Nachdem wir die Java do While Schleife ausgeführt haben, erhalten wir 1 bis 5 in der Konsole

Wenn wir die Variable jetzt mit der Zahl 6 initialisieren, ist die Bedingung offensichtlich von vornherein nicht erfüllt, da nur Zahlen, die kleiner gleich 5 sind, true sein können.

int number = 6;

Führen wir das Ganze allerdings aus, dann sehen wir, dass das Programm den Wert trotzdem einmal ausgibt. Weil der Schleifenblock der do While Schleife immer mindestens einmal ausgeführt wird.

Die Zahl 6 wird einmal ausgegeben, obwohl sie nicht die Bedingung erfüllt

Dass die Bedingung nicht erfüllt ist, stellt das Programm erst nach der ersten Ausgabe fest und verlässt die Schleife daraufhin.

Bei der kopfgesteuerten Schleife ist es genau andersherum. Bei dieser prüft das Programm zuerst die Bedingung und sollte diese nicht erfüllt sein, führt es den Block kein einziges Mal aus.

Abschließende Worte

Das war im Prinzip schon alles, was ich dir zur Java do While Schleife erzählen wollte.

Falls du das Thema noch nicht ganz verstanden haben solltest, sieh dir gerne noch einmal den vorherigen Beitrag zur While Schleife an.

Im nächsten Artikel wirst du die for-Schleife kennenlernen. Einen weiteren Schleifentyp, der sehr wichtig ist und ziemlich oft zur Anwendung kommt.