Java/Variables et types

Leçons de niveau 14
Une page de Wikiversité, la communauté pédagogique libre.
Début de la boite de navigation du chapitre
Variables et types
Icône de la faculté
Chapitre no 2
Leçon : Java
Chap. préc. :Introduction
Chap. suiv. :Opérations
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « Java : Variables et types
Java/Variables et types
 », n'a pu être restituée correctement ci-dessus.

Sur les autres projets Wikimedia :

La base de tout programme est la manipulation de données et d'ailleurs tous les programmes ne sont que ça ! C’est pourquoi il faut savoir quels sont les types de données de base que l’on peut utiliser dans le langage Java mais aussi comment créer des données que l’on appelle variable.

Les types de base[modifier | modifier le wikicode]

Les types de donnée de base en Java sont :

  • boolean : un booléen (d'ordre 2 en réalité) qui ne pourra prendre que les valeurs true ou false.
  • byte : un entier relatif très court (entre −128 et 127).
  • short : un entier relatif court (entre −32 768 et 32 767).
  • int : un entier relatif (entre −2 147 483 648 et 2 147 483 647).
  • long : un entier relatif long (entre −9 223 372 036 854 776 000 et 9 223 372 036 854 776 000).
  • float : un nombre décimal (entre et ).
  • double : un nombre décimal à double précision (entre et ).
  • char : un caractère (entre '\u0000' et '\uffff').
  • String : une chaine de caractère. NB : ce n'est pas un type primitif mais une classe.
Type primitif Taille en octets Valeur par défaut Représentation Information complémentaire
boolean Non spécifié false true / false La taille dépend de la JVM
char 2 '\u0000' Entre '\u0000' et '\uffff' Caractère unicode
byte 1 0
short 2 0
int 4 0
long 8 0L
float 4 0f Entre et Précision
double 8 0d Entre et Précision


Des conversions existent entre ces différents types de données. En effet, il est possible de convertir un float en double, ou encore un int en double. Il est aussi possible de convertir un caractère en entier et inversement. Le meilleur moyen de connaître les conversions possibles est encore de les essayer. Il est cependant inutile d'essayer de convertir un booléen en quoi que ce soit d'autre.

Remarque : dans la pratique, pour représenter des nombres, on utilise le plus souvent que les types int et double. Cela évite en général les problèmes de conversion. Remarque : les chaînes de caractères (String) ne sont pas un type de base en Java, mais sont bel et bien des objets. Le traitement de ce type d'objet en mémoire n’est pas le même que les autres objets.

Déclarer une variable[modifier | modifier le wikicode]

La déclaration d'une variable se fait toujours de la même manière quel que soit le type de donnée utilisé (y compris les types qui ne sont pas de base mais cela sera vu dans le chapitre consacré aux objets).

Prenons donc un exemple de déclaration de variable :

public static int monEntier ;
//Je crée ici un entier sans l'initialiser, sa valeur est la valeur par défaut pour le type int: 0.
monEntier = 4 ;
//J’ai maintenant changé la valeur 4 à mon entier.

public static boolean monBooleen = true ;
//Il est aussi possible de donner une valeur à la variable dès sa déclaration.

On peut remarquer ici l'apparition des mots clés public et static, il n’est pas nécessaire de s'en préoccuper, leur signification sera vu dans le chapitre consacré aux objets. Ces termes ne sont d'ailleurs pas obligatoires mais on se contentera de les laisser tant que l’on ne connaît pas exactement leur signification.

Si l’on souhaite donner une valeur particulière à une variable de type char, il faut écrire le caractère entre ' '. Pour les chaînes de caractères, ou String, il faut écrire la chaîne entre " ".

Déclarer une constante[modifier | modifier le wikicode]

Il arrive parfois que l’on ait besoin d’utiliser des constantes, notamment pour donner un nom explicite à un chiffre, qui sera donc plus simple à manipuler pour notre esprit. La déclaration de constante se fait donc de la manière suivante :

public static final String MA_CONSTANTE = "Peuh" ;

Le mot final indique qu'une fois une valeur donnée, cette variable ne pourra plus en changer.

Remarque : Il est important de garder cette convention de nommage des constantes !

Conversion de type[modifier | modifier le wikicode]

En Java, il est possible de modifier le type des variables. Il existe deux manières de réaliser cette opération :

  • une conversion implicite : la modification est réalisée automatiquement par le compilateur, si la conversion du type A vers le type B peut se faire sans perte quelle que soit la valeur du type A ;
  • une conversion explicite via l'opérateur cast sous la forme (type_souhaité)variable est nécessaire. Par exemple
{
  int x = (int)Math.PI;
}

Variables et classes[modifier | modifier le wikicode]

Les types de variables ne sont pas des classes, il est aisé de les confondre mais les conventions habituelles d'écritures permettent de les distinguer. Les types de variables sont toujours écrits en minuscules, par contre les classes ont en principe leur premier caractère en majuscule. Aussi lorsque vous rencontrez un Int, ce n’est pas un type de base mais bien une classe en effet les variables peuvent être encapsulées, et Java fournit pour tous[1] les types de variables des classes d'encapsulage appelées wrappers (paquetages).

Ceci peut être utile dans certains cas pour bénéficier de certaines caractéristiques de la classe mère Object. Par exemple, la pose d'un verrou de synchronisation (instruction synchronized) ne peut se faire que sur un objet.

Références[modifier | modifier le wikicode]

  1. (en) http://docs.oracle.com/javase/6/docs/api/java/sql/Wrapper.html

Document au format H T M L[html]le document est sous une licence copyright[licence Copyright](en)lien vers le document • Information sur les types primitifs