Tutoriel Java

Exercices Corrigés de Boucles « for » en Java

Les boucles « for » sont des structures de contrôle essentielles en Java pour répéter des instructions un certain nombre de fois ou pour parcourir des collections de données. Dans cet article, nous allons explorer quelques exercices pratiques avec des solutions en utilisant des boucles « for » en Java.

Exercice 1 : Afficher les nombres de 1 à 10

L’objectif de cet exercice est d’afficher les nombres de 1 à 10 en utilisant une boucle « for ». Voici la solution :

for (int i = 1; i <= 10; i++) {
    System.out.println(i);
}

Cette boucle « for » commence à 1, s’arrête à 10 et incrémente la valeur de « i » à chaque itération.

Exercice 2 : Afficher les éléments d’un tableau

Supposons que nous ayons un tableau d’entiers que nous voulons parcourir et afficher chaque élément. Voici comment faire :

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

Dans cet exercice, nous utilisons une boucle « for » pour parcourir le tableau en utilisant l’index, de 0 jusqu’à la longueur du tableau moins un.

Exercice 3 : Afficher les éléments d’une liste avec une boucle « for each »

Si nous avons une liste d’objets, nous pouvons utiliser une boucle « for each » pour les parcourir et les afficher :

List<String> liste = Arrays.asList("A", "B", "C", "D");
for (String element : liste) {
    System.out.println(element);
}

La boucle « for each » simplifie le processus de parcours des collections en Java.

Exercice 4 : Afficher les nombres pairs de 1 à 20

Supposons que nous voulions afficher uniquement les nombres pairs de 1 à 20 en utilisant une boucle « for ». Voici comment le faire :

for (int i = 2; i <= 20; i += 2) {
    System.out.println(i);
}

Dans cet exercice, nous utilisons une boucle « for » avec une mise à jour personnalisée pour incrémenter « i » de 2 à chaque itération.

Exercice 5 : Afficher les caractères d’une chaîne de caractères

Pour afficher chaque caractère d’une chaîne de caractères en utilisant une boucle « for », vous pouvez faire ceci :

String chaine = "Hello";
for (int i = 0; i < chaine.length(); i++) {
    System.out.println(chaine.charAt(i));
}

Cette boucle « for » utilise la méthode charAt() pour accéder à chaque caractère de la chaîne.

Ces exercices couvrent différents scénarios d’utilisation de boucles « for » en Java pour effectuer des tâches courantes. Ils vous aideront à renforcer votre compréhension de cette structure de contrôle essentielle en programmation Java.

Exercices Corrigés de Boucles « for » en Java (Partie 2)

Dans la première partie de cet article, nous avons exploré des exercices de base sur les boucles « for » en Java. Maintenant, plongeons dans des exercices plus avancés pour affiner vos compétences en programmation.

Exercice 6 : Boucle « for » avec instruction « continue »

Objectif : Utilisez une boucle « for » pour afficher les nombres de 1 à 10 en excluant les nombres pairs.

Solution :

for (int i = 1; i <= 10; i++) {
    if (i % 2 == 0) {
        continue; // Ignore les nombres pairs
    }
    System.out.println(i);
}

Dans cet exercice, nous utilisons l’instruction « continue » pour sauter l’itération actuelle lorsque « i » est pair, puis nous affichons uniquement les nombres impairs.

Exercice 7 : Boucle « for » avec instruction « break »

Objectif : Utilisez une boucle « for » pour afficher les nombres de 1 à 10, mais sortez prématurément de la boucle lorsque vous atteignez 5.

Solution :

for (int i = 1; i <= 10; i++) {
    if (i == 5) {
        break; // Sort de la boucle lorsque i atteint 5
    }
    System.out.println(i);
}

Dans cet exercice, nous utilisons l’instruction « break » pour sortir de la boucle dès que « i » atteint la valeur 5.

Exercice 8 : Boucle « for » imbriquée pour créer un motif en étoile

Objectif : Utilisez des boucles « for » imbriquées pour créer le motif en étoile suivant :

*
* *
* * *
* * * *
* * * * *

Solution :

