Operatory logiczne w Javie pozwalają na łączenie wyrażeń logicznych i są fundamentem dla konstrukcji warunkowych oraz pętli. Umożliwiają one wykonanie operacji na wartościach boolean (true
lub false
). Oto przegląd głównych operatorów logicznych dostępnych w Javie wraz z przykładami ich użycia.
1. Operator AND (&&
)
Zwraca true
tylko wtedy, gdy oba porównywane wyrażenia są prawdziwe.
boolean a = true;
boolean b = false;
System.out.println(a && b); // Wynik: false, ponieważ b jest false
int x = 5, y = 10, z = 15;
System.out.println(x > 0 && y < 20); // Wynik: true, oba warunki są spełnione
2. Operator OR (||
)
Zwraca true
, gdy przynajmniej jedno z porównywanych wyrażeń jest prawdziwe.
boolean a = true;
boolean b = false;
System.out.println(a || b); // Wynik: true, ponieważ a jest true
int x = 5, y = 10, z = 15;
System.out.println(x > 10 || y < 20); // Wynik: true, ponieważ drugi warunek jest spełniony
3. Operator NOT (!
)
Zwraca wartość przeciwną do wartości wyrażenia.
boolean a = true;
System.out.println(!a); // Wynik: false
int x = 5;
System.out.println(!(x > 10)); // Wynik: true, ponieważ x > 10 jest false
Zastosowanie operatorów logicznych:
Operatory logiczne są szczególnie użyteczne w instrukcjach warunkowych if
, else if
, while
, gdzie możemy łączyć różne warunki.
int wiek = 20;
boolean maPrawoJazdy = true;
if (wiek >= 18 && maPrawoJazdy) {
System.out.println("Możesz prowadzić samochód.");
} else {
System.out.println("Nie możesz prowadzić samochodu.");
}
W tym przykładzie, osoba może prowadzić samochód tylko wtedy, gdy spełnia dwa warunki: ma co najmniej 18 lat (wiek >= 18
) oraz posiada prawo jazdy (maPrawoJazdy
). Użycie operatora &&
pozwala na sprawdzenie obu tych warunków jednocześnie.
Krótkie circuitowanie (ang. short-circuit evaluation):
- Dla
&&
: Jeśli pierwsze wyrażenie jestfalse
, Java nie ocenia drugiego wyrażenia, ponieważ całe wyrażenie i tak będziefalse
. - Dla
||
: Jeśli pierwsze wyrażenie jesttrue
, Java nie ocenia drugiego wyrażenia, ponieważ całe wyrażenie i tak będzietrue
.