« 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;
}
4
Mission
Syntaxe Java,  niveau 4leçon 7
Bloqué
Étiquettes et nombres
Toutes les étiquettes ne sont pas également utiles, mais parfois leur absence peut provoquer le chaos. Effectuons une mission pour distribuer des étiquettes : utilise le clavier pour saisir un entier, et indique avec le programme si le nombre est négatif ou positif (ou nul), et pair ou impair. Pourquoi en avons-nous besoin ? Pour nous entraîner, bien sûr. Après tout, nous sommes là pour apprendre !

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

8
Mission
Syntaxe Java,  niveau 4leçon 7
Bloqué
Description de nombres
Supposons que nous devons séparer des nombres selon certains critères. Par exemple, selon qu'ils sont pairs ou impairs, ou en fonction du nombre de chiffres. Tu arrives à te représenter la situation ? Et maintenant pour le travail : nous allons écrire un programme qui décrit le nombre saisi par l'utilisateur (il doit se situer dans la plage de 1 à 999). La description indiquera si le nombre est pair ou impair, et le nombre de chiffres qu'il compte.
4
Mission
Syntaxe Java,  niveau 4leçon 7
Bloqué
Nombre positif
À l'école « Optimiste », l'échelle utilisée pour évaluer les connaissances n'a pas de limite supérieure ou inférieure. Cela fait le bonheur des jeunes surdoués (tu ne serais pas content d'avoir une note d'un tétramillion pour ton exposé, toi ?). Toutes les notes supérieures à zéro sont considérées comme bonnes. Celles en dessous de zéro sont mauvaises. Les élèves doivent passer des examens finaux dans trois sujets. Nous devons saisir ces notes au clavier, puis afficher le nombre de notes positives.
4
Mission
Syntaxe Java,  niveau 4leçon 7
Bloqué
Nombres positifs et négatifs
L'analyse des données commence par un concept simple : nous devons comprendre quelles données comptent et doivent être utilisées, et celles qui doivent être abandonnées. Résolvons un problème d'analyse de données simple. Nous saisissons trois entiers au clavier, puis nous les analysons et affichons le nombre de nombres positifs et négatifs dans l'ensemble source.
2
Mission
Syntaxe Java,  niveau 4leçon 7
Bloqué
Saisie de code
Parfois, inutile de réfléchir, il suffit de le marteler ! Aussi paradoxal que cela puisse paraître, il arrive que tes doigts se « souviennent » mieux des choses que ton esprit conscient. C'est pourquoi la formation du centre secret CodeGym comprend parfois des tâches qui t'obligent à saisir le code. En saisissant le code, tu t'habitues à la syntaxe et tu gagnes un peu de matière noire. Et rien de mieux pour combattre la paresse !