int n = 5;
for (int i = 0; i < n; i++) {
    for (int j = 0; j <= i; j++) {
        System.out.print("* ");
    }
    System.out.println();
}

Dans cet exercice, nous utilisons deux boucles « for » imbriquées pour générer le motif en étoile, en augmentant progressivement le nombre d’étoiles à chaque ligne.

Exercice 9 : Boucle « for » pour itérer sur une matrice

Objectif : Utilisez une boucle « for » pour parcourir et afficher les éléments d’une matrice (tableau multidimensionnel).

Solution :

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();
}

Dans cet exercice, nous utilisons deux boucles « for » imbriquées pour parcourir une matrice et afficher ses éléments.

Exercice 10 : Utilisation de l’opérateur ternaire avec une boucle « for »

Objectif : Utilisez une boucle « for » pour afficher si chaque nombre de 1 à 10 est pair ou impair en utilisant l’opérateur ternaire.

Solution :

for (int i = 1; i <= 10; i++) {
    String type = (i % 2 == 0) ? "Pair" : "Impair";
    System.out.println(i + " est un nombre " + type);
}

Dans cet exercice, nous utilisons l’opérateur ternaire pour déterminer si chaque nombre est pair ou impair, puis nous l’affichons.

Ces exercices plus avancés vous aideront à renforcer vos compétences en programmation Java et à mieux comprendre les différentes utilisations des boucles « for ». N’hésitez pas à les pratiquer et à explorer davantage de scénarios d’utilisation.


Atelier pratique Java

Maîtriser la boucle for en Java par la pratique

Une boucle for devient réellement intuitive lorsque l’on visualise ses itérations, ses conditions d’arrêt et l’évolution de son compteur. Ce laboratoire complète les exercices corrigés avec un simulateur, un diagnostic d’erreurs et des défis progressifs.

Anatomie d’une boucle for en Java

La boucle for réunit trois informations essentielles dans une seule instruction : le point de départ, la condition de poursuite et l’évolution du compteur.

for (int i = 1; i <= 5; i++) { System.out.println(i); }
1. Initialisation int i = 1

Le compteur reçoit sa valeur de départ.

2. Condition i <= 5

La boucle continue tant que cette expression reste vraie.

3. Mise à jour i++

Le compteur augmente après chaque exécution du bloc.

Comment Java exécute-t-il la boucle ?

1

Initialiser

Java crée le compteur i et lui attribue la valeur prévue.

2

Tester

La condition est évaluée avant chaque nouvelle itération.

3

Exécuter

Le corps de la boucle s’exécute lorsque la condition est vraie.

4

Mettre à jour

Java applique l’incrémentation ou la décrémentation indiquée.

5

Recommencer

Le programme revient au test de la condition.

6

Sortir

L’exécution reprend après la boucle dès que la condition devient fausse.

Simulateur de boucle for

Configurer la boucle

for (int i = 1; i <= 10; i += 1) { System.out.println(i); }
Valeurs produites
Cliquez sur « Exécuter la boucle ».

for, for-each ou while : quelle boucle choisir ?

StructureUsage recommandéAccès à l’indexAvantage principal
for classiqueNombre d’itérations connu ou parcours indexéOuiContrôle précis
for-eachLecture simple des valeurs d’un tableau ou d’une collectionNon directementSyntaxe lisible
whileNombre d’itérations inconnu avant l’exécutionSelon le codeCondition flexible

Exemple avec for classique

int[] notes = {12, 15, 18};for (int i = 0; i < notes.length; i++) { System.out.println( « Index «  + i +  » : «  + notes[i] ); }

Exemple avec for-each

int[] notes = {12, 15, 18};for (int note : notes) { System.out.println(note); }

Débogueur : repérer les erreurs fréquentes

Erreur 1 : dépasser la taille du tableau

for (int i = 0; i <= tableau.length; i++) { System.out.println(tableau[i]); }
Correction : employer i < tableau.length. Le dernier index d’un tableau de longueur 5 est 4.

Erreur 2 : créer une boucle infinie

for (int i = 1; i <= 10; i–) { System.out.println(i); }
Correction : remplacer i– par i++. Le compteur doit se rapprocher de la valeur d’arrêt.

