juillet
2005
Pour vous préparer à la Certification Java SCJP 5.0, nous vous proposons quelques fiches.
Aujourd’hui, en voici une concernant les primitives
Java ne possede pas que des objets. Il possède également des primitives.
En Java, il y a 9 primitives que l’on peut regrouper en 4 catégories (peut-être même 5):
1. nombres entiers: byte, short, char, int, long,
2. nombres décimaux: float, double
3. booléens: boolean
4. void: void
(5. caractères: char)
Comme vous le constater, la primitive char apparait dans deux catégories. En effet, char permet de stoquer un caractère au format UniCode. Mais il permet également de stoquer des nombres non signés entre 0 et 65535.
Les types de primitives numériques
Voici un tableau, avec à votre gauche la primitive, le nombre d’octets utilisés pour chacun, et les valeurs minimales et maximales.
byte (8) : [-128, 127] short (16) : [-32768, 32767] char (16) : [0, 65535] int (32) : [-2147483648, 2147483647] long (64) : [-9223372036854775808 , 9223372036854775807] float (32) : [1.4E-45, 3.4028235E38] double (64) : [4.9E-324, 1.7976931348623157E308]
le type de primitive boolean
Le type de primitive boolean n’accepte que deux valeurs: true et false.
la taille n’est pas imposée. Chaque implémentation de JVM est libre de choisir la taille occupée pour un boolean.
boolean boolean1 = true;
boolean boolean2 = false;
Le type de primitive void
Le type de primitive void est vraiment hors catégorie. En effet, on ne peut pas déclarer d’identifiant de ce type. Ce type de primitive n’accepte également aucune valeur.
void xxx; // ne passe pas à la compilation.
Mais, comme pour les autres types de primitives, il possede sa classe enveloppe correspondante.
Le type de primitive char
Comme vous l’avez vu dans le tableau ci-dessus, le type char est assez particulier puisqu’il appartient à la catégorie des nombres entiers, mais aussi à la catégories des caractères.
Le fragment de code suivant démontre que char se conduit (presque) comme les autres primitives numériques:
char nombre1= 65;
char nombre2 = 66;
// vous pouvez additionner deux nombres
char addition = (char) (nombre1 + nombre2);
//N'affichera pas 65+66=131 mais A+B=AB
System.out.println(nombre1+"+"+nombre2+"="+nombre1+nombre2);
//N'afichera pas 131=131 mais 131=AB
System.out.println(nombre1+nombre2+"="+nombre1+nombre2);
Mais, le type de primitive char permet également de stoquer et afficher des caractères:
char caractere1 = 'A';
char caractere2 = 'B';
System.out.println(caractere1); //affiche x
System.out.println(caractere2); //affiche y
System.out.println(caractere1+caracter2); //affiche 131 (résultat de l'addition de 65 (valeur interne de 'A') avec 66 (valeur interne de 'B'))
Particularité des types de primitives
Tous les types de primitives ont un « membre » qui est class.
Vous pouvez donc afficher la « classe » correspondante à ce type de primitives.
Voici un fragment de code,
System.out.println(int.class);
System.out.println(void.class.isPrimitive());
qui vous affichera
int
true
Commentaires récents
Archives
- janvier 2012
- novembre 2010
- février 2009
- janvier 2009
- décembre 2008
- septembre 2008
- août 2008
- décembre 2007
- octobre 2007
- septembre 2007
- juillet 2007
- mai 2007
- avril 2007
- mars 2007
- février 2007
- janvier 2007
- décembre 2006
- novembre 2006
- octobre 2006
- septembre 2006
- août 2006
- juillet 2006
- juin 2006
- mai 2006
- avril 2006
- février 2006
- janvier 2006
- décembre 2005
- novembre 2005
- octobre 2005
- septembre 2005
- août 2005
- juillet 2005
- juin 2005
- mai 2005
- avril 2005
Catégories
- Certification
- Défis
- Devoxx
- Devoxx 2008
- Devoxx 2010
- Devoxx France 2012
- Divers
- Événements Java
- Fiches
- Hardware
- In English
- Java
- JavaDay 2006
- JavaFX
- JavaOne 2005
- JavaOne 2006
- JavaOne 2007
- Javapolis 2005
- Javapolis 2006
- Javapolis 2007
- JBoss
- Livres
- Mac
- NetBeans
- OpenJDK
- Pensée
- Performance
- Perles
- Sun Tech Days Paris 2007
- Traduction