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
изразите могат да бъдат вложени един в друг. Това прави възможно внедряването на доста сложна логика в програма.
Но горният пример също е интересен с това, че можем да направим 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");
Програмистите обаче обикновено пишат тази конструкция малко по-различно:
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