Informatik

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:

  1. while-Schleife (kopfgesteuert)
  2. for-Schleife (zählergesteuert)
  3. 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
12345

Die 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
Wiederholungen