Освоение операторов Java: типы, синтаксис и практические примеры
Операторы в Java
В этом уроке вы узнаете о различных типах операторов в Java, их синтаксисе и использовании на примерах.
Операторы — это символы, выполняющие операции над переменными и значениями. Например, + — оператор сложения, а * — оператор умножения.
Операторы в Java можно классифицировать на 6 типов:
- Арифметические операторы
- Операторы присваивания
- Операторы сравнения (реляционные)
- Логические операторы
- Унарные операторы
- Побитовые операторы
1. Арифметические операторы Java
Арифметические операторы выполняют математические операции над переменными и данными. Например,
a + b;
Здесь оператор + складывает две переменные a и b. Аналогично существуют и другие арифметические операторы.
| Оператор | Операция |
|---|---|
+ | Сложение |
- | Вычитание |
* | Умножение |
/ | Деление |
% | Операция по модулю (остаток от деления) |
Пример 1: Арифметические операторы
class Main {
public static void main(String[] args) {
// объявляем переменные
int a = 12, b = 5;
// оператор сложения
System.out.println("a + b = " + (a + b));
// оператор вычитания
System.out.println("a - b = " + (a - b));
// оператор умножения
System.out.println("a * b = " + (a * b));
// оператор деления
System.out.println("a / b = " + (a / b));
// оператор модуля
System.out.println("a % b = " + (a % b));
}
}
Вывод
a + b = 17 a - b = 7 a * b = 60 a / b = 2 a % b = 2
В примере использованы операторы +, -, * для вычисления сложения, вычитания и умножения.
Оператор деления /
Обратите внимание на операцию a / b. Оператор / — это деление.
Если использовать оператор деления с двумя целыми числами, результат тоже будет целым. Если один из операндов — число с плавающей точкой, результат тоже будет с плавающей точкой.
В Java: (9 / 2) = 4
(9.0 / 2) = 4.5
(9 / 2.0) = 4.5
(9.0 / 2.0) = 4.5
Оператор модуля %
Оператор % вычисляет остаток. Когда a = 7 делится на b = 4, остаток равен 3.
Примечание: Оператор % 주로 используется с целыми числами.
2. Операторы присваивания в Java
Операторы присваивания используются для присваивания значений переменным. Например,
int age;
age = 5;
Здесь = — оператор присваивания. Он присваивает значение справа переменной слева. То есть 5 присваивается переменной age.
Рассмотрим другие операторы присваивания в Java.
| Оператор | Пример | Эквивалентно |
|---|---|---|
= | a = b; | 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; |
Пример 2: Операторы присваивания
class Main {
public static void main(String[] args) {
// создаем переменные
int a = 4;
int var;
// присваивание с =
var = a;
System.out.println("var с =: " + var);
// присваивание с +=
var += a;
System.out.println("var с +=: " + var);
// присваивание с *=
var *= a;
System.out.println("var с *=: " + var);
}
}
Вывод
var с =: 4 var с +=: 8 var с *=: 32
3. Операторы сравнения (реляционные) в Java
Операторы сравнения проверяют отношение между двумя операндами. Например,
// проверка, меньше ли a чем b
a < b;
Здесь < — оператор сравнения. Он проверяет, меньше ли a, чем b.
Возвращает true или false.
| Оператор | Описание | Пример |
|---|---|---|
== | Равно | 3 == 5 возвращает false |
!= | Не равно | 3 != 5 возвращает true |
> | Больше | 3 > 5 возвращает false |
< | Меньше | 3 < 5 возвращает true |
>= | Больше или равно | 3 >= 5 возвращает false |
<= | Меньше или равно | 3 <= 5 возвращает true |
Пример 3: Операторы сравнения
class Main {
public static void main(String[] args) {
// создаем переменные
int a = 7, b = 11;
// значения a и b
System.out.println("a = " + a + ", b = " + b);
// ==
System.out.println(a == b); // false
// !=
System.out.println(a != b); // true
// >
System.out.println(a > b); // false
// <
System.out.println(a < b); // true
// >=
System.out.println(a >= b); // false
// <=
System.out.println(a <= b); // true
}
}
Примечание: Операторы сравнения используются в принятии решений и циклах.
4. Логические операторы в Java
Логические операторы проверяют, является ли выражение true или false. Используются в принятии решений.
| Оператор | Пример | Значение |
|---|---|---|
&& (Логическое И) | expression1 && expression2 | true только если оба expression1 и expression2 — true |
|| (Логическое ИЛИ) | expression1 || expression2 | true если хотя бы один из expression1 или expression2 — true |
! (Логическое НЕ) | !expression | true если expression — false и наоборот |
Пример 4: Логические операторы
class Main {
public static void main(String[] args) {
// && оператор
System.out.println((5 > 3) && (8 > 5)); // true
System.out.println((5 > 3) && (8 < 5)); // false
// || оператор
System.out.println((5 < 3) || (8 > 5)); // true
System.out.println((5 > 3) || (8 < 5)); // true
System.out.println((5 < 3) || (8 < 5)); // false
// ! оператор
System.out.println(!(5 == 3)); // true
System.out.println(!(5 > 3)); // false
}
}
Разбор программы
(5 > 3) && (8 > 5)возвращаетtrue, потому что оба выраженияtrue.(5 > 3) && (8 < 5)возвращаетfalse, потому что(8 < 5)—false.(5 < 3) || (8 > 5)возвращаетtrue, потому что(8 > 5)—true.(5 > 3) || (8 > 5)возвращаетtrue, потому что(5 > 3)—true.(5 < 3) || (8 < 5)возвращаетfalse, потому что оба выраженияfalse.!(5 == 3)возвращает true, потому что5 == 3—false.!(5 > 3)возвращает false, потому что5 > 3—true.
5. Унарные операторы в Java
Унарные операторы работают только с одним операндом. Например, ++ — унарный оператор, увеличивающий значение переменной на 1. То есть ++5 вернет 6.
Различные виды унарных операторов:
| Оператор | Значение |
|---|---|
+ | Унарный плюс: не обязателен, так как числа положительны без него |
- | Унарный минус: инвертирует знак выражения |
++ | Инкремент: увеличивает значение на 1 |
-- | Декремент: уменьшает значение на 1 |
! | Логическое отрицание: инвертирует значение булева |
Операторы инкремента и декремента
Java предоставляет операторы инкремента и декремента: ++ и --. ++ увеличивает значение операнда на 1, а -- уменьшает на 1. Например,
int num = 5;
// увеличить num на 1
++num;
Здесь значение num увеличивается до 6 из начального 5.
Пример 5: Операторы инкремента и декремента
class Main {
public static void main(String[] args) {
// объявляем переменные
int a = 12, b = 12;
int result1, result2;
// исходное значение
System.out.println("Значение a: " + a);
// инкремент
result1 = ++a;
System.out.println("После инкремента: " + result1);
System.out.println("Значение b: " + b);
// декремент
result2 = --b;
System.out.println("После декремента: " + result2);
}
}
Вывод
Значение a: 12 После инкремента: 13 Значение b: 12 После декремента: 11
В программе используются операторы ++ и -- как префиксы (++a, --b). Их также можно использовать как постфиксы (a++, b++).
Существует небольшая разница между префиксной и постфиксной формой.
Подробнее об этих операторах: Инкремент и декремент в Java.
6. Побитовые операторы в Java
Побитовые операторы в Java выполняют операции над отдельными битами. Например,
Побитовое дополнение числа 35
35 = 00100011 (в двоичном)
~ 00100011
________
11011100 = 220 (в десятичном)
Здесь ~ — побитовый оператор. Он инвертирует значение каждого бита (0 в 1 и 1 в 0).
Различные побитовые операторы в Java:
| Оператор | Описание |
|---|---|
~ | Побитовое дополнение (NOT) |
<< | Левый сдвиг |
>> | Правый сдвиг |
>>> | Беззнаковый правый сдвиг |
& | Побитовое И (AND) |
^ | Побитовое исключающее ИЛИ (XOR) |
Эти операторы редко используются в обычном Java-коде. Подробнее: Побитовые и сдвиговые операторы в Java.
Другие операторы
Помимо перечисленных, в Java есть дополнительные операторы.
Оператор instanceof в Java
Оператор instanceof проверяет, является ли объект экземпляром определенного класса. Например,
class Main {
public static void main(String[] args) {
String str = "Programiz";
boolean result;
// проверяет, является ли str экземпляром класса String
result = str instanceof String;
System.out.println("Является ли str объектом String? " + result);
}
}
Вывод
Является ли str объектом String? true
Здесь str — экземпляр класса String. Поэтому instanceof возвращает true. Подробнее: Java instanceof.
Тернарный оператор в Java
Тернарный оператор (условный оператор) — сокращенная форма оператора if-then-else. Например,
variable = Expression ? expression1 : expression2
Как это работает:
- Если
Expression—true,expression1присваивается variable. - Если
Expression—false,expression2присваивается variable.
Пример тернарного оператора:
class Java {
public static void main(String[] args) {
int februaryDays = 29;
String result;
// тернарный оператор
result = (februaryDays == 28) ? "Не високосный год" : "Високосный год";
System.out.println(result);
}
}
Вывод
Високосный год
В примере тернарный оператор проверяет, является ли год високосным. Подробнее: Тернарный оператор в Java.
Теперь, когда вы знаете об операторах Java, пора узнать о порядке их вычисления. Подробнее: Приоритет операторов в Java.
java
- Операторы C# — исчерпывающее руководство по операторам в C#
- Освоение операторов C++: полное руководство с практическими примерами
- Операторы в C: исчерпывающее руководство
- Мастерство операторов Python: Полное руководство
- Комментарии в Java: типы, использование и лучшие практики
- Освоение улучшенного цикла for в Java: синтаксис, примеры и лучшие практики
- Освоение строк в Java: создание, методы и лучшие практики
- Интерфейсы в Java: концепции, реализация и лучшие практики
- Try-with-resources в Java: автоматическое управление ресурсами
- Аннотации в Java: типы, размещение и практические примеры