Maison  >  Article  >  Java  >  Compréhension approfondie des boucles for et foreach en Java

Compréhension approfondie des boucles for et foreach en Java

高洛峰
高洛峰original
2017-01-21 15:47:031850parcourir

•La variable dans la condition de boucle dans la boucle for n'est évaluée qu'une seule fois ! Voir la dernière image pour plus de détails

• L'instruction foreach est nouvelle pour java5 Lors du parcours de tableaux et de collections, foreach a de bonnes performances.

•foreach est une simplification de l'instruction for, mais foreach ne remplace pas la boucle for. On peut dire que n'importe quel foreach peut être réécrit comme une boucle for, mais l'inverse ne fonctionne pas.

• foreach n'est pas un mot-clé en Java. L'objet boucle de foreach est généralement une collection, List, ArrayList, LinkedList, Vector, array, etc.

•foreach format :

for (type d'élément T, nom de chaque élément de boucle O : objet de boucle) {

     //Opération sur O

>

1. Méthodes d'utilisation courantes.

1. foreach parcourt le tableau.

/**
 * 描述:
 * Created by ascend on 2016/7/8.
 */
public class Client {
  public static void main(String[] args) {
    String[] names = {"beibei", "jingjing"};
    for (String name : names) {
      System.out.println(name);
    }
  }
}

2. foreach parcourt la liste.

/**
 * 描述:
 * Created by ascend on 2016/7/8.
 */
public class Client {
 
  public static void main(String[] args) {
    List<String> list = new ArrayList();
    list.add("a");
    list.add("b");
    list.add("c");
    for(String str : list){
      System.out.println(str);
    }
  }
}

2.

Bien que foreach puisse parcourir des tableaux ou des collections, il ne peut être utilisé que pour parcourir et ne peut pas modifier le tableau ou la collection pendant le processus de traversée, tandis que la boucle for peut modifier le tableau ou la collection source pendant le processus de traversée.

1. Tableau

/**
 * 描述:
 * Created by ascend on 2016/7/8.
 */
public class Client {
 
  public static void main(String[] args) {
    String[] names = {"beibei", "jingjing"};
    for (String name : names) {
      name = "huanhuan";
    }
    //foreach
    System.out.println("foreach:"+Arrays.toString(names));
    //for
    for (int i = 0; i < names.length; i++) {
      names[i] = "huanhuan";
    }
    System.out.println("for:"+Arrays.toString(names));
  }
}

Sortie :

foreach :[beibei, jingjing]

pour :[huanhuan, huanhuan]

2. Définir

/**
 * 描述:
 * Created by ascend on 2016/7/8.
 */
public class Client {
 
  public static void main(String[] args) {
    List<String> names = new ArrayList<String>();
    names.add("beibei");
    names.add("jingjing");
    //foreach
    for(String name:names){
      name = "huanhuan";
    }
    System.out.println(Arrays.toString(names.toArray()));
    //for
    for (int i = 0; i < names.size(); i++) {
      names.set(i,"huanhuan");
    }
    System.out.println(Arrays.toString(names.toArray()));
  }
}

Sortie :

[beibei, jingjing]

[huanhuan, huanhuan]

Une note spéciale ! !

Compréhension approfondie des boucles for et foreach en Java

L'article ci-dessus sur la compréhension approfondie des boucles for et foreach en Java est tout le contenu partagé par l'éditeur. J'espère qu'il pourra vous donner une référence, et je. j'espère que vous supporterez davantage le site Web chinois.

Pour une compréhension plus approfondie des boucles for et foreach en Java, veuillez faire attention au site Web PHP chinois !

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn