Java Reference
In-Depth Information
Beachten Sie, dass Leeranweisungen (spezielle) Anweisungen sind und daher überall dort (aber
auch nur dort!) eingesetzt werden dürfen, wo Anweisungen auftreten dürfen. Insbesondere ist es
syntaktisch nicht erlaubt, ein Semikolon hinter einen Prozedurrumpf zu platzieren, wie im folgenden
Beispiel:
void main() {
vor();
nimm();
vor();
rechtsUm();
vor();
linksUm();
vor();
gib();
}; // <- syntaktischer Fehler!
void rechtsUm() {
linksUm();
linksUm();
linksUm();
}
9.5 Bedingte Anweisung
Wo und wie lassen sich Testbefehle bzw. boolesche Ausdrücke im Hamster-Modell nun benutzen?
Wir hatten in Abschnitt 9.1.5 gesehen, dass sich mit Hilfe der Testbefehle gefährliche Situationen
vorherbestimmen und umgehen lassen. Beispielsweise soll der Befehl vor(); nur dann ausgeführt
werden, wenn der Testbefehl vornFrei() den Wert true liefert. Zur syntaktischen Formulierung
dieser nur wenn ..., dann ... Beziehung existiert in der Hamster-Sprache die sogenannte bedingte
Anweisung . Wie der Name schon aussagt, soll in einer bedingten Anweisung eine bestimmte An-
weisung nur unter einer bestimmten Bedingung ausgeführt werden.
9.5.1 Syntax
Die bedingte Anweisung, die auch if-Anweisung genannt wird, ist eine zusammengesetzte Anwei-
sung, deren genaue Syntax in Abbildung 9.7 definiert wird. Die bedingte Anweisung wird einge-
leitet durch das Schlüsselwort if . Anschließend folgt innerhalb eines runden Klammernpaares ein
boolescher Ausdruck und danach eine Anweisung, die auch als true-Anweisung bezeichnet wird.
Abbildung 9.7 erweitert weiterhin das Syntaxdiagramm „Anweisung“ aus Abbildung 9.6.
9.5.2 Gestaltungskonventionen
Gewöhnen Sie es sich an, die true-Anweisung möglichst in Form einer Blockanweisung zu realisie-
ren, selbst dann, wenn diese nur eine einzelne Anweisung umschließt. Dadurch können bestimmte
Fehler vermieden werden, wie wir noch sehen werden.
Search WWH ::




Custom Search