Java Reference
In-Depth Information
der Fall sein. Im folgenden Programm hat der Programmierer innerhalb der Iterationsanweisung der
while-Schleife der main-Prozedur den Befehl vor(); vergessen.
void main() {
while (vornFrei()) {
// sammle
while (kornDa()) {
nimm();
}
}
}
Befindet sich der Hamster anfangs nicht vor einer Mauer, sammelt er zunächst alle Körner ein. Da-
nach werden jeweils abwechselnd die beiden Schleifenbedingungen überprüft, ohne dass der Hams-
ter irgendwas für Sie Sichtbares tut; vornFrei() liefert immer den Wert true , bedingt also die
Endlosschleife, und kornDa() liefert immer den Wert false , da der Hamster ja bereits anfangs alle
Körner gefressen hat.
10.3 do-Anweisung
Bei Ausführung der while-Anweisung kann es vorkommen, dass die Iterationsanweisung kein ein-
ziges Mal ausgeführt wird; nämlich genau dann, wenn die Schleifenbedingung direkt beim ersten
Test nicht erfüllt ist. Für Fälle, bei denen die Iterationsanweisung auf jeden Fall mindestens einmal
ausgeführt werden soll, existiert die do-Anweisung - auch do-Schleife genannt.
10.3.1 Syntax
Dem Schlüsselwort do , von dem die Anweisung seinen Namen hat, folgt die Iterationsanweisung.
Hinter der Iterationsanweisung muss das Schlüsselwort while stehen. Anschließend folgt in run-
den Klammern ein boolescher Ausdruck - die Schleifenbedingung. Abgeschlossen wird die do-
Anweisung durch ein Semikolon. Abbildung 10.7 enthält das Syntaxdiagramm für die do-Anweisung.
Die do-Anweisung ist wie die while-Anweisung eine Wiederholungsanweisung. Das Syntaxdia-
gramm „Wiederholungsanweisung“ aus Abbildung 10.2 wird daher in Abbildung 10.7 erweitert.
10.3.2 Gestaltungskonventionen
Gewöhnen Sie es sich wie bei der while-Anweisung an, die Iterationsanweisung möglichst in Form
einer Blockanweisung zu realisieren, selbst dann, wenn diese nur eine einzelne Anweisung um-
schließt. Dadurch können Fehler vermieden werden, die sich schnell einschleichen, wenn nachträg-
lich noch Anweisungen zur Iterationsanweisung hinzugefügt werden.
Handelt es sich bei der Iterationsanweisung um eine Blockanweisung setzen Sie das Schlüsselwort
do und die öffnende geschweifte Klammer der Blockanweisung durch ein Leerzeichen getrennt zu-
sammen in eine Zeile. Rücken Sie die Anweisungen, die die Blockanweisung umschließt, um jeweils
Search WWH ::




Custom Search