Heim  >  Artikel  >  Java  >  Vertiefendes Verständnis von for- und foreach-Schleifen in Java

Vertiefendes Verständnis von for- und foreach-Schleifen in Java

高洛峰
高洛峰Original
2017-01-21 15:47:031789Durchsuche

•Die Variable in der Schleifenbedingung in der for-Schleife wird nur einmal ausgewertet! Einzelheiten finden Sie im letzten Bild

• Die foreach-Anweisung ist neu in Java5. Beim Durchlaufen von Arrays und Sammlungen bietet foreach eine gute Leistung.

•foreach ist eine Vereinfachung der for-Anweisung, aber foreach ersetzt nicht die for-Schleife. Man kann sagen, dass jedes foreach in eine for-Schleife umgeschrieben werden kann, aber die Umkehrung funktioniert nicht.

• foreach ist kein Schlüsselwort in Java. Das Schleifenobjekt von foreach ist im Allgemeinen eine Sammlung, Liste, ArrayList, LinkedList, Vektor, Array usw.

•Foreach-Format:

for (Elementtyp T, Name jedes Schleifenelements O: Schleifenobjekt) {

     //Operation auf O

}

1. Gängige Verwendungsmethoden.

1. foreach durchläuft das Array.

/**
 * 描述:
 * 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 durchläuft die 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.

Foreach kann zwar Arrays oder Sammlungen durchlaufen, kann jedoch nur zum Durchlaufen verwendet werden und kann das Array oder die Sammlung während des Durchlaufvorgangs nicht ändern, während die for-Schleife das Quellarray oder die Quellsammlung während des Durchlaufvorgangs ändern kann.

1. Array

/**
 * 描述:
 * 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));
  }
}

Ausgabe:

foreach:[beibei, jingjing]

für:[huanhuan, huanhuan]

2. Satz

/**
 * 描述:
 * 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()));
  }
}

Ausgabe:

[beibei, jingjing]

[huanhuan, huanhuan]

Eine besondere Anmerkung! !

Vertiefendes Verständnis von for- und foreach-Schleifen in Java

Der obige Artikel zum detaillierten Verständnis von for- und foreach-Schleifen in Java ist der gesamte vom Herausgeber geteilte Inhalt. Ich hoffe, er kann Ihnen und mir eine Referenz geben Ich hoffe, dass Sie die chinesische Website stärker unterstützen.

Für ein tieferes Verständnis der for- und foreach-Schleifen in Java beachten Sie bitte die chinesische PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn