Instrukcje warunkowe w Javie umożliwiają wykonanie różnych bloków kodu w zależności od spełnienia określonych warunków logicznych. Dzięki nim, program może podejmować decyzje i wykonywać różne akcje w odpowiedzi na zmienne okoliczności. Java oferuje kilka rodzajów instrukcji warunkowych, takich jak if
, else if
, else
, oraz switch
.
Instrukcja if
Instrukcja if
pozwala na wykonanie bloku kodu, tylko jeśli spełniony jest określony warunek.
int liczba = 10;
if (liczba > 0) {
System.out.println("Liczba jest dodatnia.");
}
Instrukcja if
…else
Instrukcja if
…else
rozszerza instrukcję if
, umożliwiając wykonanie alternatywnego bloku kodu, jeśli warunek nie jest spełniony.
int liczba = -5;
if (liczba > 0) {
System.out.println("Liczba jest dodatnia.");
} else {
System.out.println("Liczba jest ujemna lub równa zero.");
}
Instrukcja if
…else if
…else
Instrukcja if
…else if
…else
umożliwia testowanie serii warunków, jeden po drugim. Jeśli żaden z warunków nie jest spełniony, wykonywany jest blok kodu po else
.
int liczba = 0;
if (liczba > 0) {
System.out.println("Liczba jest dodatnia.");
} else if (liczba < 0) {
System.out.println("Liczba jest ujemna.");
} else {
System.out.println("Liczba jest równa zero.");
}
Instrukcja switch
Instrukcja switch
umożliwia wykonanie różnych bloków kodu w zależności od wartości wyrażenia. Jest szczególnie użyteczna, gdy trzeba porównać tę samą zmienną (lub wyrażenie) z wieloma różnymi wartościami.
int miesiac = 4;
String nazwaMiesiaca;
switch (miesiac) {
case 1: nazwaMiesiaca = "Styczeń"; break;
case 2: nazwaMiesiaca = "Luty"; break;
case 3: nazwaMiesiaca = "Marzec"; break;
case 4: nazwaMiesiaca = "Kwiecień"; break;
default: nazwaMiesiaca = "Nieznany"; break;
}
System.out.println("Miesiąc: " + nazwaMiesiaca);
W powyższym przykładzie, switch
sprawdza wartość zmiennej miesiac
i porównuje ją z kolejnymi przypadkami (case
). Jeśli znajdzie dopasowanie, wykonuje się blok kodu po case
aż do napotkania break
, który kończy instrukcję switch
. Jeśli nie zostanie znalezione żadne dopasowanie, wykonany zostanie blok kodu po default
.
Uwagi
- Instrukcja
switch
w nowszych wersjach Javy (od Java 12) obsługuje również nową, bardziej ekspresyjną składnię, która nie wymagabreak
i pozwala na bezpośrednie zwracanie wartości wcase
. - Wartością w instrukcji
switch
może byćint
,char
,String
oraz kilka innych typów. - Warto pamiętać, że instrukcje warunkowe mogą być zagnieżdżane, co oznacza, że wewnątrz jednej instrukcji warunkowej może znajdować się kolejna.