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.