1. java-hell.de
  2. Thèmes
  3. Boucles
Thème 4 sur 11

Apprendre les boucles en Java – Exercices en ligne

Avec les boucles, programmer commence à ressembler à un superpouvoir : tu l'écris une fois, ça tourne cent fois. Tu construis des boucles for et while, tu comptes à rebours et tu filtres avec le modulo.

Les exercices

Ce que tu vas apprendre dans ce thème

  1. Ta première boucle
  2. Boucle : valeur de départ
  3. Compte à rebours
  4. Boucle avec condition
  5. Boucle while
Exercice 1 sur 5

Ta première boucle

Une boucle for répète du code. Elle a trois parties :

for (int i = 0; i < 3; i++) {
    IO.println(i);
}
// Affiche : 0, 1, 2
  • int i = 0 : on commence à 0
  • i < 3 : on continue tant que i est plus petit que 3
  • i++ : on augmente i de 1 après chaque tour

Remplace le 3 par un 5 pour que les nombres de 0 à 4 s'affichent.

Code de départ
void main() {
    for (int i = 0; i < 3; i++) {
        IO.println(i);
    }
}
Contexte
Les trois parties d'une boucle for

for (init; condition; mise à jour) : les trois parties s'exécutent à des moments différents :

1. init : une seule fois, tout au début. 2. condition : vérifiée avant chaque tour. 3. mise à jour : après chaque tour.

Les trois parties sont facultatives. for (;;) est une boucle infinie (exactement comme while(true)).

Exercice 2 sur 5

Boucle : valeur de départ

Tu peux changer la valeur de départ de la boucle :

for (int i = 5; ...) // commence à 5

Modifie la valeur de départ pour que les nombres de 1 à 5 s'affichent.

Ne change qu'un seul nombre.

Code de départ
void main() {
    for (int i = 0; i <= 5; i++) {
        IO.println(i);
    }
}
Contexte
Pourquoi commencer à 0 ?

En informatique, on commence presque toujours à compter à 0, parce que les indices d'un tableau sont des décalages par rapport au début. Le premier élément se trouve à 0 position du début.

Ce fameux « off-by-one » (se tromper d'exactement 1) est l'un des bugs les plus courants en développement logiciel.

Exercice 3 sur 5

Compte à rebours

Les boucles peuvent aussi tourner à l'envers :

for (int i = 10; i >= 1; i--) {
    // i-- veut dire : diminuer i de 1
}

La boucle est presque finie. Remplace ??? par la bonne expression pour qu'elle compte à rebours de 5 à 1.

Code de départ
void main() {
    for (int i = 5; i >= 1; ???) {
        IO.println(i);
    }
}
Contexte
Incrémentation et décrémentation

i++ est le raccourci de i = i + 1. Il existe deux variantes : i++ (post-incrémentation) et ++i (pré-incrémentation). La différence : int a = i++; enregistre d'abord l'ancienne valeur, puis augmente i. int a = ++i; augmente d'abord i, puis l'enregistre.

Dans une boucle for, ça ne change rien, parce que la valeur obtenue n'est pas utilisée.

Exercice 4 sur 5

Boucle avec condition

Tu peux mettre un if à l'intérieur d'une boucle : c'est comme ça qu'on filtre des valeurs.

La boucle va de 1 à 10. Écris la condition du if pour que seuls les nombres pairs s'affichent.

Astuce : un nombre est pair si i % 2 == 0 (pas de reste quand on le divise par 2).

Code de départ
void main() {
    for (int i = 1; i <= 10; i++) {
        if (???) {
            IO.println(i);
        }
    }
}
Contexte
L'opérateur modulo %

% te donne le reste d'une division. 7 % 3 = 1 (7 divisé par 3 = 2, reste 1). C'est comme ça qu'on teste la divisibilité : x % n == 0 veut dire « x est divisible par n ».

Usages courants : tester pair/impair, faire « boucler » des valeurs (par exemple indice % tableau.length pour parcourir un tableau en boucle), ou faire des calculs d'horloge.

Exercice 5 sur 5

Boucle while

Une boucle while tourne tant que la condition vaut true :

while (condition) {
    // code
}

La boucle doit commencer à 1 et s'arrêter à 3. Écris la condition.

Code de départ
void main() {
    int i = 1;
    while (???) {
        IO.println(i);
        i++;
    }
}
Contexte
for ou while : lequel choisir ?

Utilise for quand tu sais à l'avance combien de fois la boucle doit tourner (par exemple « 5 fois » ou « pour chaque élément »). Utilise while quand tu ne le sais pas : par exemple « lire des lignes jusqu'à la fin du fichier » ou « répéter jusqu'à ce que l'utilisateur tape 'exit' ».

Il existe aussi do-while : comme while, mais le corps s'exécute au moins une fois, parce que la condition n'est vérifiée qu'à la fin.

Assez lu. À toi de jouer.

Dans le tutoriel, tu écris le code toi-même, tu cliques sur Exécuter et tu vois tout de suite si ton programme marche. Sans JDK, sans IDE, sans prise de tête.

S'entraîner sur Boucles dans le navigateur