zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

(4 < 8 ) || (  8 < 0 ) || ( 100 > 45 )
--------
  true

.... die Auswertung wird beim ersten true abgebrochen, und der gesamte Ausdruck ist true.

Kaskadierende ||-Operatoren

Ganz ähnlich verhält es sich mit dem ||-Operator. Auch der ||-Operator hat eine Assoziativität von links nach rechts. Enthält ein Ausdruck mehrere ||-Operatoren, so startet die Auswertung ganz links und wandert nach rechts. Der erste Operand der ein true ergibt beendet die Auswertung, der gesamte Ausdruck liefert ein true. Nur dann wenn alle Operanden false sind ergibt der gesamte Ausdruck false.

Im Falle eventueller Seiteneffekte ist es wichtig zu wissen, dass die Auswertung von links nach rechts geschieht. Sind keine Seiteneffekte zu erwarten (so wie in dem Ausdruck in der letzten Frage), so muss dieser Assoziativität im Allgemeinen keine Beachtung geschenkt werden.

FRAGE 11:

Welchen Wert ergibt der folgende Ausdruck:

Math.sin( 0.5 ) >= Math.tan( 0.2 ) || 43.259 / 12.073 > 3.5 || ( 100 > 45 )