Приведи пример условного оператора `if-else` в Java.

«Приведи пример условного оператора `if-else` в Java.» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Условный оператор if-else выполняет разные блоки кода в зависимости от истинности логического выражения.

Базовый пример:

int age = 20;

if (age >= 18) {
    System.out.println("Доступ разрешен.");
    userService.grantAccess(userId);
} else {
    System.out.println("Доступ запрещен.");
    throw new AccessDeniedException("User is underage.");
}

Цепочка условий else if:

int testScore = 85;
char grade;

if (testScore >= 90) {
    grade = 'A';
} else if (testScore >= 80) { // Проверяется, только если первое условие false
    grade = 'B';
} else if (testScore >= 70) {
    grade = 'C';
} else {
    grade = 'F';
}
System.out.println("Оценка: " + grade); // Выведет 'B'

Сокращенная форма (без else):

boolean isDataValid = validate(inputData);
if (isDataValid) {
    processData(inputData); // Блок else может быть опущен, если действие требуется только при true
}
// Код выполняется здесь в любом случае

Тернарный условный оператор (сокращение для простых случаев):

// Синтаксис: условие ? выражение_если_true : выражение_если_false
int max = (a > b) ? a : b;
String status = (connection.isActive()) ? "ONLINE" : "OFFLINE";

// Эквивалентно:
int max;
if (a > b) {
    max = a;
} else {
    max = b;
}

Важно: if-else — это оператор потока управления, а тернарный оператор (?:) — это оператор, возвращающий значение.