Таблица приоритетов операторов
Как правило все операторы выполняются слева направо, но имеется такое понятие как приоритет операторов. Если следующий оператор имеет более высокий приоритет, то в начале выполнится оператор с более высоким приоритетом. Например, умножение имеет более высокий приоритет и 4 + 5 * 2 равно 14, но если мы поставим круглые скобки то ( 4 + 5 ) * 2 равно 18.
| Символьное обозначение операции | Порядок выполнения |
| Высший приоритет | |
| () [] . ~ -> | Слева направо |
| ! &(ун) *(ун) -(ун) ~(ун) ++ -- @(ун) | Справа налево |
| % * / | Слева направо |
| + - @ | Слева направо |
| << >> | Слева направо |
| < > <= >= %< %> %<= %>= | Слева направо |
| != == %== %!= | Слева направо |
| & | Слева направо |
| ^ | Слева направо |
| | | Слева направо |
| && | Слева направо |
| || | Слева направо |
| ?(,,) | Слева направо |
| = += -= *= /= %= &= |= ^= >>= <<= as | Справа налево |
| Низший приоритет | |
Круглые скобки () изменяют порядок вычисления частей выражения. Квадратные скобки применяются для взятия элементов массива или работы с индексными элементами, например символ строки. Унарные операторы это !, &, *, -, ~, ++, --. Все унарные операторы, за исключением инкремента имеют только префиксную запись. Операции инкремента ++ и -- могут быть как префиксными, так и постфиксными. Операторы &, *, -, @, ~ могут быть как бинарными, так и унарными. Остальные операторы являются бинарными.