Iterationen

Du kennst nun bereits einige grundlegende Strukturen der Programmiersprache Java. In den folgenden Teilen dieses Kurses soll es nun darum gehen, die bisher gelernten Elemente zusammen zu bringen. Als erstes schauen wir uns dazu in diesem Teil Iterationen an.
Wie du dir vorstellen kannst machen Iterationen immer dann Sinn, wenn du einen bestimmten Teil deines Programms mehrmals ausführen möchtest. Kannst du dir schon ein Beispiel aus deinem täglichen Leben vorstellen? Wie wäre es mit Raum voller Menschen. Die Aufgabe: Jeden der 30 Personen über eine Konsolenausgabe zu grüßen.

System.out.println("Hallo Person 1.");
System.out.println("Hallo Person 2.");
System.out.println("Hallo Person 3.");
…
System.out.println("Hallo Person 30.");

// Listing 6.1 Einzelne Ausgabe
Man muss keinen Doktor in Informatik haben, um zu sehen, dass diese Lösung nicht sinnvoll ist. Zum Glück schaffen Iterationen Abhilfe.

Die for-Iteration

Schauen wir uns die Lösung mit einer for-Iteration an:
for (int personNr = 1; personNr <= 30; personNr++) {
  System.out.println("Hallo Person " + personNr + ".");
}

// Listing 6.2 For-Iteration
Wie du siehst spart uns die Iteration bereits bei diesem kleinen Beispiel einige Zeilen an Code. Schauen wir uns die for-Iteration genauer an, im Besonderen den Bereich zwischen den Klammern. Hier finden sich drei verschiedene Ausdrücke. Zunächst definieren wir einen Integer personNrpersonNr, dieser repräsentiert die Nummer der jeweiligen Person. Dabei handelt es sich um eine Hilfsvariable, in der Praxis wird sie häufig ii genannt. Die Variable dient auch dazu festzulegen, wann die Iteration beendet werden soll. Diese sogenannte Abbruchbedingung ist sehr wichtig und wir in dem zweiten Ausdruck definiert. personNr<=30personNr <= 30: Die Iteration wird also solange ausgeführt, bis der Wert von personNrpersonNr kleiner oder gleich 30 ist. Zum Schluss setzten wir fest, dass die Variable nach jedem Durchlauf um eins erhöht wird. personNr++personNr++ ist dabei nur eine kürzere Schreibweise für personNr=personNr+1personNr = personNr + 1. Innerhalb der Iteration findet sich dann nur noch die Konsolenausgabe. Eine Besonderheit dabei, ist die Verkettung der Strings. Dies geschieht in Java mit einem „+“, die Variable repräsentiert dann einfach den Wert des aktuellen Durchlaufs, also in unserem Beispiel den Wert der aktuellen Person.

Die for-Iteration im Umgang mit Arrays
Wie im vorherigen Teil erwähnt, lernst du mit der for-Iteration auch ein mächtiges Werkzeug im Umgang mit Arrays kennen. Schauen wir uns dazu ein Beispiel an:
String[] personen = {"Jenny", "Mike", "James", "Linda"}; 
for (int i = 0; i < personen.length; i++) {
  System.out.println("Hallo " + personen[i]);
}

Ausgabe:
Hallo Jenny
Hallo Mike
Hallo James
Hallo Linda

// Listing 6.3 Ausgabe von Werten mit for-Iteration
Wie du siehst haben wir ein Array mit Namen von Personen, welche wir grüßen möchten. Wir setzten zunächst unsere Hilfsvariable ii auf null. In der Abbruchbedingung definieren wir dann, dass die Iteration solange ausgeführt werden soll, bis wir das letzte Element im Array erreicht haben. Innerhalb der for-Iteration enthält personen[i]personen[i] also den aktuellen Namen aus dem Array.

Die while-Iteration

Eine weitere Iteration in Java ist die while-Iteration. Der wesentliche Unterschied zwischen den Beiden Iterationen ist der, dass es bei der for-Iteration schon vorher klar ist, wie oft die Iteration ausgeführt wird. Die while-Iteration bietet sich also immer dann an, wenn du noch nicht weißt, wie oft die Iteration durchlaufen soll. Schauen wir uns dazu erneut das erste Beispiel an, nur dieses Mal gelöst mit der while-Iteration:
int personenImRaum = 30;
int personNr = 1;
while (personNr <= personenImRaum) {
  System.out.println("Hallo Person " + personNr + ".");
  personNr++;
}

// Listing 6.4 While-Iteration
Wie du siehst lässt sich das Problem auch mit einer while-Iteration lösen, allerdings bietet sie dir nicht die Möglichkeit Variablen direkt in der Definition zu erstellen.

Zusammenfassung

  • Iterationen helfen dir dabei, wenn du gleichen Code mehrmals hintereinander ausführen möchtest
  • In Java gibt es die for- und die while-Iteration
  • Die for-Iteration ist dann praktisch, wenn du schon vorher weißt, wie oft du den Code ausführen möchtest (z.B. für alle Elemente im Array)
  • Die while-Iteration bietet sich an, wenn du noch nicht weißt, wie oft die Iteration durchlaufen soll
Kommentieren Kommentare