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

Compréhension approfondie des boucles for et foreach en Java

高洛峰
Libérer: 2017-01-21 15:47:03
original
1884 Les gens l'ont consulté

•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);
    }
  }
}
Copier après la connexion

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);
    }
  }
}
Copier après la connexion

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));
  }
}
Copier après la connexion

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()));
  }
}
Copier après la connexion

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 !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal