Une variable est un emplacement mémoire pouvant contenir une valeur. Les deux opérations que l'on peut faire sur une variable sont : l'écriture d'une valeur et la lecture de sa valeur.
L'écriture affecte une valeur à la variable ;
elle l'initialise, en lui donnant une
valeur initiale, ou bien elle remplace une valeur précédemment écrite.
Dans l'exemple suivant, la variable x est d'abord écrite (elle
est initialisée si c'est sa première écriture) en recevant la valeur
; puis la variable x est lue, la valeur obtenue est incrémentée
et le résultat,
est affecté à y ; ensuite y est
lue, la valeur obtenue est multipliée par
et le résultat,
, est
affecté à x, ce qui remplace la valeur qui était auparavant
.
x = 2;
y = x+1;
x = 4*y;
Ces instructions d'affectation sont exécutées séquentiellement : leur ordre est donc significatif. C'est une erreur de lire la valeur d'une variable sans qu'elle ait été préalablement écrite ; cette erreur est détectée par le compilateur qui émet un message « Variable may not have been initialized ».
Les noms de variable ne sont pas les seules expressions qui peuvent figurer à gauche d'une affectation : par exemple, une expression d'accès à un élément d'un tableau (comme t[i+1]) est également permise. Ces expressions sont qualifiées en anglais informatique de lvalue, ce qu'on pourrait traduire par expression gauche. Par contre, une expression comme a+1 n'est pas une expression gauche et ne peut être affectée d'une valeur.
package exemples;
class Calcul {
public static void main(String[] args) {
// calcul itératif de la somme des entiers de 1 à 100
int somme = 0;
for (int n=1; n<=100; n++) {
somme = somme + n;
}
System.out.println("Somme des entiers de 1 à 100 = " + somme);
}
}
Le paramètre de la fonction main, de nom args et de
type String[], est également une variable, mais il n'est pas
utilisé dans cet exemple. Nous verrons encore d'autres formes de
variables.