« Salut, Amigo. Laisse-moi te parler d'un nouveau type de données. Le type boolean. Les variables de ce type ne peuvent prendre que deux valeurs : true et false. »
« Comment je peux les utiliser ? »
« Ce type est implicitement utilisé à de nombreux endroits. De la même façon que toute opération d'addition produit un nombre, le résultat de toute comparaison est un boolean. Voici quelques exemples : »
| Code | Explication | |
|---|---|---|
| 1 | |
Ces deux expressions sont équivalentes. La valeur par défaut d'une variable boolean est false. |
| 2 | |
|
| 3 | |
Le résultat de la comparaison (true ou false) est affecté à la variable m. La condition est satisfaite si l'expression est true. |
| 4 | |
|
| 5 | |
Tu n'as pas besoin de comparer une variable logique (boolean) avec true ou false. Le résultat de la comparaison sera un boolean qui correspond à l'autre variable. Par exemple, true == true donne true ; true == false donne false. |
| 6 | |
« Voici d'autres exemples : »
| Code | Explication | |
|---|---|---|
| 1 | |
Cette méthode vérifie si le nombre a est inférieur au nombre b. Voici quatre comparaisons équivalentes. La dernière est la plus compacte et correcte. Essaie toujours d'utiliser une notation compacte. |
| 2 | |
|
| 3 | |
|
| 4 | |
« Et si je veux écrire 0<a<b ? »
« Java ne propose pas d'opérateur de comparaison prenant trois opérandes. Tu devrais donc faire quelque chose de ce style : (0<a) AND (a<b). »
« Je dois écrire le mot AND tel quel ? »
« Une seconde. Je vais t'expliquer ça. Java a trois opérateurs logiques : AND, OR et NOT. Tu peux les utiliser pour construire des conditions plus ou moins complexes. Tu peux utiliser ces opérateurs uniquement avec des expressions booléennes. Ainsi, tu ne peux pas écrire (a+1) AND (3), mais (a>1) AND (a<3) ne pose pas de problème. »
« L'opérateur NOT est unaire : il n'affecte que l'expression directement à sa droite. Ça ressemble plus à un signe moins avant un nombre négatif qu'un signe de multiplication entre deux nombres. »
« Tu peux effectuer diverses opérations sur les variables boolean (logiques). »
« Comme quoi ? »
« Voyons un peu : »
| Opérateur logique | Notation Java | Expression | Résultat |
|---|---|---|---|
| AND | && | true && true | true |
| true && false | false | ||
| false && true | false | ||
| false && false | false | ||
| OR | || | true || true | true |
| true || false | true | ||
| false || true | true | ||
| false || false | false | ||
| NOT | ! | ! true | false |
| ! false | true | ||
| Combinaisons et expressions courantes | m && !m | false | |
| m || !m | true | ||
| ! (a && b) | !a || !b | ||
| ! (a || b) | !a && !b | ||
« Pourrais-tu me donner plus d'exemples ? »
« Bien sûr : »
| Notation Java | Notation logique |
|---|---|
| (a<3) && (a>0) | (a < 3) AND (a>0) |
| (a>10) || (a<100) | (a>10) OR (a<100) |
| (a<b) && (!(c<=d)) | (a<b) AND (NOT (c<=d)) |
« Maintenant, passons aux missions. »
GO TO FULL VERSION