Условные операторы if, else и switch в Java
Условные операторы Java: if, else, else if, тернарный оператор и switch. Научимся ветвить выполнение программы в зависимости от условий.
Условный оператор выполняет блок кода только если условие истинно. Это первый шаг к программам, которые «принимают решения».
if и else
Оператор if проверяет логическое условие. Если оно true — выполняется блок в фигурных скобках, иначе — блок else (если он есть).
int temperature = 8;
if (temperature > 15) {
System.out.println("Тепло");
} else {
System.out.println("Холодно");
}
Вывод:
Холодно
Цепочка else if
Когда вариантов больше двух, их объединяют в цепочку else if. Java проверяет условия по порядку и выполняет первый подошедший блок.
int score = 78;
if (score >= 90) {
System.out.println("Отлично");
} else if (score >= 70) {
System.out.println("Хорошо");
} else if (score >= 50) {
System.out.println("Удовлетворительно");
} else {
System.out.println("Неудовлетворительно");
}
Вывод:
Хорошо
Логические операторы
Условия можно комбинировать: && (И — оба истинны), || (ИЛИ — хотя бы одно), ! (НЕ — отрицание).
int age = 20;
boolean hasTicket = true;
if (age >= 18 && hasTicket) {
System.out.println("Проходите");
}
Вывод:
Проходите
Тернарный оператор
Для короткого выбора из двух значений есть компактная запись условие ? значение1 : значение2.
int n = 7;
String parity = (n % 2 == 0) ? "чётное" : "нечётное";
System.out.println(parity);
Вывод:
нечётное
Оператор switch
Когда нужно сравнить одну переменную с множеством конкретных значений, switch читается лучше длинной цепочки else if. Не забывайте break, иначе выполнение «провалится» в следующую ветку.
int day = 3;
switch (day) {
case 1:
System.out.println("Понедельник");
break;
case 3:
System.out.println("Среда");
break;
case 5:
System.out.println("Пятница");
break;
default:
System.out.println("Другой день");
}
Вывод:
Среда
В современной Java (14+) есть стрелочная форма
case 3 -> ..., которая не требуетbreak. Но классический синтаксис сbreakпо-прежнему встречается чаще всего.
Коротко
if/else/else ifветвят выполнение по условиям.- Условия комбинируют операторами
&&,||,!. - Тернарный оператор
? :— краткий выбор из двух значений. switchудобен для сравнения одной переменной с набором значений; не забывайтеbreak.