Les boucles en Java permettent d’exécuter un bloc de code de manière répétitive tant qu’une condition est vraie ou jusqu’à ce qu’une condition soit remplie. Java propose plusieurs types de boucles : for, while, do-while, et les boucles spécialisées comme for-each.

MÉMO VISUEL — LES BOUCLES EN JAVA

Vue d’ensemble rapide

Type de boucleQuand l’utiliserTest de conditionNombre d’exécutions minimumIdéal pour
forNombre d’itérations connuAvant chaque tour0Compteur, parcours par index
whileCondition logique inconnue à l’avanceAvant chaque tour0Attente, validation, boucle conditionnelle
do-whileDoit s’exécuter au moins une foisAprès le bloc1Menus, saisie utilisateur
for-eachParcours simple de collectionAutomatique0Tableaux et collections

La boucle for

La boucle for est utilisée lorsqu’on connaît à l’avance le nombre d’itérations.

Syntaxe :

for (initialisation; condition; incrémentation) {
    // Instructions à exécuter
}
  • initialisation : Initialise une variable (souvent un compteur).
  • condition : La boucle continue tant que cette condition est vraie.
  • incrémentation : Mise à jour de la variable (souvent un compteur).

Exemple :

for (int i = 0; i < 5; i++) {
    System.out.println("i = " + i);
}
  • int i = 0 → exécuté une seule fois
  • i < 5 → vérifié avant chaque tour
  • i++ → exécuté à la fin de chaque tour

Autre exemple avec un tableau :

int[] nombres = {1, 2, 3, 4, 5};
for (int i = 0; i < nombres.length; i++) {
    System.out.println("Nombre : " + nombres[i]);
}

La boucle while

La boucle while s’utilise lorsque l’on ne connaît pas forcément le nombre d’itérations à l’avance. Elle vérifie la condition avant chaque itération.

Syntaxe :

while (condition) {
    // Instructions à exécuter
}
  • La condition est testée avant
  • Si elle est fausse au départ → jamais exécutée

Exemple :

int i = 0;
while (i < 5) {
    System.out.println("i = " + i);
    i++;
}

Attention importante

Si on oublie i++

while (i < 3) {
	System.out.println(i);
}

→ Boucle infinie

Cas d’usage typiques

  • Attendre qu’une valeur soit correcte
  • Lire un fichier
  • Répéter jusqu’à validation

La boucle do-while

Syntaxe :

do {
    // Instructions à exécuter
} while (condition);

Exemple :

int i = 0;
do {
    System.out.println("i = " + i);
    i++;
} while (i < 5);

Autre exemple avec l’utilisateur d’un Scanner pour la saisie utilisateur

import java.util.Scanner;
 
Scanner sc = new Scanner(System.in);
int nombre;
 
do {
    System.out.print("Entrez un nombre positif : ");
    nombre = sc.nextInt();
} while (nombre < 0);
sc.close();
System.out.println("Vous avez entré : " + nombre);

Particularité

Le bloc s’exécute au moins une fois, même si la condition est fausse.


La boucle for-each

Utilisée pour parcourir facilement des tableaux ou collections sans gérer un compteur.

Syntaxe :

for (Type element : collection) {
    // Instructions avec element
}

Exemple sur un tableau :

int[] nombres = {1, 2, 3, 4, 5};
for (int n : nombres) {
    System.out.println("Nombre : " + n);
}

Autre exemple avec une liste

import java.util.ArrayList;
 
ArrayList<String> fruits = new ArrayList<>();
fruits.add("Pomme");
fruits.add("Banane");
fruits.add("Orange");
 
for (String fruit : fruits) {
    System.out.println(fruit);
}

Instructions de contrôle de boucle

Java fournit des mots-clés pour contrôler l’exécution des boucles :

  • break : Sort immédiatement de la boucle.

Exemple :

for (int i = 0; i < 10; i++) {
    if (i == 5) break;
    System.out.println(i);
}
  • continue : Passe à l’itération suivante.
for (int i = 0; i < 5; i++) {
    if (i == 2) continue;
    System.out.println(i);
}
  • return : Sort de la méthode contenant la boucle.

Boucles imbriquées

Il est possible de mettre une boucle à l’intérieur d’une autre.

Exemple : tableau 2D

int[][] matrice = {
    {1, 2, 3},
    {4, 5, 6},
    {7, 8, 9}
};
 
for (int i = 0; i < matrice.length; i++) {
    for (int j = 0; j < matrice[i].length; j++) {
        System.out.print(matrice[i][j] + " ");
    }
    System.out.println();
}

Points importants

  • Les boucles peuvent provoquer des boucles infinies si la condition ne devient jamais fausse.
  • Toujours vérifier l’incrémentation ou la modification des variables dans les boucles.
  • Préférez for-each quand on parcourt des tableaux ou collections pour plus de lisibilité et moins d’erreurs.
  • Utiliser break et continue avec prudence pour éviter des logiques difficiles à lire.