FAQ Langage JavaConsultez toutes les FAQ

Nombre d'auteurs : 41, nombre de questions : 296, dernière mise à jour : 8 mars 2017  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions fréquemment posées sur le forum Java de http://java.developpez.com ainsi que l'expérience personnelle des auteurs.

Nous tenons à souligner que cette FAQ ne garantit en aucun cas que les informations qu'elle propose sont correctes. Les auteurs font leur maximum, mais l'erreur est humaine. Cette FAQ ne prétend pas non plus être complète. Si vous trouvez une erreur, ou que vous souhaitez nous aider en devenant rédacteur, lisez ceci.

Sur ce, nous vous souhaitons une bonne lecture.


SommaireBases du langageBooléens (6)
précédent sommaire suivant
 

Il est possible de représenter une valeur booléenne en Java en utilisant le type primitif boolean. Ce type ne peut avoir que deux valeurs :

  • true - la valeur « vrai » ;
  • false - la valeur « faux ».


Par exemple :

Code Java : Sélectionner tout
1
2
boolean vrai = true; 
boolean faux = false;

De plus, ce type primitif dispose d'une classe wrapper équivalente qui permet de manipuler ces valeurs comme des objets : java.lang.Boolean.

Code Java : Sélectionner tout
1
2
Boolean vrai = new Boolean(true); // On évitera cependant cette manière de faire (voir plus bas). 
Boolean faux = new Boolean(false); // Même chose.

Ou encore grâce à l'auto-boxing :

Code Java : Sélectionner tout
1
2
Boolean vrai = true; 
Boolean faux = false;

De plus, la classe java.lang.Boolean dispose de deux constantes publiques statiques destinées à être utilisées en tant que singleton, ce qui permet d’éviter d'avoir à allouer de la mémoire pour de nouvelles instances :

Code Java : Sélectionner tout
1
2
Boolean vrai = Boolean.TRUE; 
Boolean faux = Boolean.FALSE;

En Java, tous les tests et toutes les conditions sont des expressions qui retournent des valeurs de type boolean. Contrairement à d'autres langages, la valeur false et le nombre 0 ne sont pas équivalents.

Mis à jour le 4 juin 2015 bouye

Pour inverser la valeur d'un booléen, vous devez utiliser l’opérateur ! (« négation » ou « inverse » ou « non » ou not). Par exemple :

Code Java : Sélectionner tout
1
2
3
boolean a = true; 
boolean b = !a; // b vaut false. 
boolean c = !b; // c vaut true.

Table de vérité


a !a (négation)
false true
true false

Mis à jour le 4 juin 2015 bouye

Pour comparer des booléens entre eux, vous devez utiliser les opérateurs conditionnels == (« égalité » ou equals to) ou != (« différence » ou different from ou is not). Par exemple :

Code Java : Sélectionner tout
1
2
3
4
boolean a = true;  
boolean b = false;  
boolean c = a == b; // c vaut false.  
boolean d = a != b; // d vaut true

Table de vérité
a b a == b (égalité) a != b (différence)
false false true false
false true false true
true false false true
true true true false

Mis à jour le 4 juin 2015 bouye

Pour composer des booléens entre eux, vous devez utiliser les opérateurs conditionnels (conditional) && (« conjonction » ou « et » ou conditional and) et || (« disjonction » ou « ou » ou conditional or). Par exemple :

Code Java : Sélectionner tout
1
2
3
4
boolean a = true; 
boolean b = false; 
boolean c = a && b; // c vaut false. 
boolean d = a || b; // d vaut true.

Il est également possible d'utiliser les opérateurs logiques (« bit à bit » ou logical) & (« produit » ou « et logique » ou logical and), | (« somme » ou « ou logique » ou logical inclusive or) et ^ (« disjonction exclusive » ou logical exclusive or ou xor). Par exemple :

Code Java : Sélectionner tout
1
2
3
4
5
boolean a = true; 
boolean b = false; 
boolean c = a & b; // c vaut false. 
boolean d = a | b; // d vaut true. 
boolean e = a ^ b; // d vaut true.

Les opérateurs d'affectation correspondants sont :
&& (conjonction) || (disjonction) & (produit) | (somme) ^ (disjonction exclusive)
pas d’équivalent pas d’équivalent &= |= ^=
Tous ces opérateurs binaires appliquent les règles de la table suivante :

Table de vérité
a b a && b (conjonction) a || b (disjonction) a & b (produit) a | b (somme) a ^ b (disjonction exclusive)
false false false false false false false
false true false true false true true
true false false true false true true
true true true true true true false

Mis à jour le 4 juin 2015 bouye

Pour convertir un booléen en chaîne de caractères, vous pouvez utiliser les diverses variantes de la méthode toString() de la classe java.lang.Boolean. Par exemple :

Code Java : Sélectionner tout
1
2
3
4
boolean a = true; 
String s1 = Boolean.toString(a); 
Boolean b = Boolean.FALSE; 
String s2 = b.toString();

Il est également possible d'invoquer l'une des variantes de la méthode publique statique valueOf() de la classe String.

Mis à jour le 4 juin 2015 bouye

Pour convertir une chaîne de caractères en booléen, vous pouvez invoquer la méthode publique statique parseBoolean() de la classe java.lang.Boolean. Cette méthode retourne la valeur true si et seulement si la chaine passée en paramètre est équivalente à la chaine "true" en ignorant la casse (majuscules/minuscules). Toute autre valeur pour ce paramètre retourne la valeur false. Par exemple :

Code Java : Sélectionner tout
1
2
3
4
5
6
String s1 = "True"; 
boolean a = Boolean.parseBoolean(s1); // a vaut true. 
String s2 = "yes"; 
boolean b = Boolean.parseBoolean(s1); // b vaut false. 
String s3 = "false"; 
boolean c = Boolean.parseBoolean(s1); // c vaut false.

Vous pouvez également utiliser constructeur de la classe java.lang.Boolean qui prend un paramètre une instance de String. Le nouvel objet est équivalent à Boolean.TRUE si et uniquement si la chaine passée en paramètre est équivalente à la chaine "true" en ignorant la casse (majuscules/minuscules). Toute autre valeur pour ce paramètre créera un objet équivalent à Boolean.FALSE.

Mis à jour le 4 juin 2015 bouye

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2017 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
Responsables bénévoles de la rubrique Java : Mickael Baron - Robin56 -