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
}
}
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