Операции присваивания и приоритет операций

Последнее обновление: 28.02.2023

В завершении рассмотрим операции присваивания, которые в основном представляют комбинацию простого присваивания с другими операциями:

  • =

    просто приравнивает одно значение другому: c=b;

  • +=

    c+=b; (переменной c присваивается результат сложения c и b)

  • -=

    c-=b; (переменной c присваивается результат вычитания b из c)

  • *=

    c*=b; (переменной c присваивается результат произведения c и b)

  • /=

    c/=b; (переменной c присваивается результат деления c на b)

  • ~/=

    c~/=b; (переменной c присваивается результат целочисленного деления c на b)

  • %=

    c%=b; (переменной c присваивается остаток от деления c на b)

  • &=

    c&=b; (переменной c присваивается значение c&b)

  • |=

    c|=b; (переменной c присваивается значение c|b)

  • ^=

    c^=b; (переменной c присваивается значение c^b)

  • <<=

    c<<=b; (переменной c присваивается значение c<<b)

  • >>=

    c>>=b; (переменной c присваивается значение c>>b)

  • ??=

    c ??= b; (если переменная c имеет значение null, то ей присваивается значение переменной b; если переменная c НЕ равна null, то она сохраняет свое значение)

Примеры операций:

int a = 5;
a += 10;        // 15
a -= 3;         // 12
a *= 2;         // 24
a ~/= 6;         // 4
a <<= 4;      // 64
a >>= 2;      // 16
print(a);	// 16

Приоритет операций

При работе с операциями важно понимать их приоритет, который можно описать следующей таблицей:

expr++ expr--

-expr !expr ~expr ++expr --expr

* / % ~/

+ -

<< >> >>>

&

^

|

< > <= >= as is is!

== !=

&&

||

??

? : (тернарный оператор)

.. (spread-оператор)

= += -= *= /= %= ~/= &= ^= |= <<= >>= (операторы присваивания)

Чем выше оператор в этой таблице, тем больше его приоритет. При этом скобки повышают приоритет операции, используемой в выражении.

Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850