La boucle for permet d'exécuter un groupe d'instructions de manière répétée jusqu'à ce qu'une condition soit remplie.
La boucle se compose de quatre parties :
for (initialization; test; update) {
body;
}
La partie initialization définit l'état initial de la boucle et n'est exécutée qu'une seule fois, au tout début de la boucle.
En général, elle déclare et affecte une variable qui est utilisée dans l'expression de test et dans l'expression de mise à jour.
Par exemple :
int i = 1
L'expression test vérifie si la boucle doit se terminer.
Si elle est vraie, le corps de la boucle puis l'expression de mise à jour sont exécutés.
Si elle est fausse, ni le corps ni l'instruction de mise à jour ne seront exécutés, et l'exécution reprend après l'accolade fermante de la boucle.
En général, elle vérifie la variable affectée dans la partie initialization.
Par exemple :
i <= 10
Une fois le corps de la boucle exécuté, l'expression update est exécutée.
En général, elle incrémente ou décrémente la variable de boucle d'une certaine valeur.
Par exemple :
i++
Une boucle for qui affiche les quatre premiers carrés ressemblerait à ceci :
for (int i = 1; i <= 4; i++) {
System.out.println(i * i);
}
/* =>
1
4
9
16
*/
Pour parcourir chaque élément d'une collection, une boucle for-each est préférable, mais on peut aussi le faire avec une boucle for comme ceci :
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]);
}
Une boucle for présente tout de même quelques avantages par rapport à une boucle for-each :
for dans des situations qui n'impliquent pas de collections.