Операторы
Арифметические операторы
Арифметические операторы — используются в математических выражениях таким же образом, как они используются в алгебре. Предположим, целая переменная A равна 10, а переменная B равна 20. В следующей таблице перечислены арифметические операторы в Java:
+
Складывает значения по обе стороны от оператора
A + B даст 30
-
Вычитает правый операнд из левого операнда
A - B даст -10
*
Умножает значения по обе стороны от оператора
A * B даст 200
/
Оператор деления делит левый операнд на правый операнд
B / A даст 2
%
Делит левый операнд на правый операнд и возвращает остаток
B % A даст 0
++
Инкремент - увеличивает значение операнда на 1
B++ даст 21
--
Декремент - уменьшает значение операнда на 1
B-- даст 19
Операторы сравнения
Есть следующие операторы сравнения, поддерживаемые на языке Java. Предположим, переменная A равна 10, а переменная B равна 20. В следующей таблице перечислены реляционные операторы или операторы сравнения в Java:
==
Проверяет, равны или нет значения двух операндов, если да, то условие становится истинным
(A == B) — не верны
!=
Проверяет, равны или нет значения двух операндов, если значения не равны, то условие становится истинным
(A != B) — значение истинна
>
Проверяет, является ли значение левого операнда больше, чем значение правого операнда, если да, то условие становится истинным
(A > B) — не верны
<
Проверяет, является ли значение левого операнда меньше, чем значение правого операнда, если да, то условие становится истинным
(A < B) — значение истинна
>=
Проверяет, является ли значение левого операнда больше или равно значению правого операнда, если да, то условие становится истинным
(A >= B) — значение не верны
<=
Проверяет, если значение левого операнда меньше или равно значению правого операнда, если да, то условие становится истинным
(A <= B) — значение истинна
Побитовые операторы
Java определяет несколько побитовых операторов, которые могут быть применены для целочисленных типов: int, long, short, char и byte. В Java побитовый оператор работает над битами и выполняет операцию бит за битом. Предположим, если a = 60; и b = 13; то в двоичном формате они будут следующие:
a = 0011 1100 b = 0000 1101 ----------------- a&b = 0000 1100 a|b = 0011 1101 a^b = 0011 0001 ~a = 1100 0011
Предположим целочисленные переменная A равна 60, а переменная B равна 13. В следующей таблице перечислены побитовые операторы в Java:
& (побитовое и)
Бинарный оператор AND копирует бит в результат, если он существует в обоих операндах.
(A & B) даст 12, который является 0000 1100
| (побитовое или)
Бинарный оператор OR копирует бит, если он существует в любом из операндов.
(A | B) даст 61 который равен 0011 1101
^ (побитовое логическое или)
Бинарный оператор XOR копирует бит, если он установлен в одном операнде, но не в обоих.
(A ^ B) даст 49, которая является 0011 0001
~ (побитовое дополнение)
Бинарный оператор дополнения и имеет эффект «отражения» бит.
(~ A) даст -61, которая является формой дополнением 1100 0011 в двоичной записи
<< (сдвиг влево)
Бинарный оператор сдвига влево. Значение левых операндов перемещается влево на количество бит, заданных правым операндом.
A << 2 даст 240, который 1111 0000
>> (сдвиг вправо)
Бинарный оператор сдвига вправо. Значение правых операндов перемещается вправо на количество бит, заданных левых операндом.
A >> 2 даст 15, который является 1111
>>> (нулевой сдвиг вправо)
Нулевой оператор сдвига вправо. Значение левых операндов перемещается вправо на количество бит, заданных правым операндом, а сдвинутые значения заполняются нулями.
A >>> 2 даст 15, который является 0000 1111
Логические операторы
Предположим, логическая переменная A имеет значение true, а переменная B хранит false. В следующей таблице перечислены логические операторы в Java:
&&
Называется логический оператор «И». Если оба операнда являются не равны нулю, то условие становится истинным
(A && B) — значение false
||
Называется логический оператор «ИЛИ». Если любой из двух операндов не равен нулю, то условие становится истинным
(A || B) — значение true
!
Называется логический оператор «НЕ». Использование меняет логическое состояние своего операнда. Если условие имеет значение true, то оператор логического «НЕ» будет делать false
!(A && B) — значение trueПример
Операторы присваивания
Существуют следующие операторы присваивания, поддерживаемые языком Java:
=
Простой оператор присваивания, присваивает значения из правой стороны операндов к левому операнду
C = A + B, присвоит значение A + B в C
+=
Оператор присваивания «Добавления», он присваивает левому операнду значения правого
C += A, эквивалентно C = C + A
-=
Оператор присваивания «Вычитания», он вычитает из правого операнда левый операнд
C -= A, эквивалентно C = C - A
*=
Оператор присваивания «Умножение», он умножает правый операнд на левый операнд
C * = A эквивалентно C = C * A
/=
Оператор присваивания «Деление», он делит левый операнд на правый операнд
C /= A эквивалентно C = C / A
%=
Оператор присваивания «Модуль», он принимает модуль, с помощью двух операндов и присваивает его результат левому операнду
C %= A, эквивалентно C = C % A
<<=
Оператор присваивания «Сдвиг влево»
C << = 2, это как C = C << 2
>>=
Оператор присваивания «Сдвиг вправо»
C >>= 2, это как C = C >> 2
&=
Оператор присваивания побитового «И» («AND»)
C &= 2, это как C = C & 2
^=
Оператор присваивания побитового исключающего «ИЛИ» («XOR»)
C ^= 2, это как C = C ^ 2
|=
Оператор присваивания побитового «ИЛИ» («OR»)
C |= 2, это как C = C | 2
Прочие операторы
Есть несколько других операторов, поддерживаемых языком Java.
Тернарный оператор или условный оператор (?:)
Тернарный оператор — оператор, который состоит из трех операндов и используется для оценки выражений типа boolean. Тернарный оператор в Java также известен как условный оператор. Этот. Цель тернарного оператора или условного оператора заключается в том, чтобы решить, какое значение должно быть присвоено переменной. Оператор записывается в виде:
Пример
Ниже приведен пример:
Будет получен следующий результат:
Оператор instanceof
Оператор instanceof — проверяет, является ли объект определенного типа (типа класса или типа интерфейса) и используется только для переменных ссылочного объекта. Оператор instanceof записывается в виде:
Примеры
Если переменная ссылочного объекта в левой части оператора проходит проверку для класса/типа интерфейса на правой стороне, результатом будет значение true. Ниже приведен пример и описание оператора instanceof:
Будет получен следующий результат:
Этот оператор по-прежнему будет возвращать значение true, если сравниваемый объект является совместимым с типом на право назначения. Ниже приводится еще один пример:
Будет получен следующий результат:
Приоритет операторов в Java
Приоритет операторов определяет группирование терминов в выражении. Это влияет как вычисляется выражение. Некоторые операторы имеют более высокий приоритет, чем другие; например оператор умножения имеет более высокий приоритет, чем оператор сложения:
Например, x = 7 + 3 * 2. Здесь x присваивается значение 13, не 20, потому что оператор «*» имеет более высокий приоритет, чем «+», так что сначала перемножается «3 * 2», а затем добавляется «7».
В таблице операторы с наивысшим приоритетом размещаются в верхней части, и уровень приоритета снижается к нижней части таблицы. В выражении высокий приоритет операторов в Java будет оцениваться слева направо.
Постфикс
() [] . (точка)
Слева направо
Унарный
++ - - ! ~
Справа налево
Мультипликативный
* / %
Слева направо
Аддитивный
+ -
Слева направо
Сдвиг
>> >>> <<
Слева направо
Реляционный
> >= < <=
Слева направо
Равенство
== !=
Слева направо
Побитовое «И» («AND»)
&
Слева направо
Побитовое исключающее «ИЛИ» («XOR»)
^
Слева направо
Побитовое «ИЛИ» («OR»)
|
Слева направо
Логическое «И» («AND»)
&&
Слева направо
Логическое «ИЛИ» («OR»)
||
Слева направо
Условный
?:
Справа налево
Присваивание
= += -= *= /= %= >>= <<= &= ^= |=
Справа налево
Запятая
,
Слева направо
Last updated