Ответ
Условный оператор 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 — это оператор потока управления, а тернарный оператор (?:) — это оператор, возвращающий значение.