operatoriBooleani

calcolare valori di verità

Espressioni booleane

Nell'esempio precedente abbiamo usato come condizione lo stato di un pulsante (selezionato oppure no) ma questa è soltanto una possibilità. Possiamo utilizzare una qualsiasi espressione di cui sia possibile dire se è vera o falsa (attenzione, il "vero/falso" non ha nulla a che fare con il "corretto/sbagliato"): queste espressioni si chiamano "espressioni booleane" e in Java e il loro valore può essere soltanto true o false con il significato che è facile immaginare. Ad esempio l'espressione 4<2 vale false mentre 3<7 vale true.

Una espressione booleana si può ottenere sia combinando valori numerici che combinando valori booleani, andiamo avanti con ordine.

Operatori di confronto

Gli operatori di confronto hanno come argomento due valori numerici (ad eccezione di uguale e diverso che operano anche su operandi boolean) e restituiscono come risultato un valore boolean.

==
a == b
a è uguale a b, vale true se a ha lo stesso valore di b
!=
a != b
a è diverso da b, vale true se a non ha lo stesso valore di b
>
a > b
a è maggiore di b, vale true se a è maggiore a b
>=
a >= b
a è maggiore o uguale a b, vale true se a è maggiore o uguale a b
<
a < b
a è minore di b, vale true se a è minore di b
<=
a <= b
a è minore o uguale a b, vale true se a è minore o uguale a b

Operatori logici

Servono ad esprimere fatti abbastanza comuni come ad esempio: "un voto è un numero maggiore di zero e minore o uguale a dieci", hanno come operandi dei valori booleani e come risultato un valore booleano.

||
or, "oppure". Vale true se uno dei due operandi è true.
||truefalse
truetruetrue
falsetruefalse
true || false vale true
&&
and, "e". Vale true se entrambe i due operandi sono true.
&&truefalse
truetruefalse
falsefalsefalse
true && false vale false
!
not, "non". Inverte il valore di verità che lo segue, lavora su un singolo operando.
!
truefalse
falsetrue
!true vale false

Quanto vale true && (!false) ?

false true

In Java gli operatori logici vengono valutati con una tecnica chiamata "a corto circuito" o "valutazione minima" che sta a significare che se l'operando sinistro è sufficiente per stabilire il risultato l'altro non viene neanche valutato. Prendiamo per esempio l'espressione 4==2+2 || 78==12 visto che 4==2+2 è vera e che per l'operatore or se un operando vale true anche il risultato vale true la parte 78==12 non viene neanche considerata.