Wiederholungen (Schleifen)
Schleifen ermöglichen es, Code mehrfach auszuführen, ohne ihn mehrfach schreiben zu müssen. Das spart Zeit und macht Programme übersichtlicher!
Stell dir vor: Du sollst 100 Mal "Ich mache meine Hausaufgaben" schreiben. Würdest du das wirklich 100 Mal tippen?
Mit Schleifen sagst du dem Computer einfach: "Wiederhole diese Aktion 100 Mal!"
In Java gibt es verschiedene Arten von Schleifen:
- while-Schleife (kopfgesteuert)
- for-Schleife (zählergesteuert)
- do-while-Schleife (fußgesteuert)
Die while-Schleife
Die kopfgesteuerte-schleife (while-loop) prüft vor jedem Durchgang, ob die Bedingung noch erfüllt ist.
Falscher Ansatz (ohne Schleife)
Richtiger Ansatz (mit while-Schleife)
Aufbau einer while-Schleife
while (Bedingung) {
    // Code, der wiederholt wird
    // Wichtig: Bedingung muss irgendwann false werden!
}Wichtig: Die Bedingung muss irgendwann false werden, sonst läuft die Schleife unendlich!
Praktisches Beispiel: Passwort-Eingabe
Die for-Schleife
Die zählergesteuerte-schleife (for-loop) ist perfekt, wenn du weißt, wie oft etwas wiederholt werden soll.
Aufbau einer for-Schleife
for (Initialisierung; Bedingung; Aktualisierung) {
    // Code, der wiederholt wird
}Vergleich: while vs. for
Praktische for-Schleifen-Beispiele
Verschachtelte Schleifen
Du kannst Schleifen ineinander verwenden - das nennt man "verschachteln":
Nützliche Schleifenmuster
Summen berechnen
Maximum/Minimum finden
Besondere Schleifenbefehle
break - Schleife vorzeitig verlassen
continue - Aktuellen Durchlauf überspringen
Übung: Primzahlen finden
Eine Primzahl ist eine Zahl, die nur durch 1 und sich selbst teilbar ist. Schreibe ein Programm, das prüft, ob eine eingegebene Zahl eine Primzahl ist.
Tipp: Prüfe, ob die Zahl durch irgendetwas zwischen 2 und der Zahl-1 teilbar ist.
boolean istPrimzahl = true;
 
if (zahl <= 1) {
    istPrimzahl = false;
} else {
    for (int i = 2; i < zahl; i++) {
        if (zahl % i == 0) {
            istPrimzahl = false;
            break;
        }
    }
}
 
if (istPrimzahl) {
    System.out.println(zahl + " ist eine Primzahl");
} else {
    System.out.println(zahl + " ist keine Primzahl");
}Teste-Dich-Projekt 1: Zahlen-Pyramide
Erstelle ein Programm, das eine Zahlen-Pyramide ausgibt:
1
12
123
1234
12345Die Höhe der Pyramide soll vom Benutzer eingegeben werden.
Testfälle
- Höhe 3:
      1 12 123
- Höhe 5: Wie oben gezeigt
Teste-Dich-Projekt 2: Domino-Steine
Gib alle Dominosteine ohne Dopplungen aus. Domino-Steine haben zwei Seiten mit Zahlen von 0 bis 6.
Ausgabe soll so aussehen:
(0|0)(0|1)(0|2)(0|3)(0|4)(0|5)(0|6) 
     (1|1)(1|2)(1|3)(1|4)(1|5)(1|6) 
          (2|2)(2|3)(2|4)(2|5)(2|6) 
               (3|3)(3|4)(3|5)(3|6) 
                    (4|4)(4|5)(4|6) 
                         (5|5)(5|6) 
                              (6|6)for (int erste = 0; erste <= 6; erste++) {
    // Leerzeichen für die Einrückung
    for (int leer = 0; leer < erste; leer++) {
        System.out.print("     ");
    }
    
    // Dominosteine der aktuellen Zeile
    for (int zweite = erste; zweite <= 6; zweite++) {
        System.out.print("(" + erste + "|" + zweite + ")");
    }
    
    System.out.println();  // Neue Zeile
}Expertenbereich
Erweiterte Aufgaben:
- Erstelle ein Programm, das das kleine 1×1 (Multiplikationstabelle bis 10×10) übersichtlich ausgibt
- Programmiere ein Muster aus Sternen, das ein Herz ♥ darstellt
- Erstelle einen ASCII-Art-Generator, der Text in großen Buchstaben ausgibt
