Schleifen/Wiederholungen

In vielen Programmen müssen bestimmte Sequenzen wiederholt werden. Dazu verwendet man eine Schleife, die auch Wiederholung bzw. im Englischen loop genannt wird. In Java gibt es drei verschiedene Möglichkeiten dazu:

for-Schleife:

for(int i = 1; i <= 10; i++) {
    System.out.println("Ich darf meine Hausaufgaben nicht vergessen.");
}

while-Schleife:

int i = 1;

while (i <= 10) {
    System.out.println("Ich darf meine Hausaufgaben nicht vergessen.");
    i++;
}

do-while-Schleife:

int i = 1;

do {
    System.out.println("Ich darf meine Hausaufgaben nicht vergessen.");
    i++;
} while (i <= 10);

Alle drei Beispiele geben 10-mal auf dem Bildschirm aus, dass man seine Hausaufgaben nicht vergessen darf.

Die for-Schleife verwendet man, wenn man vorher weiß, wie oft etwas wiederholt werden soll. Zuerst wird die Zählvariable i deklariert und mit 1 initialisiert. Dann folgt die Bedingung i <= 10. Solange diese erfüllt ist, wird die Schleife wiederholt. Anschließend wird die Zählvariable i bei jedem Durchlauf um eins erhöht (i++).

In dem Anweisungsblock, der mit geschweiften Klammern { } eingeschlossen ist, können mehrere Anweisungen stehen, die dann wiederholt werden.

Die while-Schleife ist flexibler. Stellen wir uns beispielsweise ein Computerspiel vor, bei dem eine Figur über den Bildschirm laufen soll, bis ein Hindernis auftaucht. Hier ist nicht im Vorhinein klar, wie oft die Vorwärtsbewegung wiederholt werden muss. Deshalb eignet sich eine while-Schleife.

Bei einer while-Schleife wird die Bedingung vor jedem Durchlauf überprüft. Es kann also sein, dass der Anweisungsblock gar nicht ausgeführt wird.

Genau darin liegt der Unterschied zur do-while-Schleife. Hier wird der Anweisungsblock auf jeden Fall einmal ausgeführt, da die Bedingung erst danach überprüft wird.

Die while-Schleife ist also eine kopfgesteuerte Schleife, die do-while-Schleife eine fußgesteuerte Schleife.

Weitere Erklärungen, Ergänzungen und Übungsaufgaben findet man zum Beispiel bei learnj.de.