CodeGym /Kurse /C# SELF /Die for-Schleife: Einführung und Besonderheiten

Die for-Schleife: Einführung und Besonderheiten

C# SELF
Level 4, Lektion 2
Verfügbar

1. Einführung

Stell dir vor, du hast die Aufgabe: Zehnmal „Hallo!“ auf dem Bildschirm auszugeben. Klar, du könntest zehn Zeilen mit Console.WriteLine("Hallo!"); schreiben – aber du kennst ja jetzt die while-Schleife, also schaffst du das easy.

Aber es gibt noch eine Schleife – die for-Schleife, die eine Aktion genau so oft wiederholt, wie du willst. Und sie kann sogar selbst zählen!

Hier ein typisches Beispiel:

for (int i = 0; i < 10; i++)
{
    Console.WriteLine("Hallo!");
}
Klassische for-Schleife – 10 Mal "Hallo!" ausgeben

Was macht dieser Code? Er gibt das Wort „Hallo!“ genau 10 Mal auf dem Bildschirm aus. Ohne Copy-Paste und ohne Handgelenkschmerzen.

2. Syntax der for-Schleife

Die for-Schleife besteht aus drei Hauptteilen, die in runden Klammern nach dem Schlüsselwort for stehen:

for (Initialisierung; Bedingung; Änderung)
{
    // Schleifenrumpf
}
Allgemeiner Syntax der for-Schleife

Schauen wir uns jedes Element genauer an:

  • Initialisierung – meistens das Anlegen einer Zählvariablen, mit der die Wiederholungen gezählt werden (int i = 0).
  • Bedingung – wird vor jedem Durchlauf geprüft. Ist sie wahr, läuft der Schleifenrumpf. Ist sie falsch, ist die Schleife zu Ende. Zum Beispiel i < 10.
  • Änderung – ein Operator, der nach jedem Durchlauf ausgeführt wird. Meistens wird der Zähler erhöht oder verringert (i++).

Man kann das auch als Schema darstellen:

3. Vergleich von for und while

Vielleicht wird es klarer, wenn ich sage: for ist einfach eine andere Schreibweise für die while-Schleife.

Wir hatten die while-Schleife:

int i = 0;					// Initialisierung der Schleifenvariable
while(i < 10)				// Bedingung für die Schleife
{
    Console.WriteLine(i); 	// Nützliche Aktion (Schleifenrumpf)
    i++;					// Zähler erhöhen
}

Das können wir als for-Schleife schreiben, indem wir alles, was die Schleifenlogik steuert, einfach verschieben:

for (int i = 0; i < 10; i++)  // Initialisierung; Bedingung; Zähler erhöhen
{
    Console.WriteLine(i);		// Nützliche Aktion (Schleifenrumpf)
}

Die Schritte beider Schleifen:

  1. Initialisierung int i = 0; wird einmal vor der Schleife ausgeführt.
  2. Dann wird die Bedingung i <= 10 geprüft
  3. Dann die nützliche Aktion der Schleife Console.WriteLine(i);
  4. Dann wird der Zähler erhöht i++
  5. Dann geht es zurück zu Schritt 2.

4. Beispiele für die for-Schleife

Das einfachste Beispiel

Lass uns die Zahlen von 1 bis 5 ausgeben:

for (int i = 1; i <= 5; i++)
{
    Console.WriteLine(i);
}

Ausgabe:

1
2
3
4
5

Hinweis: Wenn du i < 5 geschrieben hättest, wäre die letzte Ausgabe 4 gewesen.

Countdown

Willst du dich wie ein Astronaut fühlen? Machen wir einen Countdown!

for (int i = 5; i > 0; i--)
{
    Console.WriteLine(i);
}
Console.WriteLine("Los geht's!");

Ausgabe:

5
4
3
2
1
Los geht's!

Schritt der Schleife ist nicht 1

Du kannst den Zähler nicht nur um 1, sondern auch um eine andere Zahl verändern:

for (int i = 0; i <= 10; i += 2)
{
    Console.WriteLine(i);
}
// Gibt aus: 0 2 4 6 8 10

5. Varianten der for-Schleife

Mehrere Variablen in der Schleife

Manchmal ist es praktisch, gleich zwei Variablen zu verfolgen. Zum Beispiel, lass uns Zahlen von rechts nach links und von links nach rechts ausgeben:

for (int links = 1, rechts = 10; links <= 10; links++, rechts--)
{
    Console.WriteLine($"{links}  {rechts}");
}

Ausgabe:

1  10
2  9
3  8
...
10  1

Endlose for-Schleife

Wenn es richtig hart kommt (zum Beispiel, dein Projekt ist ein Perpetuum Mobile in der IT), kannst du eine „endlose“ for-Schleife machen:

for (;;) // keine Initialisierung, keine Bedingung, keine Änderung
{
    Console.WriteLine("Arbeiten, arbeiten und noch mal arbeiten!");
}
Endlose for-Schleife

Achtung: So eine Schleife endet nur, wenn im Rumpf ein break, return oder throw steht. Benutz sie nicht ohne Grund, sonst weckst du vielleicht einen uralten Dämon – "Prozess reagiert nicht".

2
Aufgabe
C# SELF, Level 4, Lektion 2
Gesperrt
Gerade Zahlen von 2 bis 20
Gerade Zahlen von 2 bis 20
2
Aufgabe
C# SELF, Level 4, Lektion 2
Gesperrt
Countdown mit Nachricht
Countdown mit Nachricht
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION