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
}
}
GO TO FULL VERSION