1. Sekwencja if
-ov
Czasami program musi zrobić wiele różnych rzeczy w zależności od wartości jakiejś zmiennej lub wartości jakiegoś wyrażenia.
Powiedzmy, że zadanie wygląda tak:
- Jeśli temperatura jest powyżej
20
stopni - załóż koszulę - Jeśli temperatura jest powyżej
10
stopni i niższa (lub równa)20
- załóż sweter - Jeśli temperatura jest wyższa od
0
stopni i niższa (lub równa)10
- załóż płaszcz przeciwdeszczowy - Jeśli temperatura spadnie poniżej
0
stopni, załóż płaszcz.
Jak można to przedstawić w kodzie:
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");
}
}
Operatory If-else
mogą być zagnieżdżane jeden w drugim , a tym samym implementować dość złożoną logikę w programie.
Chociaż programiści zwykle piszą taką konstrukcję trochę inaczej:
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");
}
Dwa podane przykłady są równoważne, ale drugi jest łatwiejszy do zrozumienia.
2. Niuanseelse
Jeśli w konstrukcji if-else
nie ma nawiasów klamrowych , else
odnosi się do poprzedniego (najbliższego) if
-y.
Przykład:
Nasz kod | Jak to będzie działać |
---|---|
|
|
Jeśli spojrzysz na kod po lewej stronie, wydaje się, że na ekranie pojawi się komunikat „Możesz nie pracować”. Jednak tak nie jest. W rzeczywistości else
polecenie „Nie możesz pracować” odnosi się do drugiego (najbliższego) if
-y.
W kodzie po prawej stronie powiązane if
i są podświetlone na czerwono else
. Specjalnie umieszczone są również nawiasy, które jednoznacznie pokazują kolejność wykonywania czynności. Napis May not work nie pojawia się nigdy na ekranie age
więcej 60
.
3. Przykład użycia operatoraif-else
Ponieważ tak dobrze przeanalizowaliśmy operatora if-else
, podajmy przykład:
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