For-Schleifen

Java für Fortgeschrittene

Jim White

Java Developer

Schleifen

  • Lässt uns eine Aktion mehrfach wiederholen
  • Am gebräuchlichsten in Java: for-Schleife
    • Wenn wir die Anzahl der Wiederholungen kennen

Bild von drei Pfeilen, die einen Kreis bilden

Java für Fortgeschrittene

for-Schleifen-Syntax

for (int i = 0; i < 5; i++) {

  // Do something

}
  • i: Iterator
  • int i = 0: starte mit i gleich 0
  • i < 5: weiter, solange i kleiner als 5 ist
  • i++: erhöhe i nach jedem Durchlauf um 1
  • Iterable: das, worüber wir iterieren
    • z. B. String oder array
Java für Fortgeschrittene

for-Schleifenbeispiel

for (int i = 0; i < 5; i++) {
  System.out.println("Hello".charAt(i));
}  
H

e
l l o
  • i ist Iterator
  • "Hello" ist iterierbar
Java für Fortgeschrittene

for-Schleife über ein Array

// Durch Array iterieren und jedes Element ausgeben
int[] num = {1, 2, 3, 4, 5};

for (int i = 0; i < num.length; i++) {
    System.out.println(num[i]);
}
1
2
3
4
5
Java für Fortgeschrittene

Im Loop zum Array addieren

// Durch Array iterieren 
// und i zu jedem Element addieren
int[] num = {1, 2, 3, 4, 5};

for (int i = 0; i < num.length; i++) {
    System.out.println("Old: " + num[i]);
    num[i] += i;
    System.out.println("New: " + num[i]);
}
Old: 1
New: 1
Old: 2
New: 3
Old: 3
New: 5
Old: 4
New: 7
Old: 5
New: 9
Java für Fortgeschrittene

Endlosschleifen

  • Ursachen:
    • Iterator nicht aktualisiert
    • Falsche Abbruchbedingung
    • ...
  • Vermeide Endlosschleifen!
    • Lassen Programme einfrieren oder abstürzen

Beispiele

// i ist immer größer als 3
for (int i = 3; i > 2; i = i + 1) { 
  System.out.println("Forever...");
}
// i wird nicht aktualisiert
for (int i = 0; i < 10; i = i - 0) {
  System.out.println("And ever...");
Java für Fortgeschrittene

break

  • Zum vorzeitigen Beenden der Schleife
  • Kein guter Stil, mit Bedacht nutzen
    • while-Schleifen sind meist besser
for (int i = 0; i < 5; i++) {
  System.out.println(i);
  if (i == 1) {
    break; // Bricht ab, wenn i 1 ist
  }
}
0
1
Java für Fortgeschrittene

Rückblick

// Beispiel für eine for-Schleife
// inklusive break-Schlüsselwort
String word = "Hey";

for (int i = 0; i < word.length(); i++){
  System.out.println(word.charAt(i));
  if (i == 2) {
    System.out.println("!");
    break;
  }
  System.out.println("-");
}
  • i: Iterator
  • word: Iterierbares
  • for-Schleife läuft eine feste Anzahl Durchläufe
    • Läuft von 0 bis zum Ende von word
    • Außer wir nutzen break
H
-
e
-
y
!
Java für Fortgeschrittene

Lass uns üben!

Java für Fortgeschrittene

Preparing Video For Download...