for_statement

for_statement 
      ::= 
      "for" "(" ( variable_declaration | ( expression ";" ) | ";" ) 
      [ expression ] ";" 
      [ expression ] ";" 
      ")" statement 

[rule list]
This rule is called by

-> statement

Explications

Une boucle de type for est généralement utilisée pour compter, bien que sa structure permette d'en faire un usage quelconque. La structure d'une telle boucle est la suivante :
for (initialisation;condition;incrementation) {
    instructions;
}
Avant toute chose, on exécute la partie initialisation. On teste ensuite la condition, et si elle est vraie, on exécute le contenu de la boucle (instructions dans notre cas). Après cela, on exécute la troisième composante, qui est souvent l'incrémentation d'une variable compteur. Le code de l'exemple ci-dessus est équivalent à :
initialisation;
while (condition) {
    instructions;
    incrementation;
}

On a également la possibilité d'exécuter plusieurs instructions dans la partie initialisation et dans la partie incrémentation, en les séparant par des virgules. Attention toutefois à ne pas utiliser la virgule dans la condition, car cela n'est pas autorisé par le compilateur.

for (int i = 0,int j = 10;i < j;i++,i--) {
    System.out.println("i="+i+" j="+j);
}

Vous trouverez ci-dessous un exemple plus complet, contenant entre autre une boucle for.

Exemple

class exSimple1 {

    public static void main(String args[]) {
        int entA = 10;
        int entB = 12;
        int entX;
        
        System.out.println("L'entier A vaut "+entA);
        System.out.println("L'entier B vaut "+entB);
        
        if (entA < entB)
            System.out.println("A est plus petit que B");
        else if (entA == entB)
            System.out.println("A est egal a B");
        else
            System.out.println("A est plus grand que B");
        
        System.out.println("comptons de 1 a "+entA);

        int somme = 0;
        int fact = 1;
        for (int i = 1;i <= entA;i++) {
            System.out.print(" "+i);
            somme += i;
            fact *= i;
        }
        System.out.println();
        System.out.println("la somme de tous les nombres de 1 a "+entA+" vaut "+somme);
        System.out.println("la factorielle de "+entA+" vaut "+fact);
    }

}

Exécution

L'entier A vaut 10
L'entier B vaut 12
A est plus petit que B
comptons de 1 a 10
 1 2 3 4 5 6 7 8 9 10
la somme de tous les nombres de 1 a 10 vaut 55
la factorielle de 10 vaut 3628800

Index général - Index concepts - Règles BNF
© 1996, DIP Genève, Alexandre Maret & Jacques Guyot
page générée Fri Jun 21 15:40:56 MET DST 1996