Auch die Zuweisungsoperatoren in Java entsprechen im großen und ganzen den Zuweisungsoperatoren von C und C++. Ebenso gilt die Zuweisung nicht als Anweisung, sondern als Ausdruck, der einen Rückgabewert erzeugt.
|
|
Die Verwechslung der relationalen Operatoren Zuweisung und Gleichheitstest (= und ==) war in C eines der Kardinalprobleme, in Java kann sie nicht mehr passieren. Zwar hat der Ausdruck a = b einen Rückgabewert wie in C, doch darf er als Kontrollausdruck einer Schleife oder Verzweigung nicht verwendet werden, da sein Rückgabewert nicht vom Typ boolean ist. Anders als in C, wo boolesche Werte durch Ganzzahlen simuliert werden, schließt Java diese Art von Fehler also von vorneherein aus. |
Ebenso wie in C können auch in Java numerische bzw. bitweise Operatoren mit der Zuweisung kombiniert werden. Der Ausdruck a+=b addiert b zu a, speichert das Ergebnis in a und liefert es ebenfalls als Rückgabewert zurück. Tabelle 5.5 gibt eine Übersicht der in Java verfügbaren Zuweisungsoperatoren.
|
Operator |
Bezeichnung |
Bedeutung |
|
= |
Einfache Zuweisung |
a = b weist a den Wert von b zu und liefert b als Rückgabewert. |
|
+= |
Additionszuweisung |
a += b weist a den Wert von a + b zu und liefert a + b als Rückgabewert. |
|
-= |
Subtraktionszuweisung |
a -= b weist a den Wert von a - b zu und liefert a - b als Rückgabewert. |
|
*= |
Multiplikationszuweisung |
a *= b weist a den Wert von a * b zu und liefert a * b als Rückgabewert. |
|
/= |
Divisionzuweisung |
a /= b weist a den Wert von a / b zu und liefert a / b als Rückgabewert. |
|
% |
Modulozuweisung |
a %= b weist a den Wert von a % b zu und liefert a % b als Rückgabewert. |
|
&= |
UND-Zuweisung |
a &= b weist a den Wert von a & b zu und liefert a & b als Rückgabewert. |
|
|= |
ODER-Zuweisung |
a |= b weist a den Wert von a | b zu und liefert a | b als Rückgabewert. |
|
^= |
EXKLUSIV-ODER-Zuweisung |
a ^= b weist a den Wert von a ^ b zu und liefert a ^ b als Rückgabewert. |
|
<<= |
Linksschiebezuweisung |
a <<= b weist a den Wert von a << b zu und liefert a << b als Rückgabewert. |
|
>>= |
Rechtsschiebezuweisung |
a >>= b weist a den Wert von a >> b zu und liefert a >> b als Rückgabewert. |
|
>>>= |
Rechtsschiebezuweisung mit Nullexpansion |
a >>>= b weist a den Wert von a >>> b zu und liefert a >>> b als Rückgabewert. |
Tabelle 5.5: Zuweisungsoperatoren