Une variable est un objet repéré par son nom, pouvant contenir
des données, qui pourront être modifiées 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.
Avec 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 doit commencer par une lettre (majuscule ou minuscule) ou un "_" (pas par un chiffre)
- un nom de variables peut comporter des lettres, des chiffres et le caractère _ (les espaces
ne sont pas autorisés!)
- Les noms de variables ne peuvent pas être les noms suivants (qui sont des noms réservés):
- abstract
- boolean break byte byvalue
- case cast catch char class const continue
- default do double
- else extends
- false final finally float for future
- generic goto
- if implements import inner instanceof int interface
- long
- native new null
- operator outer
- package private protected public
- return rest return
- short static sctrictfp super switch synchronized
- this throw throws transient true try
- var void volatile
- while widefp
Nom de variable correct |
Nom de variable incorrect |
Raison |
Variable | Nom de Variable | comporte des espaces |
Nom_De_Variable | 123Nom_De_Variable | commence par un chiffre |
nom_de_variable | toto@mailcity.com | caractère spécial @ |
nom_de_variable_123 | Nom-de-variable | signe - interdit |
_707 | this | nom réservé |
|
Les noms de variables sont sensibles à la casse (Java fait la différence entre
un nom en majuscule et un nom en minuscules), il faut donc veiller à
utiliser des noms comportant la même casse!
|
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 Nom_de_la_variable;
ou bien s'il y a plusieurs variables du même type:
type Nom_de_la_variable1, Nom_de_la_variable2, ...;
|
- Java impose que les variables soient impérativement déclarées
- Java permet de définir une variable à n'importe quel endroit du code, afin
de le rendre plus lisible
|
Pour stocker une donnée dans une variable que l'on a initialisée, 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é lors de l'initialisation.
Pour cela on utilise l'opérateur d'affectation "=" :
Nom_de_la_variable = donnée;
Pour stocker le caractère B dans la variable que l'on a appelée Caractere,
il faudra écrire:
Caractere = 'B';
Ce qui signifie stocker la valeur ASCII de "B" dans la variable nommée "Caractere".
Il est bien évident qu'il faut avoir préalablement déclaré la variable en lui affectant
le type char:
char Caractere;
La déclaration d'une variable ne fait que "réserver" un emplacement
mémoire où stocker la variable. Tant que l'on ne lui a pas affecté une
donnée celle-ci contient ce qui se trouvait précédemment à cet emplacement,
que l'on appelle garbage (en français: détritus).
On peut donc affecter une valeur initiale à la variable lors de sa déclaration, on parle
alors d'initialisation:
type Nom_de_la_variable = donnee;
Par exemple:
float toto = 125.36f;
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 fonction par exemple), on parle de portée
(ou visibilité) d'une variable.
Lorsqu'une variable est déclarée dans le code même, c'est-à-dire à l'extérieur de toute fonction ou de
tout bloc d'instruction,
elle est accessible de partout dans le code (n'importe quelle fonction du programme peut faire appel à cette variable). On parle
alors de variable globale
Lorsque l'on déclare une variable à l'intérieur d'un bloc d'instructions (entre des accolades), sa portée
se confine à l'intérieur du bloc dans lequel elle est déclarée.
- Une variable déclarée au début du code, c'est-à-dire avant tout bloc de donnée, sera globale, on pourra alors les utiliser à partir de n'importe quel bloc d'instruction
- Une variable déclarée à l'intérieur d'un bloc d'instructions (dans une fonction ou une boucle par exemple) aura une portée limitée à ce seul bloc d'instruction, c'est-à-dire qu'elle est inutilisable ailleurs,
on parle alors de variable locale
D'une manière générale il est tout de même préférable de donner
des noms différents aux variables locales et globales...
Une constante est une variable dont la valeur est inchangeable lors de l'exécution
d'un programme.
Java ne possède pas véritablement de constantes. Toutefois, le mot clé
final permet de définir une variable dont la valeur ne peut pas être
modifiée après son initialisation.
final int Variable = 12;
aura pour effet de définir une variable de type entier possèdant la valeur
12 et ne pouvant pas être modifiée dans la suite du code, auquel cas le compilateur
génère une erreur...
Il s'agit là d'une utilisation restrictive du mot clé final, car celui-ci permet
d'affecter une valeur différente à chaque exécution du programme, tout en garantissant
que la variable, une fois initialisée avec une valeur, ne subira plus aucune modification.
|