Условные операторы 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.
Проверьте себя
1. Какой логический оператор означает «оба условия истинны»?
A||
B&&
C!
D&
2. Что произойдёт в switch, если забыть break в ветке case?
AОшибка компиляции
BВыполнение «провалится» в следующую ветку
CЦикл остановится
DСработает default
3. Что вернёт выражение (5 % 2 == 0) ? "чёт" : "нечёт"?
A"чёт"
B"нечёт"
Ctrue
DОшибку
Поддержать проект