If и else в Java: условия, границы и порядок ветвей
💻 Информатика · 9 класс
Boolean, цепочка else if и независимые проверки: как выбрать нужную ветвь.

Условие должно быть логическим
Оператор if выполняет блок, если условие равно true. При false блок пропускается, а при наличии else выполняется альтернативный. В Java условие имеет тип boolean: число 1 не является заменой true. Это отличает Java от C, где ноль и ненулевые скалярные значения интерпретируются в условии иначе.
Сравнение записывают двумя знаками равенства: age == 12. Один знак = означает присваивание. Для строк сравнение содержимого обычно выполняют equals, а не ==, которое сравнивает ссылки.
Пример классификации
int score = 75;
if (score >= 80) {
System.out.println("high");
} else if (score >= 50) {
System.out.println("middle");
} else {
System.out.println("low");
}Результат — middle. Первое условие ложно, второе истинно. После выбора ветви оставшаяся часть цепочки не проверяется. Пример предполагает заранее допустимое значение score; проверка диапазона 0–100 является отдельной задачей.
Почему порядок важен
Если сначала поставить score >= 50, то значение 90 попадёт в эту ветвь и до проверки 80 уже не дойдёт. Для вложенных диапазонов обычно начинают с более строгого верхнего порога или формулируют непересекающиеся интервалы.
Несколько отдельных if работают иначе: каждое условие проверяется независимо. При score = 90 могут выполниться два блока. Выберите конструкцию по смыслу: один из вариантов или несколько одновременно возможных действий.
Составные условия
Логическое И записывается &&, ИЛИ — ||, отрицание — !. Для попадания в диапазон можно использовать score >= 0 && score <= 100. Математическая запись 0<=score<=100 не является правильной цепочкой сравнений Java.
Операторы && и || используют сокращённое вычисление. Например, при text != null && text.length() > 0 длина не вычисляется, если text равен null. Порядок частей здесь помогает избежать обращения через null.
Скобки и вложение
Для одного оператора фигурные скобки иногда можно опустить, но для учебных и расширяемых блоков полезно сохранять их. Else относится к ближайшему подходящему if. Явные блоки делают это отношение видимым и уменьшают риск ошибки после добавления строки.
Точка с запятой сразу после if создаёт пустой оператор: следующий блок может выполняться независимо от условия. Отступы помогают чтению, но сами по себе не меняют структуру Java.
Разобранная проверка границы
При score = 50 первое условие приведённого примера остаётся ложным, второе истинно, поэтому результат middle. При 49 — low. Пара 49/50 проверяет именно границу и полезнее двух случайных значений 60 и 70.
Практика
- Что выведет цепочка для score = 80?
- Выполнятся ли две ветви одной else-if цепочки?
- Как проверить диапазон 10–20 включительно?
Ответы
1. high: первое условие включает 80. 2. Нет: выбирается первая подходящая ветвь. 3. x >= 10 && x <= 20. Обе границы нужно проверить отдельными сравнениями. Затем полезно проверить 9,10,20 и 21.