Weiß jemand was dieser Code übersetzt bedeutet: for (int i=0; i< val.length; i++)?

...komplette Frage anzeigen

7 Antworten

Ist nicht so schwer.

int[] val ={0,1,2,3};

Das erstellt einfach nur ein Array mit 4 Zahlen.

int sum=0;

Und das eine Variable zum Speichern der Summe.

for (int i=0; i< val.length; i++)

Das muss man nun trennen, ein for Loop beinhaltet immer 3 Statements.
Das Erste erstellt eine Variable um die Position im Array zu speichern.
Das Zweite prüft vor jedem ausführen, ob die Position niedriger ist, als die Größe des Arrays. Wenn das Ergebnis false ist, stoppt das Loop.
Das Dritte erhöht den Zähler nach jedem ausführen um eins.


sum += val[i];

Hier wird nun die Summe um den Wert der jetzigen Position im Array erhöht.

Dieses Bild hilft sehr beim verstehen von for Loops:

https://www.tutorialspoint.com/java/images/java_for_loop.jpg

Vielen Dank für das Kompliment.

0

Die Schleife läuft durch alle Werte, die in der Array Variable val gespeichert sind und fügt diese zu sum hinzu

int[] val = {0,1,2,3} ist hierbei ein Array, in dem die vier Werte gespeichert werden. So sollte int[0] = 0 sein, int[1] = 1 und so weiter, bis int[3] = 3.

Die Schleufe for( int i=0; i<val-length;i++) sollte nun eigentlich alle Werte aus dem Array zu einer Summe hinzufügen ( val.length gibt dir die maximale Größe des Array, also hier 3), das passiert in sum += val[w]. Wo allerdings das w herkommen soll, keine Ahnung, da müsste eigentlich i stehen, also
sum += val[i].

Stimmt, anstatt w kommt ein i hin. Da habe ich mich vertippt. Dankeschön! :)

0
@milkyway2

Bitte :) Könnte auch sein, dass du i<= val.length statt i< val.length verwenden musst, je nachdem, wie deine Konsole mit Array umgeht.

0
@Crysali

Das führt zu einer ArrayIndexOutOfBoundsException, denn der höchste Index ist immer um 1 niedriger, als die Größe des Arrays.

1

Der Ausdruck in der Überschrift deklariert eine Variable i, setzt die auf 0 und führt die folgende Anweisung so oft durch, bis die Variable i, die bei jedem Durchlauf um eins erhöht wird (i++) so oft durch, bis die Bedingung i<val.length nicht mehr erfüllt ist.

Insgesamt addiert der Code die Werte aus val in der Variablen sum auf.

Was möchtest Du wissen?