Zum Inhalt springen

Antwort auf: Keine Array Modifizierung mit ForEach-Schleife

Willkommen Foren Programmier-Kurs Keine Array Modifizierung mit ForEach-Schleife Antwort auf: Keine Array Modifizierung mit ForEach-Schleife

#1199
Dominik
Gast

Hi Marvin,

ich führe nochmal ein bisschen aus 🙂

Es gibt in Java grundsätzlich zwei Wege, über alle Elemente in einem Array zu iterieren.

Definieren wir unsmal ein Array:


int[] myArray = {1, 1, 2, 3, 5, 8, 13, 21, 34};

Wenn du auf das Array selbst nicht zugreifen musst, sondern dich nur die Elemente interessieren, dann kannst du die sog. for-each-Schleife benutzen.
Du kannst dann allerdings nur auf die Elemente selbst zugreifen, erhältst aber keine Zählvariable. Das ganze sieht dann so aus:


for (int number : myArray) {
System.out.println(number);
// ich kann hier nur auf 'number' zugreifen, weiß aber nicht, an welchem Index diese Zahl steht.
}

Ausgabe:


1
1
2
3
5
8
13
21
34

Wenn du das Array ändern willst, musst du natürlich auf bestimmte Elemente de Arrays zugreifen können. Dafür brauchst du den Index.
Da gibt es zwei Möglichkeiten:

1.: Du definierst dir manuell eine Zählvariable:


int counter = 0;
for (int number : myArray) {
System.out.println(counter + ": " + number);
myArray[counter] = 0; // Zugriff auf das Array
counter++;
}

2.: Du benutzt eine Schleife mit Zählvariante:


for (int i = 0; i < array.length; i++) {
System.out.println(counter + ": " + number);
myArray[i] = 0; // Zugriff auf das Array
}

Üblicherweise benutzt man die zweite Variante, weil sie lesbarer ist.

LG
Dominik