6Iterationen
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 zusammenzubringen. Als Erstes schauen wir uns dazu in diesem Teil Iterationen an.
Wie du dir vorstellen kannst, ergeben 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 , dieser repräsentiert die Nummer der jeweiligen Person. Dabei handelt es sich um eine Hilfsvariable, in der Praxis wird sie häufig genannt. Die Variable dient auch dazu festzulegen, wann die Iteration beendet werden soll. Diese sogenannte Abbruchbedingung ist sehr wichtig und wird in dem zweiten Ausdruck definiert. : Die Iteration wird also so lange ausgeführt, bis der Wert von kleiner oder gleich 30 ist. Zum Schluss setzten wir fest, dass die Variable nach jedem Durchlauf um eins erhöht wird. ist dabei nur eine kürzere Schreibweise für . 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 auf null. In der Abbruchbedingung definieren wir dann, dass die Iteration so lange ausgeführt werden soll, bis wir das letzte Element im Array erreicht haben. Innerhalb der for-Iteration enthält 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