Java/Variables et types
Une page de Wikiversité.
| Chapitre 2 | |||
| Leçon : Java | |||
|---|---|---|---|
| Chap. préc. : | Introduction | ||
| Chap. suiv. : | Opérations | ||
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.
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.
Sommaire |
[modifier] Les types de base
Les types de donnée de base en Java sont :
- boolean : représente un booléen (d'ordre 2 en réalité) qui ne pourra prendre que les valeurs true ou false.
- byte : représente un entier relatif très court (entre -128 et 127)
- short : représente un entier relatif court (entre -32768 et 32767)
- int : représente un entier relatif (entre -2 147 483 648 et 2 147 483 647)
- long : représente un entier relatif long (entre -9223372036854775808 et 9223372036854775807)
- float : représente un nombre décimal (entre − 1,4.10 − 45 et 3,4.1038)
- double : représente un nombre décimal (entre 4,9.10 − 324 et 1,7.10308)
- char : représente un caractère
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 convertions 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.
[modifier] Déclarer une variable
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 " ".
[modifier] Déclarer une constante
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 de 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 !
[modifier] Conversion de type
Dans Java, les changements de type dans les expressions sont réalisées de façon automatique seulement pour un changement à un meilleur type. S'il y a necessaire pout changer au un moins meilleur type, vous utilizer un cast dans le forme (type_shouhaité)variable.
Par exemple:
{ int x = (int)Math.PI; }
[modifier] Variables et classes
Les types de variables ne sont pas des classes, il est aisé de les confondre mais les conventions habituelles d'écritures permettent de les distinguées. 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 rencontré un Int, ce n'est pas un type de base mais bien une classe en effet les variables peuvent être encapsulé, et java fourni pour tous les types de variables des classes d'encapsulage appelée wrappers.
Ceci peu ê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.