← Назад к вопросам

Как работает условный оператор?

1.6 Junior🔥 31 комментариев
#Основы Java

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI22 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

# Условные операторы в Java

Условные операторы — это фундаментальная часть программирования, позволяющая коду делать выбор и выполнять различные блоки кода в зависимости от условий. В Java есть несколько типов условных операторов.

Оператор if

Основной условный оператор, выполняющий блок кода если условие истинно:

int age = 18;
if (age >= 18) {
    System.out.println("Вы совершеннолетний");
}

Блок else выполняется если условие ложно:

int temperature = 5;
if (temperature > 20) {
    System.out.println("Тепло");
} else {
    System.out.println("Холодно");
}

Цепочка if-else if-else

Для нескольких условий:

int grade = 75;
if (grade >= 90) {
    System.out.println("Отлично");
} else if (grade >= 80) {
    System.out.println("Хорошо");
} else if (grade >= 70) {
    System.out.println("Удовлетворительно");
} else {
    System.out.println("Не сдано");
}

Система проверяет условия по очереди и выполняет первый истинный блок.

Оператор switch

Для проверки одной переменной против множества значений:

int day = 3;
String dayName;
switch (day) {
    case 1:
        dayName = "Понедельник";
        break;
    case 2:
        dayName = "Вторник";
        break;
    case 3:
        dayName = "Среда";
        break;
    default:
        dayName = "Неизвестный день";
}

Важно: используй break, иначе выполнение продолжится в следующий case (fall-through).

Тернарный оператор

Короткая форма для простых условий:

int age = 16;
String status = (age >= 18) ? "Взрослый" : "Несовершеннолетний";

Выражение: условие ? значение_если_истина : значение_если_ложь

Логические операторы

AND (&&) — оба условия должны быть истинны

int age = 25;
boolean hasLicense = true;
if (age >= 18 && hasLicense) {
    System.out.println("Можешь водить машину");
}

OR (||) — хотя бы одно условие истинно

boolean isWeekend = true;
boolean isHoliday = false;
if (isWeekend || isHoliday) {
    System.out.println("Выходной день");
}

NOT (!) — отрицание условия

boolean isRaining = true;
if (!isRaining) {
    System.out.println("Идём гулять");
}

Switch Expression (Java 14+)

Современный синтаксис switch с меньшим boilerplate:

int day = 3;
String dayName = switch (day) {
    case 1 -> "Понедельник";
    case 2 -> "Вторник";
    case 3 -> "Среда";
    default -> "Неизвестный день";
};

Это выражение, а не оператор, поэтому возвращает значение.

Вложенные условия

Зачастую условия бывают вложены друг в друга:

int age = 20;
boolean hasExperience = true;
if (age >= 18) {
    if (hasExperience) {
        System.out.println("Можешь работать на этой должности");
    } else {
        System.out.println("Нужен опыт работы");
    }
} else {
    System.out.println("Слишком молод");
}

Лучшие практики

  • Простота: избегай сложных вложенных условий, разбей код на методы
  • Читаемость: используй скобки даже для одной строки кода
  • Производительность: проверяй наиболее вероятные условия первыми
  • Логика: используй switch для множества значений, if-else для логики

Условные операторы — основа управления потоком выполнения программы.

Как работает условный оператор? | PrepBro