web-dev-qa-db-fra.com

Quelle est la syntaxe de la boucle for améliorée en Java?

On m'a demandé d'utiliser la boucle améliorée for dans mon codage.

On m'a seulement appris à utiliser les boucles for traditionnelles et je ne connais donc pas les différences entre celle-ci et la boucle améliorée for.

En quoi une boucle améliorée for diffère-t-elle d'une boucle traditionnelle for en Java?

Y a-t-il des subtilités que je devrais rechercher que les tutoriels ont tendance à ne pas mentionner?

40
user1920811

Amélioré pour la boucle:

for (String element : array) {
    // Do something with element of type String
    System.out.println(element);
}

Traditionnel pour la boucle: (

for (int i=0; i < array.length; i++) {
    // Reference to the item in array[position]
    String element = array[i];
    // More code using String element
}

Jetez un coup d'œil à ces forums: https://blogs.Oracle.com/CoreJavaTechTips/entry/using_enhanced_for_loops_with

http://www.Java-tips.org/Java-se-tips/Java.lang/the-enhanced-for-loop.html

49
user1920811

Une boucle améliorée for limite simplement le nombre de paramètres à l'intérieur de la parenthèse.

for (int i = 0; i < myArray.length; i++) {
    System.out.println(myArray[i]);
}

Peut être écrit comme:

for (int myValue : myArray) {
    System.out.println(myValue);
}
10
Achilles