Java Reference
In-Depth Information
Der NICHT-Operator ! kehrt den logischen Operanden ins Gegenteil um. Hat a den Wert
true , so hat !a den Wert false . Hat a den Wert false , dann hat !a den Wert true .
Tabelle 2.11 zeigt die möglichen Verknüpfungen mit den Ergebnissen der übrigen Ope-
ratoren.
a
b
a & b
a && b
a ^ b
a | b
a || b
true
true
true
false
true
true
false
false
true
true
false
true
false
true
true
false
false
false
false
false
Tabelle 2.11 Logische Verknüpfungen zweier Wahrheitswerte
UND und ODER gibt es in zwei Varianten. Die kurze Auswertung ( && bzw. || ) führt dazu,
dass die Auswertung des Gesamtausdrucks abgebrochen wird, sobald das Ergebnis fest-
steht. Eine vollständige Auswertung ( & bzw. | ) bewirkt, dass grundsätzlich immer der
gesamte Ausdruck abgearbeitet wird. Im folgenden Beispiel wird der Unterschied
gezeigt.
inta=1;
booleanx=true;
booleany=false;
System.out.println(y && (++a == 2));
System.out.println("a = " + a);
Die verkürzte Auswertung der UND-Verknüpfung in der ersten System.out.println -
Anweisung sorgt dafür, dass der Klammerausdruck nicht mehr ausgewertet werden
muss. Da y den Wert false hat, kann das Ergebnis der Verknüpfung nur false lauten.
Dadurch, dass der Klammerausdruck nicht ausgewertet wird, entfällt auch das Inkre-
mentieren ( ++ ) von a . Die Variable a behält ihren Wert. Testen Sie die Anweisungsfolge
mit dem & -Operator für die vollständige Auswertung, und Sie werden feststellen, dass a
inkrementiert wird und entsprechend den Wert 2 annimmt.
Search WWH ::




Custom Search