Les Boucles en Java
Vous pouvez rencontrer des situations, quand un bloc de code doit être exécuté plusieurs fois.
Dans tous les langages de programmation, les boucles sont utilisées pour exécuter un ensemble d’instructions plusieurs fois jusqu’à ce qu’une condition particulière soit satisfaite.
Une séquence d’instructions est exécutée jusqu’à ce qu’une condition soit vraie. Cette séquence d’instructions à exécuter est à l’intérieur des accolades { } appelées le corps de la boucle. Après chaque exécution du corps de la boucle, la condition est vérifiée, et si elle est trouvée « true », le corps de la boucle est exécuté à nouveau. Lorsque la vérification retourne « false », le corps de la boucle ne sera pas exécuté.
Le langage de programmation Java fournit différents façon pour déclarer des boucles.
Description des différents types de boucles |
---|
La boucle do…while Répète une instruction ou un groupe d’instruction jusqu’à ce qu’une condition donnée est vraie. Il teste la condition avant d’exécuter le corps de la boucle. |
La boucle for Exécute une séquence d’instructions plusieurs fois avec un code abrégé. Voir également la boucle foreach. |
La boucle do…while Il ressemble à la déclaration while, sauf qu’elle teste la condition à la fin du corps de la boucle. |
Les boucles imbriquées Vous pouvez utiliser une ou plusieurs boucles à l’intérieur d’une autre boucle while, for ou boucle do…while |
La boucle while
Tandis que la boucle while peut être traitée comme une boucle de contrôle. Il est complété en 3 étapes.
- Initialisation de la variable (par exemple,
int x = 0;
) - Condition (par exemple
while(x <= 100)
) - Incrémentation ou décrémentation de la variable (
x++
oux--
oux = x + 4
)
La syntaxe :
//initialisation de la variable; while (condition) { //bloc d'instructions; //incrémentation ou décrémentation de la variable; }
Exemple: Programme qui affiche les 10 premiers nombres naturels.
public class ClassTest { public static void main(String args[]) { int x = 1; while( x < 10 ) { System.out.print("valeur de x : " + x ); x++; System.out.print("n"); } } }
La sortie :
valeur de x : 1 valeur de x : 2 valeur de x : 3 valeur de x : 4 valeur de x : 5 valeur de x : 6 valeur de x : 7 valeur de x : 8 valeur de x : 9
La boucle for
La boucle for est utilisé pour exécuter un ensemble d’instructions de façon répétitive jusqu’à ce qu’une condition particulière soit satisfaite. Le format général est,
for(initialisation; condition ; incrémentation/décrémentation) { Bloc d'instructions; }
Dans la boucle for nous avons exactement deux points-virgules, un après l’initialisation et la deuxième après la condition. Dans cette boucle, nous pouvons avoir plus d’une initialisation ou une incrémentation ou décrémentation séparés par des virgules. Une boucle for ne peut avoir qu’une seule condition.
Exemple :
public class ClassTest { public static void main(String args[]) { for(int x = 1; x < 10; x = x + 1) { System.out.print("valeur de x : " + x ); System.out.print("n"); } } }
La sortie :
valeur de x : 1 valeur de x : 2 valeur de x : 3 valeur de x : 4 valeur de x : 5 valeur de x : 6 valeur de x : 7 valeur de x : 8 valeur de x : 9
La boucle do…while
Dans certaines situations, il est nécessaire d’exécuter le corps de la boucle avant de tester la condition. Ces situations peuvent être traitées avec la boucle do…while. Do permet d’évaluer le corps de la boucle en premier, la condition est vérifiée en utilisant l’instruction while. Le format général de la boucle do…while est,
do { .... ..... } while(condition)
Exemple:
public class ClassTest { public static void main(String args[]) { int x = 1; do { System.out.print("valeur de x : " + x ); x++; System.out.print("n"); }while( x < 10 ); } }
La sortie :
valeur de x : 1 valeur de x : 2 valeur de x : 3 valeur de x : 4 valeur de x : 5 valeur de x : 6 valeur de x : 7 valeur de x : 8 valeur de x : 9
Les boucles imbriquées
Nous pouvons également avoir des boucles imbriquées, c’est-à-dire une boucle à l’intérieur d’une autre boucle. La syntaxe de base est,
for(initialisation; condition; incrémentation/décrémentation) { for(initialisation; condition; incrémentation/décrémentation) { instructions; } }
Exemple: Programme qui affiche une demi-pyramide de nombres
public class ClassTest { public static void main(String args[]) { for(int i=1; i<5; i++) { System.out.print("n"); for(int j=i; j>0; j--) { System.out.print(j); } } } }
La sortie :
1 21 321 4321
La boucle infinie
Une boucle devient une boucle infinie si une condition ne devient jamais fausse, elle est toujours vraie. ou vous pouvez faire une boucle infinie en laissant l’expression conditionnelle vide.
public class ClassTest { public static void main(String args[]) { for( ; ; ) { System.out.print("Cette une boucle infinien"); } } }
Lorsque l’expression conditionnelle est absente, elle est supposée vraie. Vous pouvez avoir une expression d’initialisation et d’incrémentation, mais les programmeurs Java utilisent plus souvent la syntaxe for(;;)
pour signifier une boucle infinie.