Найти в Дзене

Условный оператор if-else: Как научить программу принимать решения

Привет! Наши программы уже умеют хранить данные в переменных и производить вычисления. Но пока они похожи на очень аккуратного, но бесхитростного помощника, который всегда выполняет одни и те же действия, независимо от обстоятельств. А что, если мы хотим, чтобы программа вела себя по-разному в разных ситуациях? Например: Сегодня мы научимся именно этому — принимать решения в коде с помощью операторов if, else if и else. Цель урока: Научиться писать программы, которые выбирают разные пути выполнения в зависимости от условий. Всё работает по принципу, знакомому с детства: «ЕСЛИ выполняется условие, ТО сделай это». Представь алгоритм для автопилота: ЕСЛИ впереди красный свет
ТО остановиться
ИНАЧЕ ЕСЛИ впереди зелёный свет
ТО продолжить движение
ИНАЧЕ (жёлтый)
ТО приготовиться к остановке Оператор if в Java — это формальная запись таких правил. Синтаксис прямолинеен: if ( условие ) { блок кода }. Условие — это выражение, которое возвращает true (истина) или false (ложь). Что происходит:
Оглавление

Привет! Наши программы уже умеют хранить данные в переменных и производить вычисления. Но пока они похожи на очень аккуратного, но бесхитростного помощника, который всегда выполняет одни и те же действия, независимо от обстоятельств.

А что, если мы хотим, чтобы программа вела себя по-разному в разных ситуациях? Например:

  • Если на улице дождь — вывести «Возьми зонт!».
  • Если пользователь старше 18 лет — разрешить доступ.
  • Если сумма на счету достаточна — выполнить покупку.

Сегодня мы научимся именно этому — принимать решения в коде с помощью операторов if, else if и else.

Цель урока: Научиться писать программы, которые выбирают разные пути выполнения в зависимости от условий.

Шаг 1: Простая аналогия — «Если → то»

Всё работает по принципу, знакомому с детства: «ЕСЛИ выполняется условие, ТО сделай это».

Представь алгоритм для автопилота:

ЕСЛИ впереди красный свет
ТО остановиться
ИНАЧЕ ЕСЛИ впереди зелёный свет
ТО продолжить движение
ИНАЧЕ (жёлтый)
ТО приготовиться к остановке

Оператор if в Java — это формальная запись таких правил.

Шаг 2: Базовый синтаксис if

Синтаксис прямолинеен: if ( условие ) { блок кода }. Условие — это выражение, которое возвращает true (истина) или false (ложь).

У нас по прежнему всё тот же Main класс в котором мы проводим всю нашу работу.  Наша IDE будет ругаться и подводить жёлтым наше поле в котором мы проверяем условие, потому что оно у нас всегда true и не может измениться, не обращайте на это внимание)
У нас по прежнему всё тот же Main класс в котором мы проводим всю нашу работу. Наша IDE будет ругаться и подводить жёлтым наше поле в котором мы проверяем условие, потому что оно у нас всегда true и не может измениться, не обращайте на это внимание)

Что происходит:

  1. Мы создали логическую переменную isRaining и присвоили ей значение true.
  2. Ключевое слово if проверяет условие в круглых скобках.
  3. Если условие истинно (true) — выполняется блок кода внутри фигурных скобок {}.
  4. Если условие ложно (false) — блок кода внутри if пропускается, программа переходит к следующей строке (System.out.println("Программа продолжает работу...")).

Запусти код, затем измени isRaining на false и увидишь разницу.

Шаг 3: Добавляем ветку else («иначе»)

Часто нужно предусмотреть действие на случай, если условие не выполнилось.

-2

Поменяй значение wallet на 250 и посмотри, как изменится поведение программы.

Шаг 4: Множественный выбор с else if

Когда вариантов больше двух, на помощь приходит else if («иначе если»). Программа проверяет условия сверху вниз и выполняет блок кода первого истинного условия.

-3

Важно: Порядок условий критичен! Если бы мы начали с if (examScore >= 60), то для 95 баллов сработал бы первый же блок, и до проверки >=90 дело не дошло бы.

Шаг 5: Сложные условия (&&, ||, !)

Часто одно условие — это недостаточно. Нужно проверить несколько факторов одновременно.

  • && (Логическое И): условие1 && условие2 — истинно, только если оба условия истинны.
  • || (Логическое ИЛИ): условие1 || условие2 — истинно, если хотя бы одно из условий истинно.
  • ! (Логическое НЕ): !условие — инвертирует значение (делает true → false, а false → true).
Код нашей маленькой программы
Код нашей маленькой программы
И сам вывод
И сам вывод

Поэкспериментируй, меняя значения переменных.

Шаг 6: Практика: мини-игра «Угадай число»

Соберём всё вместе! Программа загадывает число, а пользователь пытается его угадать.

Для вас новое только класс Scanner, данный класс используется для чтения ввода в консоль. В нашем случае это число которое угадывает пользователь. Сейчас в нашей мини программе пользователь может угадать число только с первой попытки и нужно постоянно запускать приложение снова, но в дальнейшем мы изучим циклы и будет бесконечно е число попыток угадать число)
Для вас новое только класс Scanner, данный класс используется для чтения ввода в консоль. В нашем случае это число которое угадывает пользователь. Сейчас в нашей мини программе пользователь может угадать число только с первой попытки и нужно постоянно запускать приложение снова, но в дальнейшем мы изучим циклы и будет бесконечно е число попыток угадать число)
Наш вывод в консоль.
Наш вывод в консоль.

Этот пример впервые использует Scanner для ввода данных — настоящая интерактивность!

Итог урока

Сегодня ты приручил логику выбора. Теперь твои программы умеют:
Реагировать на обстоятельства (базовый if).
Предусматривать альтернативы (else).
Выбирать из множества вариантов (else if).
Оценивать сложные условия (&&, ||, !).

Это огромный скачок. Теперь твой код может быть гибким и интеллектуальным.

Домашнее задание

  1. «Умный термостат». Напиши программу, которая советует, как одеться, в зависимости от температуры за окном (int temperature).
    Если ниже -10 → «Мороз! Надень пуховик».
    Если от -10 до +15 → «Прохладно. Куртка нужна».
    Если от +16 до +25 → «Тепло. Можно в футболке».
    Если выше +25 → «Жарко! Шорты и майка».
  2. Проверка пароля. Объяви две переменные: String savedPassword = "qwerty123" и String userInput. Сравни их с помощью if-else и выведи «Доступ разрешён» или «Неверный пароль». Усложнение: Добавь проверку длины введённого пароля (userInput.length() < 8).
  3. Калькулятор скидки. Пользователь вводит сумму покупки (double purchaseAmount). Программа рассчитывает скидку:
    5% — если сумма от 5000 до 10000.
    10% — если сумма больше 10000.
    Выводит итоговую сумму к оплате.

💡 Совет: Для заданий 2 и 3 используй Scanner из нашего примера с игрой, чтобы принимать данные от пользователя.

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

Успехов в практике! Как всегда, жду твои вопросы и решения в комментариях.