1. Logique booléenne

En Java, vous ne pouvez pas écrire l'expression 18 < age <65. C'est une syntaxe incorrecte et le programme ne compilera pas.

Mais vous pouvez l'écrire comme ceci :

(18 < age) AND (age < 65)

Bien sûr, au lieu du mot AND, il y aurait un opérateur logique . Nous allons en parler plus en détail maintenant.

Il existe trois opérateurs logiques en Java : AND(&&), OR(||) et NOT(!).

La bonne nouvelle est que vous pouvez utiliser des parenthèses pour construire des expressions logiques de n'importe quelle complexité.

La mauvaise nouvelle est que les développeurs Java ont décidé d'utiliser la notation du langage C au lieu des mots and, oret not.

Regarde l'écran:

Opérateur logique Attente Réalité
AND (∧) and &&
OR (∨) or ||
NOT (¬) not !

Voici quelques exemples d'utilisation d'opérateurs logiques en Java :

Expression Interprétation Explication
(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. Exemples d'utilisation d'opérateurs de comparaison et de variables booléennes

Partout où vous pouvez écrire une expression logique, vous pouvez écrire une variable logique.

Exemple:

Code Explication
int age = 35;
if (age >= 18 && age <= 65)
   System.out.println("You can work");
Si la valeur de l'âge est comprise entre 18et 65, la phrase "Vous pouvez travailler" s'affiche.
int age = 35;
boolean isYoung = (age < 18);
if (!isYoung && age <= 65)
   System.out.println("You can work");
Nous avons créé une isYoungvariable et y avons déplacé la première partie de l'expression. Nous avons simplement remplacé age >= 18par age < 18.
int age = 35;
boolean isYoung = (age < 18);
boolean isOld = (age > 65);
if (!isYoung && !isOld)
   System.out.println("You can work");
Nous avons créé une variable isOld et y avons déplacé la deuxième partie de l'expression. De plus, nous avons remplacé age <= 65par age > 65.

Ces trois exemples sont équivalents. Ce n'est que dans le deuxième exemple que nous avons déplacé une partie de l'expression de l' ifinstruction dans une variable booléenne distincte ( isYoung). Dans le troisième exemple, nous avons déplacé la deuxième partie de l'expression dans une deuxième variable ( isOld).



3. Arithmétique logique

Passons brièvement en revue les opérations logiques.

L' ANDopérateur est &&, également connu sous le nom de conjonction .

Expression Résultat
true && true
true
true && false
false
false && true
false
false && false
false

En d'autres termes, le résultat d'une expression est trueuniquement si les deux valeurs qui composent l'expression sont true. Sinon, c'est toujours false.

L' ORopérateur est ||, également connu sous le nom de disjonction .

Expression Résultat
true || true
true
true || false
true
false || true
true
false || false
false

En d'autres termes, le résultat d'une expression est toujours truesi au moins un terme de l'expression est true. Si les deux sont false, alors le résultat est false.

L' NOTopérateur est !, également appelé inverse logique .

Expression Résultat
!true
false
!false
true

L'opérateur passe trueà falseet vice versa.

Expressions utiles:

Expression Résultat
m && !m
false
m || !m
true
!(a && b)
!a || !b
!(a || b)
!a && !b