For Each


🔁 La boucle for-each en Java

La boucle for-each (ou boucle amĂ©liorĂ©e for) permet de parcourir facilement les Ă©lĂ©ments d’un tableau ou d’une collection, sans se soucier des indices.

Elle est plus lisible et plus sĂ»re que la boucle for classique quand tu n’as pas besoin de manipuler les indices manuellement.


đŸ§± Structure d’une boucle for-each

for (Type element : collection) {
    // instructions à exécuter pour chaque élément
}
ÉlĂ©mentRĂŽle
TypeLe type des éléments (ex : int, String)
elementUne variable temporaire pour chaque valeur
collectionUn tableau (array) ou une collection (List, etc.)

🔂 Exemple simple avec un tableau

int[] notes = {12, 15, 8, 17};

for (int note : notes) {
    System.out.println("Note : " + note);
}

🔎 Ce code affiche :

Note : 12  
Note : 15  
Note : 8  
Note : 17

💡 À chaque tour, la variable note prend la valeur d’un Ă©lĂ©ment du tableau, dans l’ordre.


đŸ§‘â€đŸ« Exemple avec des chaĂźnes de caractĂšres

String[] prenoms = {"Alice", "Bob", "Claire"};

for (String nom : prenoms) {
    System.out.println("Bonjour " + nom + " !");
}

🎯 Quand utiliser for-each ?

Utilise for-each quand :

  • Tu veux parcourir tous les Ă©lĂ©ments d’un tableau ou d’une liste
  • Tu n’as pas besoin de connaĂźtre l’indice actuel
  • Tu veux du code plus clair et moins sujet aux erreurs

⚠ Limitations

  • Tu ne peux pas modifier les Ă©lĂ©ments d’un tableau directement avec for-each.
  • Tu n’as pas accĂšs Ă  l’indice (i) de l’élĂ©ment courant.
  • Pas adaptĂ© si tu as besoin de parcourir partiellement une structure ou de sauter des Ă©lĂ©ments.

🔁 Comparaison avec la boucle for classique

// Boucle for classique
for (int i = 0; i < notes.length; i++) {
    System.out.println(notes[i]);
}

// Boucle for-each
for (int note : notes) {
    System.out.println(note);
}

✅ MĂȘme rĂ©sultat, mais code plus lisible avec for-each (s’il n’y a pas besoin de i).


🧠 À retenir

  • La boucle for-each est idĂ©ale pour lire les Ă©lĂ©ments d’un tableau ou d’une collection.
  • Elle est plus concise et plus sĂ»re qu’une boucle for classique.
  • À Ă©viter si tu as besoin de l’indice ou de modifier les Ă©lĂ©ments.

đŸ”č Exercice 1 : Afficher les Ă©lĂ©ments d’un tableau

Déclare un tableau fruits contenant les éléments suivants : "Pomme", "Banane", "Cerise", "Date".

Utilise une boucle for-each pour afficher chaque fruit.

public class Exo1 {
    public static void main(String[] args) {
        // Déclaration et initialisation du tableau
        
        // Parcours avec for-each et affichage
        
    }
}

Sortie attendue

Pomme  
Banane  
Cerise  
Date

đŸ”č Exercice 2 : Somme des valeurs d’un tableau

Déclare un tableau nombres avec les valeurs : 5, 8, 12, 20.

Calcule la somme des éléments en utilisant une boucle for-each puis affiche le résultat.

public class Exo2 {
    public static void main(String[] args) {
        // Initialisation du tableau
        
        // Calcul de la somme avec for-each
        
        // Affichage de la somme
        
    }
}

Sortie attendue

Somme : 45

đŸ”č Exercice 3 : Compter les mots

Déclare un tableau mots contenant : "chat", "chien", "oiseau", "poisson", "chat".

Utilise une boucle for-each pour compter le nombre de fois que le mot "chat" apparaĂźt, puis affiche ce nombre.

public class Exo3 {
    public static void main(String[] args) {
        // Initialisation du tableau
        
        // Compteur et boucle for-each pour compter "chat"
        
        // Affichage du résultat
        
    }
}

Sortie attendue

Le mot "chat" apparaĂźt 2 fois.

đŸ”č Exercice 4 : Afficher un tableau

Utilise une boucle for-each pour afficher le tableau suivant : {43,256,3,796,35,67}

public class Exo3 {
    public static void main(String[] args) {
        // Compte Ă  rebours
       
    }
}

Sortie attendue

43
256
3
796
35
67

đŸ”č Exercice 5 : Afficher un tableau sexy

Utilise une boucle for-each pour afficher le tableau suivant : {43,256,3,796,35,67}

public class Exo3 {
    public static void main(String[] args) {
        // Compte Ă  rebours
       
    }
}

Sortie attendue

[43,256,3,796,35,67]