Java pour la boucle

1. Vue d'ensemble

Dans cet article, nous examinerons un aspect essentiel du langage Java: exécuter une instruction ou un groupe d'instructions à plusieurs reprises à l'aide d'une boucle for .

2. Simple pour la boucle

Une boucle for est une structure de contrôle qui nous permet de répéter certaines opérations en incrémentant et en évaluant un compteur de boucle.

Avant la première itération, le compteur de boucle est initialisé, puis l'évaluation de la condition est effectuée suivie de la définition de l'étape (généralement une simple incrémentation).

La syntaxe de la boucle for est:

for (initialization; Boolean-expression; step) statement;

Voyons cela dans un exemple simple:

for (int i = 0; i < 5; i++) { System.out.println("Simple for loop: i = " + i); }

L' initialisation , l'expression booléenne et l' étape utilisées dans les instructions for sont facultatives. Voici un exemple de boucle for infinie :

for ( ; ; ) { // Infinite for loop }

2.1. Étiqueté pour les boucles

Nous pouvons également avoir étiqueté des boucles for . Il est utile si nous avons pour les boucles imbriquées afin que nous puissions briser / continuer de aspécifique pour boucle:

aa: for (int i = 1; i <= 3; i++) { if (i == 1) continue; bb: for (int j = 1; j <= 3; j++) { if (i == 2 && j == 2) { break aa; } System.out.println(i + " " + j); } }

3. Amélioré pour la boucle

Depuis Java 5, nous avons un deuxième type de boucle for appelée Enhanced for qui facilite l'itération sur tous les éléments d'un tableau ou d'une collection.

La syntaxe de la boucle for améliorée est:

for(Type item : items) statement;

Puisque cette boucle est simplifiée par rapport à la boucle for standard, nous devons déclarer seulement deux choses lors de l'initialisation d'une boucle:

  1. Le handle d'un élément sur lequel nous itérons actuellement
  2. Le tableau / la collection source que nous itérons

Par conséquent, nous pouvons dire que: Pour chaque élément dans les éléments, affectez l'élément à la variable d' élément et exécutez le corps de la boucle .

Jetons un coup d'œil à l'exemple simple:

int[] intArr = { 0,1,2,3,4 }; for (int num : intArr) { System.out.println("Enhanced for-each loop: i = " + num); }

Nous pouvons l'utiliser pour parcourir diverses structures de données Java:

Étant donné un objet de liste List - nous pouvons l'itérer:

for (String item : list) { System.out.println(item); }

Nous pouvons de même itérer sur un ensemble Set :

for (String item : set) { System.out.println(item); }

Et, étant donné une carte Map, nous pouvons également la parcourir:

for (Entry entry : map.entrySet()) { System.out.println( "Key: " + entry.getKey() + " - " + "Value: " + entry.getValue()); }

3.1. Iterable.forEach ()

Depuis Java 8, nous pouvons exploiter les boucles for-each d'une manière légèrement différente. Nous avons maintenant une méthode forEach () dédiée dans l' interface Iterable qui accepte une expression lambda représentant une action que nous voulons effectuer .

En interne, il délègue simplement le travail à la boucle standard:

default void forEach(Consumer action) { Objects.requireNonNull(action); for (T t : this) { action.accept(t); } }

Jetons un coup d'œil à l'exemple:

List names = new ArrayList(); names.add("Larry"); names.add("Steve"); names.add("James"); names.add("Conan"); names.add("Ellen"); names.forEach(name -> System.out.println(name));

4. Conclusion

Dans ce tutoriel rapide, nous avons exploré la boucle for de Java .

Comme toujours, des exemples peuvent être trouvés sur GitHub.