1. Последователност от if
твърдения
Понякога програмата трябва да извърши много различни действия в зависимост от стойността на променлива or стойността на израз.
Да приемем, че нашата задача е нещо подобно:
- Ако температурата е по-висока от
20
градуса, тогава облечете риза - Ако температурата е по-висока от
10
градуса и по-малка от (or равна на)20
, тогава облечете пуловер - Ако температурата е по-висока от
0
градуса и по-малка от (or равна на)10
, тогава облечете дъждобран - Ако температурата е под
0
градуса, тогава облечете палто.
Ето How това може да бъде представено в code:
int temperature = 9;
if (temperature > 20) {
System.out.println("put on a shirt");
} else { // Here the temperature is less than (or equal to) 20
if (temperature > 10) {
System.out.println("put on a sweater");
} else { // Here the temperature is less than (or equal to) 10
if (temperature > 0) {
System.out.println("put on a raincoat");
} else // Here the temperature is less than 0
System.out.println("put on a coat");
}
}
If-else
изразите могат да бъдат вложени един в друг . Това прави възможно внедряването на доста сложна логика в програма.
Програмистите обаче обикновено пишат тази конструкция малко по-различно:
int temperature = 9;
if (temperature > 20) {
System.out.println("put on a shirt");
} else if (temperature > 10) { // Here the temperature is less than (or equal to) 20
System.out.println("put on a sweater");
} else if (temperature > 0) { // Here the temperature is less than (or equal to) 10
System.out.println("put on a raincoat");
} else { // Here the temperature is less than 0
System.out.println("put on a coat");
}
Двата дадени примера са еквивалентни, но вторият е по-лесен за разбиране.
2. Нюанси на else
блока
Ако не използвате фигурни скоби в if-else
конструкция, тогава else
препраща към най-близкия предишен if
.
Пример:
Нашият code | Как ще работи |
---|---|
|
|
Ако погледнете codeа отляво, изглежда, че изходът на екрана ще бъде „Не е нужно да работите“. Но това не е така. В действителност else
блокът и изявлението „Не трябва да работите“ са свързани с второто (по-близкото) if
изявление.
В codeа отдясно свързаните if
и else
са маркирани в червено. Освен това фигурните скоби са поставени недвусмислено, като ясно показват Howви действия ще бъдат извършени. Низът, който не трябва да работите, никога не се показва, когато 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); // Create a Scanner object
int a = console.nextInt(); // Read the first number from the keyboard
int b = console.nextInt(); // Read the second number from the keyboard
if (a < b) // If a is less than b
System.out.println(a); // we display a
else // otherwise
System.out.println(b); // we display b
}
}