Skip to content

Kapitel 8: Schleifen (Wiederholungen)

Schleifen erlauben Ihnen, Code mehrfach auszuführen. In diesem Kapitel lernen Sie for, while, do...while und mehr.

8.1 for Schleife: Festanzahl Wiederholungen (Am häufigsten verwendet)

Die for-Schleife wird verwendet, wenn Sie wissen, wie oft der Code ausgeführt werden soll.

Grundlegende Syntax

javascript
for (initialisierung; bedingung; inkrement) {
    // Code, der wiederholt wird
}

Einfaches Beispiel: 1 bis 5 ausgeben

javascript
for (let i = 1; i <= 5; i++) {
    console.log(i);
}
// Ausgabe: 1, 2, 3, 4, 5

Ablauf:

  1. let i = 1 - Zähler initialisieren (nur einmal am Anfang)
  2. i <= 5 - Bedingung prüfen. Wenn true, Schleifenkörper ausführen
  3. console.log(i) - Code ausführen
  4. i++ - Zähler erhöhen
  5. Zurück zu Schritt 2

Schritt-für-Schritt Erklärung

javascript
// Ablauf der for-Schleife:
for (let i = 1; i <= 3; i++) {
    console.log("Durchlauf:", i);
}

// Ausgabe:
// Durchlauf: 1  (i=1, Bedingung 1<=3 ist true)
// Durchlauf: 2  (i=2, Bedingung 2<=3 ist true)
// Durchlauf: 3  (i=3, Bedingung 3<=3 ist true)
// Ende (i=4, Bedingung 4<=3 ist false)

Praxis-Beispiele

Beispiel 1: Alle Elemente eines Arrays ausgeben

javascript
let fruechte = ["Apfel", "Banane", "Kirsche"];

for (let i = 0; i < fruechte.length; i++) {
    console.log(fruechte[i]);
}
// Ausgabe: "Apfel", "Banane", "Kirsche"

Beispiel 2: HTML-Liste erstellen

javascript
let tiere = ["Hund", "Katze", "Maus"];
let html = "<ul>";

for (let i = 0; i < tiere.length; i++) {
    html += "<li>" + tiere[i] + "</li>";
}

html += "</ul>";
console.log(html);
// Ausgabe: <ul><li>Hund</li><li>Katze</li><li>Maus</li></ul>

8.2 while Schleife: Bedingung erfüllt = weitermachen

Die while-Schleife wird verwendet, wenn Sie nicht wissen, wie oft, aber bis eine Bedingung erfüllt ist.

Grundlegende Syntax

javascript
while (bedingung) {
    // Code, der wiederholt wird
}

Einfaches Beispiel

javascript
let zaehler = 1;

while (zaehler <= 5) {
    console.log(zaehler);
    zaehler++;
}
// Ausgabe: 1, 2, 3, 4, 5

⚠️ Achtung: Endlosschleife vermeiden!

javascript
// GEFÄHRLICH - Endlosschleife!
let x = 1;
while (x <= 5) {
    console.log(x);
    // Vergessen: x++ → x bleibt 1 → Endlosschleife!
}

Praxis-Beispiel: Passwort-Eingabe simulieren

javascript
let eingegebenesPasswort = "";
let korrektesPasswort = "geheim123";

while (eingegebenesPasswort !== korrektesPasswort) {
    console.log("Bitte Passwort eingeben...");
    eingegebenesPasswort = "geheim123"; // Simuliert Eingabe
}

console.log("Zugang gewährt!");

8.3 do...while Schleife: Erst ausführen, dann prüfen

Die do...while-Schleife führt den Code mindestens einmal aus, auch wenn die Bedingung false ist.

Grundlegende Syntax

javascript
do {
    // Code, der ausgeführt wird
} while (bedingung);

Unterschied zwischen while und do...while

javascript
// while: Bedingung zuerst prüfen
let x = 10;
while (x < 5) {
    console.log("while:", x);  // Wird NICHT ausgeführt
}

// do...while: Code zuerst ausführen
let y = 10;
do {
    console.log("do...while:", y);  // Wird EINMAL ausgeführt
    y++;
} while (y < 5);

Praxis-Beispiel: Menü anzeigen

javascript
let auswahl;

