next up previous contents index
suivant: 2.2 Instructions monter: 2. Variables et instructions précédent: 2. Variables et instructions   Table des matières   Index

2.1 Variables et affectation

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 $2$ ; puis la variable x est lue, la valeur obtenue est incrémentée et le résultat, $3$ est affecté à y ; ensuite y est lue, la valeur obtenue est multipliée par $4$ et le résultat, $12$, est affecté à x, ce qui remplace la valeur qui était auparavant $2$.

    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.


2.1.0.0.1 Variables locales

Il existe plusieurs sortes de variables. La plus simple est la variable locale, qui est définie à l'intérieur d'une fonction. Dans l'exemple suivant, deux variables locales sont définies dans la fonction principale : somme et n. Ces variables sont déclarées de type int, l'un des types entiers, et initialisées, somme à 0 et n à 1 :

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.


next up previous contents index
suivant: 2.2 Instructions monter: 2. Variables et instructions précédent: 2. Variables et instructions   Table des matières   Index
Rene' LALEMENT 2001-11-07