-
Come eredità del C, si usa '==' per
l'uguaglianza, e non '=' (assegnamento)
-
Applicati alle espressoni numeriche (int,
double, ...) hanno il significato ovvio
-
Gli operatori == e != possono essere
applicati a qualunque tipo di dato
int x = 10;
int y = 20;
boolean b = x < y; |
b vale true |
boolean b1 = x >= y == b; |
b1 vale false |
double r = Math.sqrt(2);
boolean b2 = 2.0 == r * r; |
b2 vale false!! |
Attenzione: in generale non ha senso confrontare
due valori double con == o !=a
causa degli errori di approssimazione
-
Gli operatori di confronto
hanno precedenza su quelli logici:
int a,
x;
boolean b = false;
a = 0;
x = 1;
boolean c = a
!= 0 & x > 0 == b |
Alla fine c vale
false, quindi l'espressione viene letta come
(a != 0) &
((x > 0) == b)
Nota che ((a != 0) & (x > 0)) == b)
vale true |
|