Operator przypisania | Kurs Java

Operator przypisania

Java operator przypisania

Operator przypisania charakteryzuje się tym, że jednocześnie:

  • powoduje przypisanie oraz
  • zwraca wartość równą przypisanej wartości.

Klasyczny operator przypisania

Klasyczny operator przypisania to w Javie zwyczajnie “równa się” =.

Operator przypisuje zmiennej po lewej stronie wartość wyrażenia po prawej stronie.

  1. Jeżeli zmienna jest typu prostego, to jej wartość jest zwyczajnie kopiowana.
  2. Natomiast jeżeli zmienna jest typu obiektowego, czyli jest referencją, to kopiowana jest sama referencja, a nie obiekt, na który wskazuje. W efekcie takiego przypisania do obiektu kierują dwie referencje zamiast jednej.
    Zmienne typu obiektowego dodatkowo potrafią przechowywać wartość pustą, czyli null.

Złożone operatory przypisania

Java oferuje również złożone operatory przypisania. Służą one przede wszystkim skróceniu zapisu. Wszystkie operacje można zapisać bez ich wykorzystania, posługując się jedynie zwykłym operatorem przypisania oraz operatorami arytmetycznymi.

Skrócona formaRozszerzona forma
x += yx = x + y
x -= yx = x – y
x *= yx = x * y
x /= yx = x / y
x %= yx = x % y
x <<= yx = x <<
y x >>= yx = x >> y
x >>>= yx = x >>> y
x &= yx = x & y
x |= yx = x | y
x ^= yx = x ^ y

Operatory przypisania przetwarzane są od strony prawej do lewej, a wynikiem całej operacji jest przypisywana wartość. Ma to następujące konsekwencje:

  1. Można w jednej linii przypisać wartość dla kilku zmiennych.
    W efekcie tego przypisania dla wszystkich trzech zmiennych zostanie nadana wartość: 1.
    Odbędzie się to jednak w kilku krokach. Najpierw zostanie wyliczone wyrażenie: x = 1 i całość uprości się do: x = y = 1. Następnie zostanie wyliczone y = 1  i zostanie już tylko wyrażenie: x = 1  , które przypisze ostatniej zmiennej x wartość 1.
  2. Wpływa to na kolejność wykonywania działań, przykładowo wyrażenie:
    jest równoważne wyrażeniu: x = x * (1 + 2)  a nie: x = x * 1 + 2 .

Programista – Pytania rekrutacyjne

Lista pytań rekrutacyjnych, które pozwolą przygotować Ci się na rozmowę kwalifikacyjną.

No comments
Share:

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *