Java Reference
In-Depth Information
Also kann sich der Hamster die Ermittlung des Wertes des Testbefehls kornDa() ersparen, was er
auch tut.
Ähnlich verhält es sich mit der Konjunktion. Liefert der Testbefehl vornFrei() den Wert false ,
dann kann sich der Hamster bei der Auswertung des Ausdrucks vornFrei() && (!kornDa() ||
maulLeer()) die Berechnung der anderen Operationen sparen, weil der boolesche Gesamtausdruck
auf jeden Fall den Wert false liefert.
Im Moment spielt die Auswertungsreihenfolge boolescher Ausdrücke für Ihre Hamster-Program-
me noch keine Rolle, aber in Kapitel 11.5 werden wir Situationen kennenlernen, wo der Beach-
tung dieser Auswertungsreihenfolge eine große Bedeutung zukommt. Insbesondere gilt daher in der
Hamster-Sprache für boolesche Operatoren das Kommutativgesetz nur, was die Wertlieferung be-
trifft.
Zusammengefasst lassen sich folgende Regeln definieren. Dabei seien p und q Platzhalter für belie-
bige boolesche Ausdrücke:
• Im Ausdruck p&&q wird der Wert des Teilausdrucks q nur dann ermittelt, wenn der Teil-
ausdruck p den Wert true liefert. In diesem Fall liefert der Gesamtausdruck den Wert von q .
Liefert p den Wert false , dann liefert der Gesamtausdruck unmittelbar den Wert false .
• Im Ausdruck p||q wird der Wert des Teilausdrucks q nur dann ermittelt, wenn der Teilaus-
druck p den Wert false liefert. In diesem Fall liefert der Gesamtausdruck den Wert von q .
Liefert p den Wert true , dann liefert der Gesamtausdruck unmittelbar den Wert true .
9.3 Blockanweisung
Mit Hilfe der Blockanweisung lassen sich mehrere Anweisungen zu einer Einheit zusammenfassen.
In Kapitel 13 werden weitere Eigenschaften der Blockanweisung angeführt.
Wir haben die Blockanweisung bereits in Kapitel 8 kennengelernt. Prozedurrümpfe werden nämlich
immer in Form einer Blockanweisung gebildet. Sie fasst die Anweisungen zusammen, die beim
Aufruf der Prozedur ausgeführt werden sollen.
9.3.1 Syntax
Syntaktisch gesehen handelt es sich bei einer Blockanweisung um eine zusammengesetzte Anwei-
sung. Innerhalb von geschweiften Klammern steht eine Anweisungssequenz. Abbildung 9.5 skiz-
ziert die genaue Syntax der Blockanweisung und erweitert das Syntaxdiagramm „Anweisung“ aus
Abbildung 8.3.
9.3.2 Gestaltungskonventionen
Für eine bessere Übersichtlichkeit sollten Sie sich angewöhnen, die öffnende und die schließende
geschweifte Klammer einer Blockanweisung jeweils in einer separaten Zeile und in derselben Spal-
te zu platzieren und die (inneren) Anweisungen der Blockanweisung um vier Spalten nach rechts
einzurücken, wie im obigen Beispiel.
Search WWH ::




Custom Search