[java] type bool MIN_VALUE | MAX_VALUE

Bonjour

Voilà ma question, je n'arrive pas à savoir le minimum booléen et le maximum booléen via MIN_VALUE et MAX_VALUE.

J'ai du les initialiser à false et true

------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------------------------------

// ValLimTypPrim.java
// Programme d'écriture des valeurs limites des types primitifs
// Ce programme donne les valeurs minimums et maximums de chacun des types
// entiers et réels avec les constantes MAX_VALUE et MIN_VALUE

class ValLimTypPrim {

public static void main (String [] args) {

	byte b1 = Byte.MIN_VALUE ; // le plus petit byte
	byte b2 = Byte.MAX_VALUE ; // le plus grand byte
	short s1 = Short.MIN_VALUE ; // le plus petit short
	short s2 = Short.MAX_VALUE ; // le plus grand short
	int i1 = Integer.MIN_VALUE ; // le plus petit entier
	int i2 = Integer.MAX_VALUE ; // le plus grand entier
	long l1 = Long.MIN_VALUE ; // le plus petit long
	long l2 = Long.MAX_VALUE ; // le plus grand long
	float f1 = Float.MIN_VALUE ; // le plus petit décimal, float
	float f2 = Float.MAX_VALUE ; // le plus grand décimal, float
	double d1 = Double.MIN_VALUE ; // le plus petit double
	double d2 = Double.MAX_VALUE ; // le plus grand double
	boolean bo1 = true; // le plus petit booléen
	boolean bo2 = false; // le plus grand booléen
	char c1 = Character.MIN_VALUE ; // le plus petit caractère
	char c2 = Character.MAX_VALUE ; // le plus grand caractère
	
	System.out.println ("le plus petit byte       :: " + b1);
	System.out.println ("Le plus grand byte       :: " + b2);
	System.out.println ("Le plus petit short      :: " + s1);
	System.out.println ("Le plus grand short      :: " + s2);
	System.out.println ("Le plus petit entier     :: " + i1);
	System.out.println ("Le plus grand entier     :: " + i2);
	System.out.println ("Le plus petit long       :: " + l1);
	System.out.println ("Le plus grand long       :: " + l2);
	System.out.println ("Le plus petit float      :: " + f1);
	System.out.println ("Le plus grand float      :: " + f2);
	System.out.println ("Le plus petit double     :: " + d1);
	System.out.println ("Le plus grand double     :: " + d2);
	System.out.println ("Le plus petit booléen    :: " + bo1);
	System.out.println ("Le plus grand booléen    :: " + bo2);
	System.out.println ("Le plus petit caractère  :: " + c1);
	System.out.println ("Le plus grand caractère  :: " + c2);
	
	}
}

	


Explication::: Ici le code est tout à fait opérationnel

Sauriez-vous pourquoi les constantes MAX_VALUE et MIN_VALUE ne fonctionnent pas pour le type boolean?

byte                     : entier signé sur 8bits
short                   : entier signé sur 16 bits
int                       : entier signé sur 32 bits
long                    :  entier signé sur 64 bits
float                    : réel sur 32 bits
double                : réel sur 64 bits
boolean              : true ou false
char                    : caractère Unicode sur 16 bits


limite

2 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut Choubaka

    Ok, je crois commencer à comprendre le méchanisme...

    Encore un tout grand merci

    Limite
    1. Modérateur
      salut

      tout simplement parce que ces champs statiques n'existent pas dans l'objet Boolean. Ce qui n'a pas de raison d'être vu ce type de valeur. 1 ou 0 en l'occurence.