for_statement ::= "for" "(" ( variable_declaration | ( expression ";" ) | ";" ) [ expression ] ";" [ expression ] ";" ")" statement
This rule is called by-> statement
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
.
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);
}
}
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