Im Grunde besitzt Java nicht nur ein einzigen Zuweisungsoperator sondern sogesehen gleich 12. Davon ist der „normalste“ das Gleichheitszeichen, die restlichen 11 entstehen aus der Kombination mit eben dem ganz normalen.
Schauen wir uns das einmal genauer an. Was soll uns das Gleichheitszeichen und des Kombinationen draus eigentlich sagen? Eigentlich ja nur das was auf der linken Seite genau das gleiche ist wie auf der rechten Seiten.
Wenn wir jetzt auf von der Programmierung in die Mathematik abschweifen, dann kommen uns sofort normale Gleichungen in den Sinn. Denn dort bedeutet 3=2+1 auch nur das die linke Seite das Gleiche wie auf der rechten Seite ist.
In Java kommt dann noch dazu, das man „Gleichungen“ die Rechenoperationen auf die Variable selbst durchführen abgekürzt werden kann und auch noch zum Vorteil des Programmierers. Warum?
Nunja ersteinmal schreibt man weniger, was schon einmal die Gefahr verringert Schreibfehler einzubauen. Desweiteren brauch man nicht ständig umcasten. Warum umcasten? Was passiert wenn man verschiedene Datentypen miteinander verrechnen will?
Sind die Datentypen unterschiedlich, so wird intern der kleinere Datentyp in den Größeren überführt, d.h will man int und long verrechnen so wird aus dem int intern ein long. Ist der Ergebnistyp allerdings vom Typ int so muss expliziert das Ergebnis wieder auf ein int gecastet werden. Nutzen wir nun den kombinierten Zuweisungsoperator so entfällt das casten, denn so wird implizit auf den Datentyp des Ergebnistyps vom Compiler selbst gecastet.
Hier noch eine kleine Zusammenstellung der 12 Zuweisungsoperatoren in Java
Zuweisungsoperatoren in Java
= , += , -= , *= , /= , %= , &= , ^= , |= ,<<= , >>= , >>>=