Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage
<< | < | > | >> | API | Kapitel 5 - Ausdrücke

## 5.6 Zuweisungsoperatoren

- 5.6 Zuweisungsoperatoren

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 so leicht passieren. Sind beispielsweise `a` und `b` vom Typ `int`, so hat zwar der Ausdruck `a = b` einen definierten Rückgabewert wie in C. Er darf jedoch nicht als Kontrollausdruck einer Schleife oder Verzweigung verwendet werden, da er 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. Nur wenn `a` und `b` vom Typ `boolean` sind, wird das Verwechseln von Zuweisung und Gleichheitstest vom Compiler nicht bemerkt. |  |
Hinweis

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.
/= | Divisionszuweisung | 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

Titel | Inhalt | Suchen | Index | DOC | Handbuch der Java-Programmierung, 3. Auflage, Addison Wesley, Version 3.0
<< | < | > | >> | API | © 1998-2002 Guido Krüger, http://www.javabuch.de