zur vorherigen Seite   zum Inhaltsverzeichnis   zur nächsten Seite

Antwort:

alter >= 21 && alter <= 35

Beliebige Reihenfolge (normalerweise)

In den meisten Situationen ist die Reihenfolge der Operanden von AND beliebig. Das Folgende

alter >= 21 && alter <= 35

ist äquivalent zu diesem:

alter <= 35 && alter >= 21

Ein false reicht aus, damit der gesamte Ausdruck false ist. Dabei spielt es keine Rolle, an welcher Stelle das false auftritt.

Warnung: Wenn ein Boole'scher Ausdruck Zuweisungsanweisungen oder Methodenaufrufe enthält, dann ist manchmal die Reihenfolge von Bedeutung. Der Grund dafür hat mit der vorher erwähnten Short-Circuit Optimierung zu tun. Meistens müssen wir uns darüber keine Gedanken machen, aber wir sollten uns dieses potentielle Problem merken (siehe Frage).

Kapitel 40 beschreibt diese Situation im Detail. Für die Beispiele in diesem Kapitel spielt die Reihenfolge der Operanden keine Rolle.

FRAGE 13:

Wir prüfen diesen Ausduck:

( Monster.isAlive() && (hitpoints = Hero.attack()) < 50 )

Glaubt Ihr, dass die Reihenfolge der Operanden in diesem Ausdruck eine Rolle spielt?