Java for schleife index i meinarray length 2

hallo ich bin in Java ein Neuling und würde gerne folgendes wissen: ich weiss nicht bis zu welcher Komponente in diesem Array der Index zählt und dann stopt: int[int i=1; i < otto.length-2; i++) if i otto++; i--; }

Antworten zur Frage

Bewertung: 2 von 10 mit 1367 Stimmen

Videos zum Thema
YouTube Videos

Java For-Schleife index: "i < meinArray.length-2

Guten Abend Gast,
Ein Feld ist eine beschränkte Sammlung von Elementen identischen Typs.
Die verschiedenen Elemente sind indiziert.
Der Befehl length liefert die Anzahl der Komponenten im jeweiligen Feld.
int[] otto = {10,17,24, 31, 14, 27};
Das Array otto hat also 6 Elemente, die jeweils einzeln über otto bis otto aufgerufen werden können.
Der Befehl otto.length liefert den Wert 6.
Falls du mir nicht glaubst, füge einfach vor der for-Schleife den Befehl
System.out.println ;
ein.
otto.length liefert als den Wert 6, also bekommt man durch die Anweisung otto.length-2 den Wert 4.
D.h. die for-Schleife wird viermal durchlaufen. i nimmt dabei die Werte 0, 1, 2, 3 an – sofern keine Veränderungen innerhalb der for-Schleife vorgenommen werden
Auch hier gilt wieder – wenn du nicht weißt, welchen konkreten Wert deine Variablen annehmen, einfach kurz ausgeben lassen, bspw. über
System.out.println ;
Dein Algorithmus läuft wie folgt ab:
- Deklarieren und initialisieren des Feldes
- Abarbeiten der for-Schleife – Initialisierung von i
- Checken der if-Anweisung –x % 3 gibt den Rest an, der bei der Division durch 3 übrig bleibt. Also prüft die Anweisung if ob x nicht durch 3 teilbar ist.
- otto liefert das zweite Element, also 17 – diese Zahl ist nicht durch 3 teilbar, also wird die if-Anweisung ausgeführt. otto um eins erhöht, also hat der Wert der Zahl an dieser Stelle jetzt den Wert 18. Und dann wird noch i um eins erniedrigt, bekommt also den Wert 0 – Schleifendurchlauf beendet.
- Nun wird i wieder ums eins erhöht, hat den Wert 1, und die Bedingung otto % 3!= 0 ist falsch, also wird die if-Anweisung übersprungen
- i wieder um eins erhöhen – i ist nun gleich 2, otto = 24, otto % 3!= 0 ist wieder falsch
- i ist nun gleich 3, otto ist 31, erfüllt die if-Bedingung, otto ist nun 32, i ist 2.
- i wird wieder auf 3 erhöht, otto ist 32 – nach der if-Anweisung hat es den Wert 33 und i ist wieder 2
- i ist nun wieder 3, otto hat den Wert 33, also keine if-Anweisung
- i = 4 verstößt gegen die Bedingung der for-Schleife, dass i < otto.length-2 sein muss, also wird hier abgebrochen und das Programm ist beendet.
Ich hoffe, ich konnte dir zufrieden stellend weiterhelfen.
Viel Spaß noch beim Programmieren.
Schönen Abend
Siggi