do {
    auswahl = "3";  // Simuliert Benutzereingabe
    console.log("Auswahl:", auswahl);
} while (auswahl !== "3");

console.log("Programm beendet.");

8.4 break und continue: Schleife beenden und überspringen

break: Schleife sofort beenden

javascript
for (let i = 1; i <= 10; i++) {
    if (i === 5) {
        break;  // Schleife bei i=5 beenden
    }
    console.log(i);
}
// Ausgabe: 1, 2, 3, 4

Praxis-Beispiel: Passwort-Suche

javascript
let passwoerter = ["123", "abc", "geheim", "passwort"];
let gesuchtesPasswort = "geheim";

for (let i = 0; i < passwoerter.length; i++) {
    if (passwoerter[i] === gesuchtesPasswort) {
        console.log("Passwort gefunden bei Index:", i);
        break;  // Nicht weitersuchen
    }
}

continue: Diesen Durchlauf überspringen

javascript
for (let i = 1; i <= 5; i++) {
    if (i === 3) {
        continue;  // Überspringt i=3
    }
    console.log(i);
}
// Ausgabe: 1, 2, 4, 5

Praxis-Beispiel: Nur gerade Zahlen ausgeben

javascript
for (let i = 1; i <= 10; i++) {
    if (i % 2 !== 0) {
        continue;  // Ungerade Zahlen überspringen
    }
    console.log(i);  // Nur gerade Zahlen
}
// Ausgabe: 2, 4, 6, 8, 10

8.5 Praxis: Kleines 1x1 / 1-100 Summe berechnen

Projekt 1: Kleines 1x1 (Multiplikationstabelle)

javascript
// Kleines 1x1 ausgeben
for (let i = 1; i <= 10; i++) {
    let zeile = "";
    for (let j = 1; j <= 10; j++) {
        zeile += (i * j).toString().padStart(4, " ");
    }
    console.log(zeile);
}

Ausgabe (Teil):

   1    2    3    4    5    6    7    8    9   10
   2    4    6    8   10   12   14   16   18   20
   3    6    9   12   15   18   21   24   27   30
...

Projekt 2: Summe von 1 bis 100 berechnen

javascript
// Methode 1: Mit for-Schleife
let summe = 0;
for (let i = 1; i <= 100; i++) {
    summe += i;
}
console.log("Summe von 1 bis 100:", summe);  // 5050

// Methode 2: Mit while-Schleife
let summe2 = 0;
let zaehler = 1;
while (zaehler <= 100) {
    summe2 += zaehler;
    zaehler++;
}
console.log("Summe (while):", summe2);  // 5050

// Mathematische Formel (für Profis):
let n = 100;
let summe3 = (n * (n + 1)) / 2;
console.log("Summe (Formel):", summe3);  // 5050

Projekt 3: Alle Primzahlen bis 100 finden

javascript
function istPrimzahl(zahl) {
    if (zahl < 2) return false;
    for (let i = 2; i <= Math.sqrt(zahl); i++) {
        if (zahl % i === 0) {
            return false;
        }
    }
    return true;
}

console.log("Primzahlen bis 100:");
for (let i = 1; i <= 100; i++) {
    if (istPrimzahl(i)) {
        console.log(i);
    }
}
// Ausgabe: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97

📝 Zusammenfassung

In diesem Kapitel haben Sie gelernt:

  • for-Schleife: Festanzahl Wiederholungen (am häufigsten)
  • while-Schleife: Wiederholen, bis Bedingung false ist
  • do...while-Schleife: Mindestens einmal ausführen
  • break: Schleife sofort beenden
  • continue: Diesen Durchlauf überspringen
  • ✅ Praxis-Projekte: Kleines 1x1, Summenberechnung, Primzahlen

➡️ Nächster Schritt

Im nächsten Kapitel lernen wir Funktionen - Blöcke von wiederverwendbarem Code!


Übung:

  1. Schreiben Sie eine for-Schleife, die alle Zahlen von 1 bis 50 ausgibt
  2. Schreiben Sie eine while-Schleife, die die Fakultät einer Zahl berechnet
  3. Verwenden Sie break, um eine Schleife zu beenden, wenn eine Bedingung erfüllt ist
  4. Verwenden Sie continue, um ungerade Zahlen zu überspringen
  5. Testen Sie alle Schleifen in der Konsole

Frei für alle Anfänger