Operatory przypisania

Klasyczny operator przypisania to operator =. Operator ten przypisuje zmiennej wskazanej po swojej lewej stronie wartość wyrażenia prawej strony. Jeśli zmienna jest zmienną typu prostego to przypisanie wartości jest literalne. Jeśli zmienna jest zmienną typu obiektowego (tj. jest referencją), to do zmiennej tej przypisywane jest wskazanie na obiekt wskazany po prawej stronie operatora przypisania, nie zaś sam obiekt. Zmiennej typu obiektowego można także przypisać wartość null.

Java oferuje także złożone operatory przypisania. Z pośród nich interesujące są dla nas operatory: +=, -=, *= oraz /=. Operatory te służą jedynie do skracania zapisu operacji które tak czy inaczej moglibyśmy zapisać przy użyciu operatorów +, -, *, / i zwykłego operatora przypisania. Stosując złożone operatory przypisania, możemy przypisanie postaci:

{zmienna x} = {zmienna x} + {wyrażenie};

zastąpić przypisaniem:

{zmienna x} += {wyrażenie};

przypisanie postaci:

{zmienna x} = {zmienna x} - {wyrażenie};

przypisaniem:

{zmienna x} -= {wyrażenie};

i dalej, analogicznie, przypisanie wyniku mnożenia czy dzielenia pewnej zmiennej do samej siebie możemy zapisać w skróconej formie z użyciem operatorów *= i /=.

Prawa strona instrukcji przypisania złożonego jest zawsze wyliczana jako pierwsza, tak więc, przykładowo, wyrażenie x *= 1 + 2 jest równoważne wyrażeniu x = x * (1 + 2) a nie wyrażeniu x = x * 1 + 2.