Java предоставляет достаточно большой набор операторов для манипулирования данными. Их можно разделить на следующие группы:


Основные операторы в Java

  • Арифметические операторы
  • Реляционные операторы
  • Побитовые операторы
  • Логические операторы
  • Операторы присвоения
  • Другие операторы

Арифметические операторы

Таблица с примерами:

В примерах будет использовано следующее значение:

  • Переменная А = 10
  • Переменная В = 20
Оператор Описание Пример
+ (Сложение) Складывает полученные значения. А + В = 30
— (Вычитание) Вычитает полученные значения. А — В = -10
* (Умножение) Умножает полученные значения. А * В = 200
/ (Деление) Разделяет левый операнд правым операндом. В / А = 2
% (Модуль) Разделяет левый операнд с помощью правого операнда и возвращает остаток. В % А = 0
++ (Инкремент) Увеличивает значение операнда на 1. В++;  B = 21
— — (Декремент) Уменьшает значение операнда на 1. А- -;  A = 9

Пример:

Результат выполнения:

Реляционные операторы

В Java есть реляционные операторы или операторы  сравнения.

В примерах будет использовано следующее значение:

  • Переменная А = 10
  • Переменная В = 20
Оператор Описание Пример
== (равно) Сравнивает значение двух операндов, если оно равно, тогда true иначе false (A == B) false
!= (неравно) Сравнивает значение двух операндов, если оно НЕравно, тогда true, иначе false (A != B) true
> (больше чем) Если значение левого операнда больше чем правого тогда true, иначе false (A > B) false
< (меньше чем) Если значение левого операнда меньше чем правого true, иначе false (A < B) true
>= (больше или равно) Если значение левого операнда больше или равно правому тогда true, иначе false (A >= B) false
<= (меньше или равно) Если значение левого операнда меньше или равно правому тогда true, иначе false (A <= B) true

Пример:

Результат выполнения:

Побитовые операторы

В Java есть несколько побитовых операторов, которые могут работать с типами int, long, short, char и byte.

Побитовый оператор работает с битами и выполнением побитовых операций. Например, если 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 (И)) Бинарный оператор AND копирует бит в результат, если он существует в обоих операндах. (A & B) даст 12, который является 0000 1100
| (побитовое OR (ИЛИ)) Бинарный оператор OR копирует бит, если он существует в любом из операндов. (A | B) даст 61 который равен 0011 1101
^ (побитовое XOR (исключающее ИЛИ)) Бинарный оператор 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.

Оператор Описание Пример
 && (AND(И)) Называется логический оператор AND(И). Если оба операнда не равны 0, тогда true (A && B) — значение false
|| (OR(ИЛИ)) Называется логический оператор OR(ИЛИ). Если любой из двух операндов не равен нулю, то условие становится true (A || B) — значение true
? (NOT(НЕ)) Называется логический оператор NOT(НЕ). меняет логическое состояние своего операнда. !(A && B) — значение true

Таблица истинности

A B A | B A & B A ^ B !A
false false false false false true
true false true false true false
false true true false true true
true true true true false false


Пример:

Результат выполнения:

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

В Java существуют следующие операторы присвоения.

Оператор Описание Пример
= Простой оператор присвоения. Присваевает значения из правых операндов в левый операнд. C = A + B;  Результат словжения А и В будет присвоен операнду С.
+= Оператор ADD(Сложения и присвоения). Скалдывает правый операнд в левый операнд и присваивает результат левому операнду. C -= A эквивалентно C = C – A
-= Оператор SUBTRACT(Вычитания и присвоения). Вычитает правый операнд из левого и присваивает результат левому операнду. C *= A эквивалентно C = C * A
*= Оператор MULTIPLY (Умножение и и присвоения). Умножает правый операнд на левый операнд и присваивает результат левому операнду. C *= A эквивалентно C = C * A
/= Оператор DIVIDE(Деление и присвоение). Делит правый операнд на левый операнд и присваивает результат левому операнду. 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

Пример:

Результат выполнения:

Другие операторы

Условный оператор ( ? : )

Условный оператор ( ? : ) так де известный как тернарный оператор. Оператор состоит из трёх операндов и в качестве суловия использует логическое выражение. Основная цель оператора — решить какое значение будет присвоено переменной.

Синтаксис:

Пример:


Результат выполнения:

Оператор instanceof

Проверяет, является ли объект определенного типа (типа класса или типа интерфейса) и используется только для переменных ссылочного объекта. Оператор instanceof записывается в виде:

Если переменная ссылочного объекта в левой части оператора проходит проверку для класса/типа интерфейса на правой стороне, результатом будет значение true. Ниже приведен пример и описание оператора instanceof:

Результат выполнения:

Этот оператор все равно вернет true, если сравниваемый объект — это присвоение, совместимое с типом справа. Ниже приведен еще один пример

Результат выполнения:

Приоритет операторов в Java

Приоритет оператора определяет группировку терминов в выражении. Это влияет на оценку выражения. Некоторые операторы имеют более высокий приоритет, чем другие; например, оператор умножения имеет более высокий приоритет, чем оператор сложения —

Например, x = 7 + 3 * 2; здесь x назначается 13, а не 20, потому что оператор * имеет более высокий приоритет, чем +, поэтому он сначала умножается на 3 * 2, а затем добавляется в 7.

Здесь операторы с наивысшим приоритетом появляются в верхней части таблицы, а нижние — внизу. Внутри выражения сначала будут оцениваться операторы с более высоким приоритетом.

Категория Оператор Ассоциативность
Постфикс () [] . (точка) Слева направо
Унарный ++ — — ! ~ Справа налево
Мультипликативный * / % Слева направо
Аддитивный + — Слева направо
Сдвиг >> >>> << Слева направо
Реляционный > >= < <= Слева направо
Равенство == != Слева направо
Побитовое «И» («AND») & Слева направо
Побитовое исключающее «ИЛИ» («XOR») ^ Слева направо
Побитовое «ИЛИ» («OR») | Слева направо
Логическое «И» («AND») && Слева направо
Логическое «ИЛИ» («OR») || Слева направо
Условный ?: Справа налево
Присваивание = += -= *= /= %= >>= <<= &= ^= |= Справа налево
Запятая , Слева направо

One thought on “Основные операторы в Java”

  1. спасибо за статью! никак не могу разобраться с операторами х++ и ++х есть ли сайте урок с примерами?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

17 + 6 =