Видео: Введение в Java. Урок №3 - операторы и приоритеты операций в Java 2024
Важно знать, как Java интерпретирует символы, используемые для выполнения определенных операций, и в каком порядке они интерпретируют их. В противном случае вы можете написать приложение с одним результатом и получить совершенно другой результат. Всякий раз, когда вы сомневаетесь в том, как Java будет интерпретировать используемый вами символ, вы можете положиться на информацию в этой таблице, чтобы помочь вам.
Приоритет | Операторы | Описание | Ассоциативность |
---|---|---|---|
1 | [] | Индекс массива, используемый для указания того, к какому элементу массива нужно обращаться. | Влево |
1 | () | Вызов метода или группировка. Группировка особенно важна в , что она изменяет обычные правила взаимодействия с операторами, , такие как выполнение сложения перед умножением. | Left |
1 | . | Доступ к члену, используемый для взаимодействия с членом объекта. | Влево |
2 | ++ | Приращение префикса или постфикса. Добавляет значение 1 к переменной
. |
Вправо |
2 | - | Префикс или постфикс декремент. Удаляет значение 1 из переменной
. |
Вправо |
2 | +
- |
Унарный плюс или минус. Устанавливает знак переменной. Оператор плюс
никогда не используется, поскольку по умолчанию переменные положительны. Оператор минус отрицает переменную. |
Вправо |
2 | ~ | Унарный побитовый оператор Not заменяет биты переменной. В
другими словами, он делает переменную противоположной тому, чем она была. Например, для 5 (двоичный 00000101) становится -6 (двоичный 11111010). |
Right |
2 | ! | Оператор Unary Boolean Not используется в булевых оценках до
превращает true в false и false в true. |
Вправо |
2 | (type) | Выполняет бросок, чтобы изменить тип переменной в другой тип
. |
Вправо |
2 | new | Создает новый объект на основе предоставленного класса. | Вправо |
3 | *
/ % |
Выполняет операции умножения, деления и останова math
. |
Влево |
4 | +
- |
Выполняет математические операции сложения и вычитания. | Влево |
4 | + | Объединение двух строк для создания одной строки. | Влево |
5 | <<< 999 >>> >>>>
Операторы побитового сдвига, которые редко используются для разработки приложений . Обсуждение этих операторов выходит за рамки |
этой книги.
Влево 6 |
<< <= |
Выполняет логическое сравнение двух значений меньше или меньше | меньше и равно.
Влево |
6 >> >> =
Выполняет логическое сравнение двух значений более чем |
или больше и равно. |
Влево | 6
instanceof |
Проверяет, является ли объект экземпляром определенного класса
. |
Влево |
7 | == | Определяет, являются ли два значения точно равными.
Left |
7 |
! = | Определяет, не равны ли два значения. | Влево | 8 |
& | Побитовая операция И, которая объединяет два значения. Обсуждение | этого оператора выходит за рамки этой книги. | Влево |
8 | & | Логическая операция И, которая объединяет результаты двух логических оценок
. Во многих случаях оба условия A и условие B должны быть |
истинными, чтобы вся оценка была верной. |
Влево | 9 | ^
Побитовая исключительная или (XOR) операция, которая объединяет два значения. Обсуждение этого оператора выходит за рамки этой книги |
. |
Влево | 9 | ^
Логическая операция XOR, которая объединяет результат двух логических оценок . Чтобы быть верным, условие A или условие B |
должно быть истинным, но не тем и другим. |
Влево | 10 | |
Побитовая операция ИЛИ, которая объединяет два значения. Обсуждение этого оператора выходит за рамки этой книги. |
Влево |
10 | | | Логическая операция ИЛИ, которая объединяет результат двух логических оценок
. Чтобы быть верным, условие A или условие B, или |
оба должны быть истинными. |
Влево | 11 | &&
Логическая операция И, которая используется как часть логического выражения для определения значения истинности обоих выражений. Оба |
должны быть истинными, чтобы все выражение было истинным. |
Влево | 12 | ||
Логическая операция ИЛИ, которая используется как часть логического выражения , чтобы определить значение истинности обоих выражений. Либо |
, либо оба должны быть истинными, чтобы все выражение было истинным. |
Left | 13 | ?:
Выполняет условную оценку. Подробнее см. В разделе «Использование Реляционных и условных операторов» этой главы |
. |
Вправо | 14 | =
Назначает указанное значение переменной. Вправо |
14 |
* = / = + = - =% = | <> = >>> = | & = ^ = | = | Объединенная операция и назначение. Java выполняет запрошенную операцию |
, такую как добавление, а затем присваивает результат переменной | .
Комбинированные операторы присваивания включают в себя ряд операторов , которые выполняют побитовые операции. Обсуждение этих операторов |
выходит за рамки этой книги.
Right
Столбец «Приоритет», вероятно, является самым важным, поскольку он определяет строгий порядок, в котором Java интерпретирует символы, отображаемые в столбце «Операторы». Оператор, выше в таблице, всегда имеет приоритет над оператором, который ниже в таблице. Также важна колонка «Ассоциативность». В большинстве случаев Java интерпретирует символы слева направо, что означает, что символы имеют левую ассоциацию . |
Однако в некоторых случаях оператор работает справа налево. |
Например, при использовании оператора =, Java сначала интерпретирует информацию справа от оператора, а затем присваивает результат операнду слева от оператора. Таким образом, поток идет справа налево, что делает ассоциативный ассоциативный оператор.
Ассоциативность - это математический термин, определяющий взаимодействие элементов в двоичной операции. В большинстве случаев Java использует левую ассоциативность. Он начинается с левой стороны группы операторов и работает в правой части.