Java Reference
In-Depth Information
// bedingte Anweisung 1
if (vornFrei()) {
vor();
}
// bedingte Anweisung 2
if (kornDa() && vornFrei()) {
nimm();
vor();
}
// bedingte Anweisung 3
if (kornDa())
if (vornFrei()) {
nimm();
vor();
}
Bezüglich der Hamster-Landschaft in Abbildung 9.8 (links) wird der Hamster, wenn die bedingte
Anweisung (1) ausgeführt wird, den Befehl vor(); ausführen, da der Testbefehl vornFrei() den
Wert true liefert. Anders ist dies bezüglich der Situation in Abbildung 9.8 (rechts). Hier wird der
Hamster bei Ausführung von Anweisung (1) nichts tun, da der Testbefehl den Wert false liefert.
Liegt auf der Kachel, auf der sich der Hamster in Abbildung 9.8 (links) befindet, ein Korn, dann
wird der Hamster bei Aufruf der bedingten Anweisung (2) die Blockanweisung ausführen, da der
boolesche Ausdruck den Wert true liefert, d.h. er wird ein Korn fressen und anschließend eine
Kachel nach vorne hüpfen.
Die bedingte Anweisung 3 ist zur bedingten Anweisung 2 semantisch äquivalent, d.h. die beiden
Anweisungen bewirken dasselbe. Anweisung 3 nutzt aus, dass die bedingte Anweisung selbst wie-
der eine Anweisung ist, also auch selbst wieder als true-Anweisung in einer bedingten Anweisung
auftreten darf.
Abbildung 9.8: Bedingte Anweisung
9.5.5 Anmerkungen
Auch wenn es sich bei der true-Anweisung einer bedingten Anweisung um eine einzelne Anweisung
handelt, sollten Sie sich angewöhnen, die Blockanweisung zu nutzen, um Fehlern vorzubeugen.
Schauen Sie sich das folgende Beispiel an:
 
Search WWH ::




Custom Search