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
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