Fachkonzept - Wiederholungen
Abläufe mit Wiederholungen
Bei der automatisierten Verarbeitung von Daten kommt es sehr oft vor, dass dieselben Anweisungen in einer Art Schleife wiederholt ausgeführt werden. Das folgende Flussdiagramm zeigt eine solche Verarbeitung mit Wiederholung.
Der Aufbau einer solchen Anweisung lässt sich gut mit einem Struktogramm verdeutlichen.
Eine Solange-Wiederholung besteht aus einer Bedingung und einer Anweisungssequenz.
Bei der Ausführung einer Solange-Wiederholung wird vor jedem Wiederholungsdurchgang überprüft, ob die Bedingung erfüllt ist. Ist das der Fall, so werden die Anweisungen der Anweisungssequenz ausgeführt und der nächste Wiederholungsdurchgang kann beginnen. Andernfalls wird die Ausführung der Wiederholungsanweisung beendet.
Zwei Sonderfälle sind hier zu beachten. Ist die Bedingung gleich zu Beginn nicht erfüllt, so wird die Schleife überhaupt nicht durchlaufen. Die Solange-Wiederholung bewirkt dann gar nichts. Ist die Bedingung vor jedem Schleifendurchlauf erfüllt, so wird die Schleife (theoretisch) unendlich oft durchlaufen. Man spricht dann auch von einer Endlosschleife. In der Praxis muss man in einem solchen Fall die Ausführung abbrechen.
Implementierung einer Solange-Anweisung in Java
Zur Implementierung einer Solange-Wiederholung stellt Java die while
-Anweisung zur Verfügung:
Besteht der Anweisungsblock aus nur einer Anweisung, kann man diesen - wie auch bei if-Anweisungen - weglassen.
Ein Beispiel, das so lange würfelt bis eine 6 kommt und die Zahl der Versuche mitzählt, sieht so aus:
Zählschleifen
Bei einer Zählschleife durchläuft der Wert einer Zählvariablen einen Zahlenbereich von einem Anfangswert bis zu einem Endwert. Für jeden Wert der Zählvariablen wird die angegebene Anweisungssequenz einmal ausgeführt. Jede Zählschleife lässt sich durch eine Solange-Wiederholungsanweisung ausdrücken:
Ein Beispiel, das 10 Hunde erzeugt und bellen lässt:
for-Schleifen
for-Schleifen stellen eine etwas kompaktere Form für Zählschleifen dar. Hier wird die Initialisierung der Zählvariable, die Bedingung und die Veränderung der Zählvariablen zusammengefasst:
Angewandt auf das obige Beispiel:
Man kann dann das Struktogramm auch kompakter halten:
Beachtenswert ist, dass die Zählvariable lokal innerhalb der for-Schleife ist. Man kann also auch innerhalb einer Methode mehrfach die gleiche Zählvariable benutzen: