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