« 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
boolean m;
Ces deux expressions sont équivalentes. La valeur par défaut d'une variable boolean est false.
2
boolean m = false;
3
if (a > b)
    System.out.println(a);
Le résultat de la comparaison (true ou false) est affecté à la variable m. La condition est satisfaite si l'expression est true.
4
boolean m = (a > b);
if (m)
    System.out.println(a);
5
boolean m = (a > b);
if (m == true)
    System.out.println(a);
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
boolean m = (a > b);
if (m)
    System.out.println(a);

« Voici d'autres exemples : »

Code Explication
1
public boolean isALessThanB (int a, int b)
{
    if (a < b)
        return true;
    else
        return false;
}
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
public boolean isALessThanB (int a, int b)
{
   boolean m = (a < b);
    if (m)
        return true;
    else
        return false;
}
3
public boolean isALessThanB (int a, int b)
{
    boolean m = (a < b);
    return m;
}
4
public boolean isALessThanB (int a, int b)
{
    return a < b;
}

« 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. »