Привет, друг!
Раз уж ты здесь, значит, тебе не безразличны условия. Те самые if, if-else и прочие хитрые ветвления, без которых ни один уважающий себя алгоритм не обходится.
Сегодня мы:
- Поговорим про if, if-else, if-else-if.
- Разберем реальные задачи с комментариями к каждой строчке.
- Зададим задачку тебе.
- И даже проверим, не заснул ли ты по пути.
Поехали!
🧠 Что такое if?
if — это не просто "если", это точка принятия решений в программе.
Формат:
if (условие) {
// блок кода, если условие — true
}
Если внутри скобок — истина (true), код внутри блока выполняется. Если ложь — идем мимо, как мимо скидки на мороженое в декабре.
✅ Примеры: от простого к сложному
🔰 Пример 1: Проверка положительности числа (новичок)
int number = -10;
if (number > 0) {
System.out.println("Число положительное");
}
💬 Комментарии:
- int number = -10; — Объявляем переменную с числом.
- if (number > 0) — Проверяем, больше ли число нуля.
- System.out.println(...) — Выводим результат, если условие истинно.
🧠 Результата не будет — число отрицательное.
🔰 Пример 2: Выдача бонуса или штрафа (новичок)
int karma = -5;
if (karma > 0) {
System.out.println("Вы получаете бонус!");
} else {
System.out.println("Вы получаете штраф...");
}
💬 Комментарии:
- else срабатывает, если if — ложь.
- Ситуация из жизни: опоздал на митинг — штраф. Пришел вовремя — бонус.
🔰 Пример 3: Определение чётности (новичок)
int num = 8;
if (num % 2 == 0) {
System.out.println("Четное");
} else {
System.out.println("Нечетное");
}
💬 % 2 == 0 — классика. Делим на 2, проверяем остаток.
🧪 Пример 4: Множественный выбор — оценки (средний уровень)
int grade = 88;
if (grade >= 90) {
System.out.println("Оценка: A");
} else if (grade >= 75) {
System.out.println("Оценка: B");
} else if (grade >= 60) {
System.out.println("Оценка: C");
} else {
System.out.println("Оценка: F");
}
💬 Тут у нас целая цепочка решений. Как в кофейне: хочешь эспрессо, латте или «просто воды»?
🧊 Пример 5: Времена года по месяцу (новичок/средний)
int month = 4;
if (month == 12 || month == 1 || month == 2) {
System.out.println("Зима");
} else if (month >= 3 && month <= 5) {
System.out.println("Весна");
} else if (month >= 6 && month <= 8) {
System.out.println("Лето");
} else if (month >= 9 && month <= 11) {
System.out.println("Осень");
} else {
System.out.println("Такого месяца нет");
}
💬 Логические операторы || и && позволяют комбинировать условия. Главное — не забыть скобочки!
💼 Пример 6: Расчёт скидки по возрасту (средний)
int age = 70;
int discount;
if (age < 18) {
discount = 30;
} else if (age >= 65) {
discount = 20;
} else {
discount = 10;
}
System.out.println("Скидка: " + discount + "%");
💬 Результат зависит от возраста. Молодым и пожилым — побольше пряников!
⚙️ Пример 7: Продвинутый уровень — проверка логина и пароля
String login = "admin";
String password = "1234";
if (login.equals("admin") && password.equals("1234")) {
System.out.println("Добро пожаловать!");
} else {
System.out.println("Доступ запрещен.");
}
💬 Важно: строки сравниваются через .equals(), а не через ==.
🤖 Пример 8: Мини-бот с выбором команды (профессионал)
String command = "weather";
if (command.equals("help")) {
System.out.println("Доступные команды: help, exit, weather");
} else if (command.equals("exit")) {
System.out.println("Выход из программы...");
} else if (command.equals("weather")) {
System.out.println("Погода: солнечно");
} else {
System.out.println("Неизвестная команда");
}
💬 Простенький симулятор чат-бота. Добавить бы базу данных — и можно продавать 😄
📋 Тест на внимательность
Проверь себя, сначала сделай самостоятельно, а ответы найдешь в конце статьи:
- Что произойдёт?
int a = 5;
if (a) {
System.out.println("Да!");
}
а) Компилируется
б) Ошибка компиляции
в) Всегда печатает "Да!"
- Что выведет этот код?
boolean flag = false;
if (!flag) {
System.out.println("Флаг выключен");
}
а) Ошибка
б) Ничего
в) Флаг выключен
- Что выведет?
int score = 95;
if (score >= 90) {
System.out.println("Отлично");
} else if (score >= 80) {
System.out.println("Хорошо");
}
а) Отлично
б) Хорошо
в) Ошибка
🧠 Задача перед выводом
Напиши программу, которая:
- Запрашивает у пользователя число.
- Если число чётное и больше 10 — печатает «Подходит!».
- Если нечётное — «Не подходит: нечётное».
- Если чётное, но меньше или равно 10 — «Слишком маленькое».
💡 Подсказка: используй Scanner, % 2, и цепочку if-else.
📌 Вывод
Мы узнали:
- Как работает if, if-else, if-else-if.
- Что Java — строгая, требует boolean в условиях.
- Как писать читаемый код с комментариями.
- Что условия — это не скучно, а почти как выбор в RPG: одно решение — один путь развития.
✅ Ответы к тесту
- ❌ б) Ошибка компиляции — if требует boolean, а не int.
- ✅ в) Флаг выключен — !false == true.
- ✅ а) Отлично — первое условие true, второе не проверяется.
💻 Решение задачи
🧠 Как это работает?
- number % 2 != 0 — остаток от деления на 2 не равен 0 → число нечётное.
- else if (number > 10) — чётное (раз выше не сработало) и больше 10.
- else — все остальные чётные числа, которые 10 или меньше.
📝 Пример вывода
Пользователь вводит 13:
👉 Не подходит: нечётное
Пользователь вводит 8:
👉 Слишком маленькое
Пользователь вводит 22:
👉 Подходит!