В языке программирования Java операторы играют важную роль в выполнении различных операций над данными. В этой статье мы рассмотрим основные типы операторов, их синтаксис и примеры использования.
1. Операторы присваивания
Операторы присваивания используются для присвоения значений переменным.
Пример:
int a = 10; // Присваивание значения 10 переменной a
int b = a; // Присваивание значения переменной a переменной b
2. Арифметические операторы
Арифметические операторы выполняют математические операции.
Оператор | Описание | Пример |
---|---|---|
+ | Сложение | a + b |
- | Вычитание | a - b |
* | Умножение | a * b |
/ | Деление | a / b |
% | Остаток от деления | a % b |
Пример:
int a = 10;
int b = 5;
int sum = a + b; // 15
int difference = a - b; // 5
int product = a * b; // 50
int quotient = a / b; // 2
int remainder = a % b; // 0
3. Унарные операторы
Унарные операторы используются для выполнения операций над одним операндом.
Оператор | Описание | Пример |
---|---|---|
+ | Унарный плюс (не меняет знак) | +a |
- | Унарный минус (меняет знак) | -a |
++ | Инкремент | a++ |
-- | Декремент | a-- |
! | Логическое отрицание | !flag |
Пример:
int a = 10;
int b = -a; // -10
a++; // 11
a--; // 10
boolean flag = true;
flag = !flag; // false
4. Операторы сравнения
Операторы сравнения используются для сравнения двух значений.
Оператор | Описание | Пример |
---|---|---|
== | Равно | a == b |
!= | Не равно | a != b |
> | Больше | a > b |
< | Меньше | a < b |
>= | Больше или равно | a >= b |
<= | Меньше или равно | a <= b |
Пример:
int a = 10;
int b = 20;
boolean result = (a == b); // false
result = (a != b); // true
result = (a > b); // false
result = (a < b); // true
result = (a >= b); // false
result = (a <= b); // true
5. Логические операторы
Логические операторы используются для выполнения логических операций.
Оператор | Описание | Пример |
---|---|---|
&& | Логическое И | a && b |
` | ` | |
! | Логическое НЕ | !a |
Пример:
boolean a = true;
boolean b = false;
boolean result = a && b; // false
result = a || b; // true
result = !a; // false
6. Тернарный оператор
Тернарный оператор используется для выполнения условных операций.
Синтаксис:
result = (условие) ? выражение1 : выражение2;
Пример:
int a = 10;
int b = 20;
int max = (a > b) ? a : b; // 20
7. Оператор instanceof
Оператор instanceof
используется для проверки, является ли объект экземпляром определенного класса.
Пример:
String str = "Hello";
boolean result = str instanceof String; // true
8. Побитовые операторы
Побитовые операторы выполняют операции на уровне отдельных битов.
Оператор | Описание | Пример |
---|---|---|
& | Побитовое И | a & b |
` | ` | Побитовое ИЛИ |
^ | Побитовое исключающее ИЛИ | a ^ b |
~ | Побитовое НЕ | ~a |
<< | Сдвиг влево | a << b |
>> | Сдвиг вправо | a >> b |
>>> | Беззнаковый сдвиг вправо | a >>> b |
Пример:
int a = 5; // 0101 в двоичной системе
int b = 3; // 0011 в двоичной системе
int result = a & b; // 0001
result = a | b; // 0111
result = a ^ b; // 0110
result = ~a; // 1010 (в дополнение до 2)
result = a << 1; // 1010
result = a >> 1; // 0010
result = a >>> 1; // 0010
9. Составные операторы присваивания
Составные операторы присваивания комбинируют арифметические и битовые операторы с оператором присваивания.
Оператор | Эквивалент | Пример |
---|---|---|
+= | a = a + b | a += b |
-= | a = a - b | a -= b |
*= | a = a * b | a *= b |
/= | a = a / b | a /= b |
%= | a = a % b | a %= b |
&= | a = a & b | a &= b |
` | =` | `a = a |
^= | a = a ^ b | a ^= b |
<<= | a = a << b | a <<= b |
>>= | a = a >> b | a >>= b |
>>>= | a = a >>> b | a >>>= b |
Пример:
int a = 10;
a += 5; // 15
a -= 2; // 13
a *= 3; // 39
a /= 3; // 13
a %= 4; // 1
a &= 1; // 0
a |= 2; // 2
a ^= 3; // 1
a <<= 2; // 4
a >>= 1; // 2
a >>>= 1; // 1
10. Приоритет операторов
Приоритет операторов определяет порядок выполнения операций в выражениях. Операторы с более высоким приоритетом выполняются раньше операторов с более низким приоритетом.
Таблица приоритетов:
Оператор | Описание | Приоритет |
---|---|---|
() | Скобки | 1 |
++ , -- | Унарные инкремент и декремент | 2 |
+ , - | Унарные плюс и минус | 3 |
* , / , % | Умножение, деление, остаток | 4 |
+ , - | Сложение, вычитание | 5 |
<< , >> , >>> | Побитовые сдвиги | 6 |
< , <= , > , >= | Операторы сравнения | 7 |
== , != | Операторы равенства и неравенства | 8 |
& | Побитовое И | 9 |
^ | Побитовое исключающее ИЛИ | 10 |
Побитовое ИЛИ | ||
&& | Логическое И | 12 |
? : | Тернарный оператор | 14 |
= , += , -= , *= , /= , %= , &= , ` | =, ^=, <<=, >>=, >>>=` | Операторы присваивания |
Эти примеры и описания помогут вам лучше понять, как использовать операторы в Java. Независимо от того, являетесь ли вы новичком или опытным разработчиком, знание операторов и их приоритетов поможет вам писать более эффективный и читаемый код.