La boucle la plus simple est la boucle while
qui répète un bloc
d'instructions tant qu'une expression vaut true
comme dans l'exemple
suivant :
public class BoucleWhile {
public static void main(String[] args) {
int j = 0;
while(j<5) {
System.out.println(j);
j = j + 1;
}
System.out.println(j);
}
}
Ce programme affiche :
0 1 2 3 4 5
Il faut bien noter que la dernière valeur affichée n'est pas produite par la boucle mais par l'affichage en dehors de celle-ci.
Dans certains conditions, on souhaite que la boucle s'exécute toujours au
moins une fois et donc que la condition de répétition soit calculée après
cette exécution. Dans ce cas, on utilise une boucle do while
dont le corps
(le bloc) est exécuté au moins une fois et est répété tant que l'expression
finale vaut true
. Par exemple :
public class BoucleWhile {
public static void main(String[] args) {
int j = 5;
do {
System.out.println(j);
j = j - 2;
} while(j >= 0);
System.out.println(j);
}
}
qui affiche :
5 3 1 -1
La boucle for
est plus complexe, bien qu'elle soit en pratique presque
équivalent à la boucle while
. Une boucle de la forme
for(A; B; C) {
D1;
...
Dn;
}
est approximativement équivalente à
{
A;
while(B) {
D1;
...
Dn;
C;
}
}
En pratique, on utilise souvent la boucle for
sous la forme classique
for(int i = 0; i < k; i++) {
D1;
...
Dn;
}
qui, sauf instructions spécifiques dans le corps de la boucle, consiste
simplement à exécuter les instructions D1
à Dn
k
fois de suite, pour
toutes les valeurs entières de i
de 0 à k-1
(inclus). Par exemple :
public class BoucleFor {
public static void main(String[] args) {
for(int i=0; i<5 ; i++) {
System.out.println(i);
}
}
}
qui affiche :
0 1 2 3 4