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