Java: Приоритет операций
В языке Java используется множество операций, каждая из которых выполняет определенную функцию. Операторы различаются по приоритету, который определяет порядок их выполнения в выражении. Например, умножение и деление, как и в математике, имеют более высокий приоритет, чем сложение и вычитание. Разделители (скобки, массивные индексы) обладают наивысшим приоритетом, за ними следуют унарные операции, а оператор присваивания имеет самый низкий приоритет.
Операторы в Java можно классифицировать на несколько типов: арифметические, логические, побитовые, сравнения и операторы присваивания. В таблице ниже представлен их порядок приоритета. Операторы, находящиеся в одной строке, имеют одинаковый приоритет. Чем ниже оператор в таблице, тем он выполняется позже в выражении:
[] | () | . | ||||
++ | -- | ~ | ! | +(унарная) | - (унарная) | (приведение типов) |
* | / | % | ||||
+ | - | |||||
>> | >>> | << | ||||
> | >= | < | <= | instanceof | ||
== | != | |||||
& | ||||||
^ |
|
|
|
|
| |
| | ||||||
&& | ||||||
|| | ||||||
? : | ||||||
-> | ||||||
= |
Пример влияния приоритета операторов
Рассмотрим два выражения:
int a = 5 + 3 * 2; // результат: 11, так как умножение выполняется первым
int b = (5 + 3) * 2; // результат: 16, так как сложение выполняется первым из-за скобок
Как видно из примера, использование круглых скобок позволяет изменить порядок выполнения операций, что может существенно влиять на итоговый результат.
Пример использования логических операторов
boolean result = (5 > 3) && (10 > 8); // true, так как оба условия верны
boolean result2 = (5 > 3) || (10 < 8); // true, так как одно из условий верно
Логические операторы &&
и ||
подчиняются приоритету: &&
выполняется раньше, чем ||
. Однако лучше использовать скобки для повышения читаемости.
Презентацию с видео можно скачать на Patreon.

Зарегистрируйтесь или войдите, чтобы иметь возможность оставить комментарий.