1. Succesiunea ifafirmațiilor
Uneori, un program trebuie să efectueze multe acțiuni diferite, în funcție de valoarea unei variabile sau de valoarea unei expresii.
Să presupunem că sarcina noastră este cam așa:
- Dacă temperatura este mai mare de
20grade, atunci puneți o cămașă - Dacă temperatura este mai mare de
10grade și mai mică decât (sau egală cu)20, atunci îmbrăcați un pulover - Dacă temperatura este mai mare de
0grade și mai mică decât (sau egală cu)10, atunci îmbrăcați o pelerină de ploaie - Dacă temperatura este mai mică de
0grade, atunci puneți o haină.
Iată cum poate fi reprezentat acest lucru în cod:
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-elseinstrucțiunile pot fi imbricate unele în altele . Acest lucru face posibilă implementarea unei logici destul de complexe într-un program.
Cu toate acestea, programatorii scriu de obicei acest construct puțin diferit:
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");
}
Cele două exemple date sunt echivalente, dar al doilea este mai ușor de înțeles.
2. Nuanțe ale elseblocului
Dacă nu folosiți acolade într-o if-elseconstrucție, atunci se elsereferă la cel mai apropiat if.
Exemplu:
| Codul nostru | Cum va funcționa |
|---|---|
|
|
Dacă te uiți la codul din stânga, se pare că ieșirea ecranului va fi „Nu trebuie să lucrezi”. Dar nu este cazul. În realitate, elseblocul și instrucțiunea „Nu trebuie să lucrezi” sunt asociate cu a doua ifdeclarație (cea mai apropiată).
În codul din dreapta, asociatele ifși elsesunt evidențiate cu roșu. În plus, bretele sunt plasate fără ambiguitate, arătând clar ce acțiuni vor fi efectuate. Șirul Tu nu trebuie să lucrezi nu este afișat niciodată când ageeste mai mare decât 60.
3. Exemplu de utilizare a unei if-elsedeclarații
Deoarece am explorat if-elseatât de bine afirmația, să dăm un exemplu:
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