1. Послідовність операторів if
Іноді в програмі потрібно виконати багато різних дій залежно від значення певної змінної або певного виразу.
Припустімо, умови задачі такі:
- Якщо температура вища за
20
градусів — одягти сорочку - Якщо температура вища за
10
градусів, але не вища за20
— одягти светр - Якщо температура вища за
0
градусів, але не вища за10
— одягти плащ - Якщо температура нижча за
0
градусів — одягти пальто.
В коді це можна представити отак:
int temperature = 9;
if (temperature > 20)
System.out.println("одягти сорочку");
else // тут температура не вища за 20
{
if (temperature > 10)
System.out.println("одягти светр");
else // тут температура не вища за 10
{
if (temperature > 0)
System.out.println("одягти плащ");
else // тут температура менша за 0
System.out.println("одягти пальто");
}
}
Оператори if-else
можна вкладати один в інший і таким чином реалізовувати в програмі досить складну логіку.
Але вищенаведений приклад цікавий ще й тим, що саме в цьому разі фігурні дужки можна випустити, і код трохи спроститься:
int temperature = 9;
if (temperature > 20)
System.out.println("одягти сорочку");
else // тут температура не вища за 20
if (temperature > 10)
System.out.println("одягти светр");
else // тут температура не вища за 10
if (temperature > 0)
System.out.println("одягти плащ");
else // тут температура менша за 0
System.out.println("одягти пальто");
Хоча зазвичай таку конструкцію програмісти записують дещо по-іншому:
int temperature = 9;
if (temperature > 20)
System.out.println("одягти сорочку");
else if (temperature > 10) // тут температура не вища за 20
System.out.println("одягти светр");
else if (temperature > 0) // тут температура не вища за 10
System.out.println("одягти плащ");
else // тут температура менша за 0
System.out.println("одягти пальто");
Усі три наведені приклади еквівалентні.
2. Особливості else
Якщо в конструкції if-else
не розставлено фігурні дужки, слово else
стосується попереднього (найближчого до нього) if
.
Приклад:
Наш код | Як він працюватиме |
---|---|
|
|
Якщо дивитися на код в лівій частині, здається, що на екран буде виведено напис «Можна не працювати». Проте це не так. Насправді else
і команда виведення «Можна не працювати» стосуються другого (найближчого) if
.
У коді праворуч червоним виділено пов'язані між собою if
і else
. Також спеціально розставлено дужки, що однозначно показують порядок виконання дій. Напис Можна не працювати ніколи не виводиться на екран, якщо age
більше за 60
😛
3. Приклад використання оператора if-else
Оскільки ми так докладно розібрали оператор if-else
, наведемо приклад:
import java.util.Scanner;
public class Solution {
public static void main(String[] args)
{
Scanner console = new Scanner(System.in); // створюємо об'єкт Scanner
int a = console.nextInt(); // зчитуємо з клавіатури перше число
int b = console.nextInt(); // зчитуємо з клавіатури друге число
if (a < b) // якщо a менше за b
System.out.println(a); // виводимо на екран a
else // інакше
System.out.println(b); // виводимо на екран b
}
}
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