Основные операторы Java: полное руководство
Java предоставляет богатый набор операторов для манипуляции переменных. Группы:
- Арифметические
- Отношения (сравнения)
- Побитовые
- Логические
- Присваивания
- Прочие
Арифметические операторы
Пусть A=10, B=20.
| Оператор | Описание | Пример |
|---|---|---|
| + | Сложение | A+B=30 |
| - | Вычитание | A-B=-10 |
| * | Умножение | A*B=200 |
| / | Деление | B/A=2 |
| % | Остаток от деления | B%A=0 |
| ++ | Инкремент | B++=21 |
| -- | Декремент | B--=19 |
Операторы отношения
| Оператор | Описание | Пример |
|---|---|---|
| == | Равно | (A==B) false |
| != | Не равно | (A!=B) true |
| > | Больше | (A>B) false |
| < | Меньше | (A |
| >= | Больше или равно | (A>=B) false |
| <= | Меньше или равно | (A<=B) true |
Побитовые операторы
Работают с битами целых типов (long, int, short, char, byte). Пример: a=60 (0011 1100), b=13 (0000 1101).
| Оператор | Описание | Пример |
|---|---|---|
| & | Побитовое И | (A&B)=12 (0000 1100) |
| | | Побитовое ИЛИ | (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.
| Оператор | Описание | Пример |
|---|---|---|
| && | Логическое И | (A&&B) false |
| || | Логическое ИЛИ | (A||B) true |
| ! | Логическое НЕ | !(A&&B) true |
Операторы присваивания
| Оператор | Описание | Пример |
|---|---|---|
| = | Простое присваивание | C=A+B |
| += | Сложение с присваиванием | 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 |
| &= | Побитовое И с присваиванием | C&=2 → C=C&2 |
| ^= | XOR с присваиванием | C^=2 → C=C^2 |
| |= | Побитовое ИЛИ с присваиванием | C|=2 → C=C|2 |
Прочие операторы
Условный (тернарный) оператор ? :
variable = (expression) ? valueIfTrue : valueIfFalse
int a=10, b = (a==1)?20:30; // b=30
b = (a==10)?20:30; // b=20
Оператор instanceof
Проверяет, является ли объект экземпляром класса/интерфейса.
(objectRef) instanceof (Class/Interface)
String name = "James";
boolean result = name instanceof String; // true
class Vehicle {}
class Car extends Vehicle {}
Vehicle v = new Car();
v instanceof Car; // true
Приоритет операторов
Операторы с высшим приоритетом вычисляются первыми. Таблица (сверху вниз — убывание приоритета):
| Категория | Операторы | Ассоциативность |
|---|---|---|
| Постфикс | expr++ expr-- | ← |
| Унарные | ++expr --expr +expr -expr ~ ! | → |
| Мультипликативные | * / % | ← |
| Аддитивные | + - | ← |
| Сдвиг | << >> >> | ← |
| Отношения | < > <= >= instanceof | ← |
| Равенство | == != | ← |
| Побитовое И | & | ← |
| Побитовое XOR | ^ | ← |
| Побитовое ИЛИ | | | ← |
| Логическое И | && | ← |
| Логическое ИЛИ | || | ← |
| Условный | ?: | → |
| Присваивание | = += -= *= /= %= ^= |= <<= >>= >>>= | → |
Далее: управление циклами.
java
- Освоение операторов Java: типы, синтаксис и практические примеры
- Ввод и вывод в Java: печать, чтение и форматирование данных
- Комментарии в Java: типы, использование и лучшие практики
- Освоение улучшенного цикла for в Java: синтаксис, примеры и лучшие практики
- Освоение строк в Java: создание, методы и лучшие практики
- Интерфейсы в Java: концепции, реализация и лучшие практики
- Анонимные внутренние классы в Java: определение, синтаксис и практические примеры
- Try-with-resources в Java: автоматическое управление ресурсами
- Аннотации в Java: типы, размещение и практические примеры
- Assertions в Java: практическое руководство по обнаружению багов и обеспечению надежности кода