Les opérateurs logiques permettent de comparer des expressions booléennes et retournent des valeurs booléennes.
boolean variable = expression_1 opérateur expression_2; boolean variable = (x >= y) && (y < z);
Les opérateurs logiques && et || (appelés parfois opérateurs de court-circuit) évaluent le premier opérande, puis si cela est nécessaire, le second.
Il est également possible d'utiliser les opérateurs logiques &, | et ^ pour effectuer des comparaisons. Dans ce cas, l'opérateur effectuera dans tous les cas l'évaluation des deux opérandes.
Les opérateurs & et | sont couramment utilisés pour obliger Java à calculer une variable présente dans l'opérande de droite.
var = (j++ < 0) && (i-- > 0);
Opérateur | Usage | Description | Exemple |
---|---|---|---|
AND | x&&y |
L'opérateur renvoie True si les deux opérandes sont vraies; autrement, il retourne False. | (a < 10) && (b > 10) /*Si a et b sont inférieures à 10, |
OU | x || y | L'opérateur renvoie True si l'une ou l'autre des opérandes est vraie ou si toutes les deux sont fausses, sinon il retourne False. | (a >= 1) || (b == "fin") /*Si a est supérieur ou |
NOT | ! x | L'opérateur renvoie false si son unique opérande peut être convertie en true, sinon il retourne false. | !(a <= 100) /*Si a est inférieur ou égal à 100. |
AND (évaluation) | x & y | L'opérateur retourne True si les deux opérandes sont égales à True, sinon il renvoie False. | (a < 10) & (b > 10) /*Si a et b sont inférieures à 10, |
OR (évaluation) | x | y | L'opérateur retourne True si les deux opérandes ou l'une des deux sont égales à True, sinon il renvoie False. | (a >= 1) | (b == "fin") /*Si a est supérieur ou |
XOR (évaluation) | x ^ y | Cette opérateur OU EXCLUSIF retourne True si l'une des deux opérandes vaut True, sinon il renvoie False. | (a > 1) ^ (b != 10) /*Si a est supérieur à 1 |