JavaRush /Курси /Java Syntax Zero /Умовний оператор

Умовний оператор

Java Syntax Zero
Рівень 3 , Лекція 3
Відкрита

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

Від програм було б мало користі, якби вони робили абсолютно одне й те саме незалежно від зміни зовнішніх обставин. Потрібно, щоб програма вміла підлаштовуватися під різні ситуації та виконувати одні дії в одних випадках, а інші — в інших.

У Java це реалізовано за допомогою умовного оператора — спеціального ключового слова, яке дає змогу виконувати різні блоки команд залежно від правдивості умови.

Умовний оператор складається з трьох частин: умови, команди 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

Трапляються випадки, коли якусь команду або команди потрібно виконати, якщо умова істинна, а якщо вона хибна, то нічого робити не треба.

Наприклад, ми можемо створити команду Якщо приїхав автобус номер 62, зайти в нього, а на відсутність автобуса жодним чином не реагувати. У Java за такого розвитку подій можна використовувати скорочену форму оператора if — без блоку else.

Інакше кажучи, якщо команду (-и) потрібно виконувати лише в разі, коли умова істинна, і немає команд, які потрібно виконувати, коли умова хибна, потрібно використовувати скорочений запис оператора if — без блоку else. Скорочений запис має такий вигляд:

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

Нижче наведено три еквівалентні записи:

Код Пояснення
int age = 18;
if (age == 18)
{
   System.out.println("З'явіться до військкомату");
}
else
{
}
На екран буде виведено напис:
З'явіться до військкомату

Блок else у програмі є, але він порожній (між фігурними дужками немає жодної команди). Його можна просто прибрати, у програмі від цього нічого не зміниться.

Код Пояснення
int age = 18;
if (age == 18)
{
   System.out.println("З'явіться до військкомату");
}
На екран буде виведено напис:
З'явіться до військкомату
int age = 18;
if (age == 18)
   System.out.println("З'явіться до військкомату");
На екран буде виведено напис:
З'явіться до військкомату
Коментарі (28)
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ
OlhaKiiko Рівень 3
4 вересня 2025
Добре, що проходжу курс, коли вже є чатик )) Роблю сама, але десь підказку та й запитаю. З ним веселіше вчитися
Oleh Рівень 1
13 березня 2024
Якщо Ви не знаєте як зробити перевірку віку, або як зробити логічний вираз ВІД 18 ДО 26, то Вам необхідно повернутись до лекції № 9 рівень 2 - "Додаткові лекції до рівня", та перейти за посиланням у тексті цієї лекції - "Операції над числами в Java". Або по цьому посиланню https://javarush.com/groups/posts/1924-operacii-nad-chislami-v-java
Василь Рівень 4
15 жовтня 2025
або почитати наступну лекцію і потім повернутися до вирішення задачі
Юрій Рівень 3
24 січня 2024
Намагаєшся писати красиво, якщо треба ввести щось з клавіатури, то треба ж спочатку вивести на екран якесь повідомлення "що від тебе хочуть", а далі вводь що хочеш з клавіатури... А тут довелось промучатись, щоб знайти помилку, чому ж не ставляться всі галочки під час перевірки... Не пишіть щось в стилі: System.out.println("Введіть ім'я: "); Покоментив такі строчки - задачу зарахували... LOL
Сергій Рівень 13
17 травня 2024
Класна підказка, але прочитав її вже після як потрапив у таку ж ситуацію :)
Roman H. Рівень 31
20 січня 2025
Мне ментор как то сказал-не делай того чего не требуют. Инициатива наказуема.
13 грудня 2023
ну тут іде мова про використання && в умові.
Vitalii Рівень 11
27 липня 2023
чи не здається авторам курса що приколи із воєнкоматами викликають небажані асоціації із розбомбленими під нуль містами? Я загалом шукаю більше як відволікатись від того...-
Павло Рівень 48
27 серпня 2023
Це щоб не забували, бо в деяких містах вже перемога.
Marik #3293450 Рівень 4
1 травня 2023
Цікаво чому немає пояснення про логічний оператор в другій задачі він б був у нагоді, лан всім удачі !
Vik Zh Рівень 2
8 травня 2023
так вже ж була інфа про логічні оператори в одній з попередніх лекцій
Anonymous #3312433 Рівень 5
12 червня 2023
Мені здається, не було.
Vik Zh Рівень 2
19 липня 2023
Вам здається, перечитайте рівень 2, лекція 9 "Операции над числами в Java"
les_yeux_blancs Рівень 50
16 квітня 2023
Дуже не рекомендую використовувати так званий короткий запис, бо він може перетворити ваш код в гівно, яке неможливо читати)
Ва Дим Рівень 28
2 березня 2024
Так згідний.Взагалі не розумію як можна if без дужок писати.мені вони наче не роздільні )
Anonymous #3192669 Рівень 4
7 листопада 2022
Підкажіть що значить == ? і чим воно відрізняється за звичайне = ? Дякую за відповідь
Potapchuk Рівень 13
25 січня 2023
==це значить порівняти з чимось (3==4) false; = це значить присвоювати х=3; у=х, значить у=3.
Roma Chernesh Рівень 16
25 жовтня 2022
Яка ж актуальна на сьогодні задача:,(
Сергей Рівень 33
9 травня 2022
Как по мне, вторую задачу стоит давать после объяснения И, ИЛИ, НЕ Или после объяснения о том, что один оператор if можно вложить в другой
Олексій Рівень 6
21 червня 2022
З приводу пояснення логічних І, АБО, НІ. Воно було в одній з попередніх лекцій. А з приводу вкладення одного if в інший, навіщо? Варто дочитати лекцію до кінця, дізнатись про скорочену форму if і цього достатньо для виконання.
Beisik Рівень 25
18 серпня 2022
Так лучше запоминается.Я сейчас вторую задачу час мучал гуглил и т.д и все же без подсказки не обошлось )))Но теперь инвормацию которую я прочел после задачки я уже знал так как ранее гуглил ее для решения