Java: les variables


 

Le concept de variable


Une variable est une donnée (un objet ou un type primitif) repérée par son nom, et qui pourra être lu, ou modifiée lors de l'exécution du programme. Les variables en langage Java sont typées, c'est-à-dire que les données contenues dans celles-ci possèdent un type, ainsi elles sont donc stockées à une adresse mémoire et occupent un nombre d'octets dépendant du type de donnée stockée.

En Java, les noms de variables peuvent être aussi long que l'on désire, toutefois le compilateur ne tiendra compte "que" des 247 premiers caractères. De plus, elles doivent répondre à certains critères :

  • un nom de variable ne peut comporter que des lettres, des chiffres (les caractères _ et $ peuvent être utilisés mais ne devrait pas l'être pour des variables)
  • un nom de variable ne peut pas commencer par un chiffre et ne doit pas comporter d'espace
  • les noms de variables ne peuvent pas être les noms réservés du langage :
    • abstract, assert
    • boolean, break, byte
    • case, catch, char, class, const, continue
    • default, do, double
    • else, enum, extends
    • false, final, finally, float, for
    • goto
    • if, implements, import, instanceof, int, interface
    • long
    • native, new, null
    • package, private, protected, public
    • return
    • short, static, sctrictfp, super, switch, synchronized
    • this, throw, throws, transient, true, try
    • void, volatile
    • while

Les noms de variables sont sensibles à la casse (Java fait la différence entre les lettres minuscules et majuscules, avec ou sans accent), il faut donc veiller à respecter la casse des noms !
Par convention, un nom de variable est écrit en minuscules, sans accent, ni _ ou $. En revanche lorsqu'il est composé de plusieurs mots, on peut utiliser une majuscule pour l'initiale de chaque nouveau mot.


Nom de variable correct Nom de variable incorrect Raison
nomDeVariableNom de Variablecomporte des espaces
nomDeVariable123123NomDeVariable commence par un chiffre
totoAtMailCityDotComtoto@mail-city.comcaractères spéciaux @ - et .
continuercontinue nom réservé

 

La déclaration de variables


Pour pouvoir utiliser une variable, il faut la définir, c'est-à-dire lui donner un nom, mais surtout un type de donnée à stocker afin qu'un espace mémoire conforme au type de donnée qu'elle contient lui soit réservé.

Une variable se déclare de la façon suivante :

type nomDeVariable;

Ou bien s'il y a plusieurs variables du même type :
type nomDeVariable1, nom_de_variable2;
  • Java impose que les variables soient impérativement déclarées avant d'être utilisée.
  • Java permet de définir une variable à n'importe quel endroit du code.

 

Affectation d'une donnée à une variable


La déclaration d'une variable réserve un emplacement mémoire où stocker la variable, et une valeur par défaut (généralement 0, null ou false), pour modifier cette valeur par défaut, il faut faire une affectation, c'est-à-dire préciser la donnée qui va être stockée à l'emplacement mémoire qui a été réservé.

Pour cela on utilise l'opérateur d'affectation "=" :

nomDeVariable = valeur;

Il est aussi possible d'initialiser les valeurs lors de leurs déclarations.
type nomDeVariable = valeur;

Exemple : Pour stocker le caractère B dans une variable que l'on a appellera caractere, il faudrait écrire :

char caractere = 'B';

Ce qui signifie "stocker la valeur Unicode de la lettre B dans la variable nommée 'caractere'".
 

Portée (visibilité) des variables


Selon l'endroit où on déclare une variable, celle-ci pourra être accessible (visible) de partout dans le code ou bien que dans une portion confinée de celui-ci (à l'intérieur d'une méthode par exemple), on parle de portée d'une variable.

Lorsqu'une variable est déclarée directement dans la classe, c'est-à-dire à l'extérieur de toute méthode, elle sera accessible dans toute la classe. On parle alors de champ de la classe (fields, en anglais). Elle représente l'état de l'objet courant (ou avec le mot clé static, l'état de la classe elle même).

Lorsque l'on déclare une variable à l'intérieur d'un bloc d'instructions (entre des accolades), sa portée se restreint à l'intérieur de ce bloc (dans les lignes qui suit sa déclaration), on parle alors de variable locale.

Il est interdit d'avoir deux variables de même nom si elles ont un portée commune. Il serait alors impossible de les distinguer...
 

Définition de constantes


Une constante est une donnée dont la valeur est inchangeable lors de l'exécution d'un programme. Le mot clé final permet de faire cela. Toutefois on ne peut véritablement parler de constantes en Java que pour les types primitifs, car pour un objet le mot clé final impose seulement que la référence de l'objet n'est pas modifiable, mais les champs de l'objets peuvent être modifiés malgré tout.

Par convention, et pour les distinguer des variables, les constantes sont écrites entièrement en majuscules, et le caractère _ peut être utilisé pour séparer deux mots.

final int MA_CONSTANTE = 12

aura pour effet de définir une variable de type int possèdant la valeur 12 et ne pouvant pas être modifiée dans la suite du code, auquel cas le compilateur générera une erreur...

Réalisé sous la direction de , fondateur de CommentCaMarche.net.

Ce document intitulé «  Java: les variables  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.