1. Logica booleana

In Java, non puoi scrivere l'espressione 18 < age <65. Questa è una sintassi errata e il programma non verrà compilato.

Ma puoi scriverlo così:

(18 < age) AND (age < 65)

Naturalmente, al posto della parola AND, ci sarebbe un operatore logico . Ne parleremo in modo più dettagliato ora.

Ci sono tre operatori logici in Java: AND(&&), OR(||) e NOT(!).

La buona notizia è che puoi usare le parentesi per costruire espressioni logiche di qualsiasi complessità.

La cattiva notizia è che gli sviluppatori Java hanno deciso di utilizzare la notazione del linguaggio C invece delle parole and, ore not.

Guarda lo schermo:

Operatore logico Aspettativa La realtà
AND (∧) and &&
OR (∨) or ||
NOT (¬) not !

Ecco alcuni esempi di utilizzo degli operatori logici in Java:

Espressione Interpretazione Spiegazione
(0 < a) && (a < 100)
(0 < a) and (a < 100)
(0 < a) AND (a < 100)
(!a) && (!b)
(not a) and (not b)
(NOT a) AND (NOT b)
!(!a || !b)
not((not a) or (not b))
NOT((NOT a) OR (NOT b))


2. Esempi di utilizzo di operatori di confronto e variabili booleane

Ovunque puoi scrivere un'espressione logica, puoi scrivere una variabile logica.

Esempio:

Codice Spiegazione
int age = 35;
if (age >= 18 && age <= 65)
   System.out.println("You can work");
Se il valore dell'età è compreso tra 18e 65, viene visualizzata la frase "Puoi lavorare".
int age = 35;
boolean isYoung = (age < 18);
if (!isYoung && age <= 65)
   System.out.println("You can work");
Abbiamo creato una isYoungvariabile e vi abbiamo spostato la prima parte dell'espressione. Abbiamo semplicemente sostituito age >= 18con age < 18.
int age = 35;
boolean isYoung = (age < 18);
boolean isOld = (age > 65);
if (!isYoung && !isOld)
   System.out.println("You can work");
Abbiamo creato una variabile isOld e vi abbiamo spostato la seconda parte dell'espressione. Inoltre, abbiamo sostituito age <= 65con age > 65.

Questi tre esempi sono equivalenti. Solo nel secondo esempio abbiamo spostato parte dell'espressione dall'istruzione ifin una variabile booleana separata ( isYoung). Nel terzo esempio, abbiamo spostato la seconda parte dell'espressione in una seconda variabile ( isOld).



3. Aritmetica logica

Esaminiamo brevemente le operazioni logiche.

L' ANDoperatore è &&, noto anche come congiunzione .

Espressione Risultato
true && true
true
true && false
false
false && true
false
false && false
false

In altre parole, il risultato di un'espressione è truesolo se entrambi i valori che compongono l'espressione sono true. Altrimenti è sempre false.

L' ORoperatore è ||, noto anche come disgiunzione .

Espressione Risultato
true || true
true
true || false
true
false || true
true
false || false
false

In altre parole, il risultato di un'espressione è sempre truese almeno un termine nell'espressione è true. Se entrambi lo sono false, il risultato è false.

L' NOToperatore è !, noto anche come l' inverso logico .

Espressione Risultato
!true
false
!false
true

L'operatore passa truea falsee viceversa.

Espressioni utili:

Espressione Risultato
m && !m
false
m || !m
true
!(a && b)
!a || !b
!(a || b)
!a && !b