erweiterte for Schleife für Arrays

  • Themenstarter Themenstarter Neuer
  • Beginndatum Beginndatum
N

Neuer

Gast
Hallo,

ich versuche momentan verzweifelt die Funktionsweise der erweiterten for-Schleife mit Arrays zu verstehen. Ich weiß, dass diese Schleife nicht in das Feld schreiben kann und den gesamten Index von null bis Ende abläuft. Aber wie genau funktioniert diese Schleife, die Tutorials unter Google habe ich gelesen, aber nicht ganz verstanden.

Mein Beispielprogramm:

Java:
public class quellcode 
{
	public static void main(String[] args) 
	{
		int[] zahl = new int[3];
		zahl[0] = 3;
		zahl[1] = 6;
		zahl[2] = 9;
		
		for(int n: zahl)
			System.out.println(n);


	}

}
 
Im Prinziep kannst du dir das so vorstellen

Zuerst wird ein iterartor von der Liste angefordert/erstellt.

also Liste.getIterartor()

Anschließend wird in einer While Schleife solange Iterartor.nextElement() aufgerufen, solange Iterator.hasNext() true zurückliefert.

nochmal im pseudocode

Iterator i = Liste.getIterartor();

item = null;
while(i.hasNext()) {

item = i.getNext();

}
 
Öh und was ist nun genau deine Frage?

Das "n" bekommt einfach nach und nach jeden Wert der im Array ist.
Oder anders gesagt die Werte der einzelnen Arrayfelder werden Einer nach dem Anderen in n kopiert.

War es das?
 
Zuletzt bearbeitet:
Im Prinzip habe ich es jetzt verstanden, danke. Dann war mein Gedanke davor auch schon richtig, aber wieso sagt mir Eclipse dann, das mein Quellcode falsch ist? Habe JRE6 genutzt.

Folgende Fehlermeldung erscheint:

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Syntax error, 'for each' statements are only available if source level is 1.5

at quellcode.main(quellcode.java:11)
 
Wenn du schon so elegante Loops verwendest ....

Java:
	int[] zahl = {3, 6, 9};
	for(int n: zahl)
		System.out.println(n);
 
Danke, war zwar richtig eingestellt mit JRE6, aber Eclipse hat das wohl nicht richtig erkannt. Neuinstallation hat geholfen
 

Zurück
Oben