JavaRush /Курсы /JAVA 25 SELF /Условный оператор: if else

Условный оператор: if else

JAVA 25 SELF
3 уровень , 1 лекция
Открыта

1. Оператор if else

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

В Java это реализовано с помощью условного оператора — ключевых слов if и else, которые позволяют выполнять разные блоки команд в зависимости от правдивости условия.

Условный оператор состоит из трех частей: условия, команды 1 и команды 2. Если условие верно (истинно), выполняется команда 1, иначе выполняется команда 2. Команды никогда не выполняются одновременно. Общий вид этого оператора таков:


if (условие)
   команда1;
else
   команда2;
Условный оператор if-else

if переводится как «если», а else как «иначе». Человеческим языком это можно записать так:


Если условие истинно, то
   выполнить команда1;
иначе
   выполнить команда2;
Условный оператор if-else человеческим языком

Примеры:

// На экран будет выведена надпись: Вы еще ребенок

int age = 17;
if (age < 18)
   System.out.println("Вы еще ребенок");
else
   System.out.println("Вы уже взрослый");
// На экран будет выведена надпись: Тепло

int temperature = 5;
if (temperature < 0)
   System.out.println("На улице мороз");
else
   System.out.println("Тепло");
// На экран будет выведена надпись: Можно сдавать на права

int age = 18;
if (age == 18)
   System.out.println("Можно сдавать на права");
else
   System.out.println("Можно копить на машину");

2. Блок команд

Если при выполнении (или невыполнении) условия вы хотите, чтобы ваша программа исполнила несколько команд, их можно объединить в блок команд.

Чтобы объединить команды в блок, нужно «завернуть» их в фигурные скобки. Вот как это выглядит в общем случае:


{
   команда1;
   команда2;
   команда3;
}

Команд в блоке может быть сколько угодно. И даже ноль.

Примеры сочетания оператора if-else и блока команд:

// На экран будет выведена надпись: Ты еще ребенок. Не спорь со взрослыми

int age = 17;
if (age < 18)
{
   System.out.println("Ты еще ребенок");
   System.out.println("Не спорь со взрослыми");
}
else
{
   System.out.println("Вы уже взрослый");
   System.out.println("Ну и молодежь пошла");
}
// На экран будет выведена надпись: Тепло

int temperature = 5;
if (temperature < 0)
{
   System.out.println("На улице мороз");
   System.out.println("Шапку надень");
}
else
   System.out.println("Тепло");
// Будет выполнен пустой блок команд. На экран ничего не выведется. 

int age = 21;
if (age == 18)
   System.out.println("Можно получать права");
else
{
}

3. Сокращенный синтаксис оператора if

Если код в блоке else отсутствует, то его можно опустить. Тогда оператор if примет вид:


if (условие)
{
    команда1;
}
Условный оператор if

Пример:

int age = 19;
if (age >= 18)
{
    System.out.println("Вы совершеннолетний!");
}

Как это работает?

Если условие истинно, то выполняется блок кода. Если ложно, то ничего не происходит — программа идет дальше.

Блок else в программе есть, но он пустой (между фигурными скобками нет никаких команд). Его можно просто убрать: в программе от этого ничего не поменяется.

4. Комбинирование условий: else if

Иногда нужно проверить не просто «да/нет», а выбрать из нескольких вариантов. Тут на помощь приходит связка else if:

if (условие1)
{
    // Выполняется, если условие1 истинно
}
else if (условие2)
{
    // Выполняется, если условие2 истинно, а условие1 — ложно
}
else
{
    // Выполняется, если ни одно из условий выше не подошло
}

Пример:

int hour = 13;
if (hour < 12)
{
    System.out.println("Доброе утро!");
}
else if (hour < 18)
{
    System.out.println("Добрый день!");
}
else
{
    System.out.println("Добрый вечер!");
}

Что здесь происходит?

  • Если время до 12 — утро.
  • Если от 12 до 18 — день.
  • Если больше — вечер.
  • Программа выбирает только ОДИН из вариантов! Как только подходит условие — остальные даже не проверяются.

5. Схематическая иллюстрация: блок-схема ветвления

Вот как это выглядит в виде блок-схемы:

А если несколько условий:

Это очень напоминает развилки в настольных ролевых играх: идёшь налево — одно, направо — другое, прямо — ещё что-то!

6. Какие условия можно проверять?

Внутри круглых скобок после if должно быть ЛОГИЧЕСКОЕ выражение — результат которого true или false.

Основные операторы сравнения:

Оператор Значение Пример
==
Равно
x == 5
!=
Не равно
x != 10
>
Больше
x > 0
<
Меньше
age < 18
>=
Больше или равно
score >= 100
<=
Меньше или равно
count <= 50

Примеры условий:

if (number == 10)
if (age != 18)
if (temperature > 36)
if (balance <= 0)

Заметьте: = (один знак) — это присвоение. == (два знака) — сравнение. Это одна из самых популярных ошибок среди новичков! Если вы нечаянно напишете:

if (x = 5) // ОШИБКА!

— компилятор вас отругает, и очень правильно сделает.

7. Работа со строками в условиях

Сравнение с помощью == в Java работает корректно для чисел. Дробные числа сравнивать через == нежелательно, а строки сравнивать через == нельзя — для строк используйте метод equals(), который сравнивает содержимое строк (а не ссылки).

Подробнее о тонкостях сравнения строк мы ещё поговорим позже. А как правильно сравнивать строки — в примере ниже:

String password = console.nextLine();
if (password.equals("qwerty"))            // вызываем метод equals() и передаем в него вторую строку
{
    System.out.println("Вы вошли!");
}

8. Особенности и нюансы:

Фигурные скобки: нужны или нет?

Если после if или else только одна команда, фигурные скобки можно опустить:

if (age > 18)
    System.out.println("Вам больше 18!");

// Но безопаснее ВСЕГДА их писать:
if (age > 18)
{
    System.out.println("Вам больше 18!");
}

Совет: пишите всегда со скобками. Это защитит от кучи ошибок, особенно при расширении кода.

Логические ошибки: внимательнее с условиями!

Если напишете так:

if (age > 18)
    System.out.println("Вам больше 18!");
    System.out.println("Добро пожаловать!");

То компилятор будет читать этот код так:

if (age > 18)
{
    System.out.println("Вам больше 18!");
}

System.out.println("Добро пожаловать!");

Вторая строка всегда будет выполняться — скобки нужны, чтобы обе строки были внутри «ветки».

1
Задача
JAVA 25 SELF, 3 уровень, 1 лекция
Недоступна
Покупка билета в кино 🎬
Покупка билета в кино 🎬
1
Задача
JAVA 25 SELF, 3 уровень, 1 лекция
Недоступна
Проверка погоды на улице ❄️
Проверка погоды на улице ❄️
1
Задача
JAVA 25 SELF, 3 уровень, 1 лекция
Недоступна
Разблокировка аккаунта 🔒
Разблокировка аккаунта 🔒
1
Задача
JAVA 25 SELF, 3 уровень, 1 лекция
Недоступна
Приветствие по времени суток ☀️
Приветствие по времени суток ☀️
Комментарии (19)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
15 июля 2026
15.07.2026
Gans Electro Уровень 30
23 мая 2026
Если есть ошибки нужно напрямую писать админам. В вас есть кнопка с конвертом. Там можно писать Зепп Бранниган. Не можно а нужно. Именно комменты под лекциями они читают редко. Их слишком много
24 апреля 2026
24 апреля 2026
Jalkon Уровень 27
23 апреля 2026
Задачам на if не хватает пользовательского ввода, который мы изучили буквально на прошлом уровне, так как ввод гораздо лучше раскрывает условия, чем забитые хардом переменные
Alex Уровень 7
1 марта 2026
Очень легкие задачи, могли бы что-то посложнее сделать ну хотябы задачку на проверку высокосный год или нет, а тут тупо впиши вместо коммента.
Tomoto Уровень 16
24 февраля 2026
Отличные задачи, спасибо
Geocancer Уровень 5
19 января 2026
Всем удачи! Двигайтесь дальше!!
Sirius_ Уровень 6
17 января 2026
Очень интересные задачи!
Дмитрий Уровень 1
17 октября 2025
Пока все идет до сих пор как по маслецу ☺️ Подача хорошая, как в предыдущем курсе Java. Задачи простые. Но скорее от того, что уже имею представление и немного учил Пайтон