Erreur 3 : ajouter un point-virgule

for (int i = 0; i < 5; i++); { System.out.println(« Java »); }
Correction : supprimer le point-virgule placé juste après la parenthèse. Il termine prématurément la boucle.

Erreur 4 : confondre limite incluse et exclue

for (int i = 1; i < 10; i++) { System.out.println(i); }
Cette boucle affiche les valeurs de 1 à 9. Pour inclure 10, employer i <= 10.

Exercices supplémentaires avec corrections

Défi 1 — Calculer la somme de 1 à 100
Débutant

Créez une boucle qui additionne tous les entiers compris entre 1 et 100.

int somme = 0;for (int i = 1; i <= 100; i++) { somme += i; }System.out.println(somme); // 5050
Défi 2 — Afficher la table de multiplication d’un nombre
Débutant

Affichez la table de multiplication de 7, de 7 × 1 à 7 × 10.

int nombre = 7;for (int i = 1; i <= 10; i++) { System.out.println( nombre +  » x «  + i +  » = «  + nombre * i ); }
Défi 3 — Compter les voyelles d’un mot
Intermédiaire

Parcourez une chaîne caractère par caractère et comptez ses voyelles.

String mot = « programmation »; int compteur = 0;for (int i = 0; i < mot.length(); i++) { char lettre = Character.toLowerCase(mot.charAt(i));if (« aeiouy ».indexOf(lettre) != –1) { compteur++; } }System.out.println(compteur);
Défi 4 — Trouver la plus grande valeur d’un tableau
Intermédiaire
int[] valeurs = {14, 8, 32, 19, 27}; int maximum = valeurs[0];for (int i = 1; i < valeurs.length; i++) { if (valeurs[i] > maximum) { maximum = valeurs[i]; } }System.out.println(maximum); // 32
Défi 5 — Vérifier si un nombre est premier
Avancé
int nombre = 29; boolean premier = nombre >= 2;for (int i = 2; i * i <= nombre; i++) { if (nombre % i == 0) { premier = false; break; } }System.out.println( premier ? « Nombre premier » : « Nombre non premier » );
Défi 6 — Construire un triangle inversé
Boucles imbriquées
int lignes = 5;for (int i = lignes; i >= 1; i–) { for (int j = 1; j <= i; j++) { System.out.print(« * « ); }System.out.println(); }

Mémo rapide avant de valider votre code

Vérifier le départ

La valeur initiale correspond-elle au premier élément à traiter ?

Vérifier la limite

Choisissez correctement entre < et <=.

Vérifier le sens

Le compteur doit évoluer vers la valeur qui rendra la condition fausse.

Tester les tableaux

Les index valides vont de 0 à length – 1.

Limiter break

Utilisez break pour interrompre la boucle dès que le résultat est trouvé.

Préserver la lisibilité

Des noms explicites rendent les boucles complexes plus faciles à relire.

Questions fréquentes sur les boucles for en Java

Quand faut-il utiliser une boucle for ?

La boucle for convient particulièrement lorsque le nombre d’itérations est connu, calculable ou lié à la taille d’un tableau.

Quelle différence existe entre i++ et ++i ?

Dans la partie de mise à jour d’une boucle classique, les deux écritures produisent généralement le même résultat. Leur différence apparaît surtout lorsque leur valeur est utilisée dans une expression.

Pourquoi les index commencent-ils à zéro ?

Le premier élément d’un tableau Java se trouve à l’index 0. Un tableau contenant cinq éléments possède donc les index 0, 1, 2, 3 et 4.

Peut-on déclarer plusieurs compteurs ?

Oui. Une boucle peut initialiser et mettre à jour plusieurs variables, par exemple pour parcourir un tableau depuis ses deux extrémités.

Quelle différence existe entre break et continue ?

break termine toute la boucle. continue ignore uniquement l’itération en cours et passe à la suivante.

Conseil pédagogique : avant d’exécuter un programme, écrivez manuellement les trois premières valeurs du compteur. Cette vérification permet d’anticiper une grande partie des erreurs de limite, de pas et de sens de parcours.
error: Content is protected !!