while-Schleifen
int k = 1; speichert 1 vor jeder Schleife. Dann läuft while (k <= 3) weiter, solange dieser Test true ist. In den geschweiften Klammern schreibt Console.WriteLine(k) die aktuelle Zahl, und k = k + 1 speichert eins mehr unter k. Der Bildschirm zeigt drei Zeilen: 1, dann 2, dann 3. Behalte den öffentlichen Klassennamen Pine.
Start außen, Test in while, Schritt innen
Öffne die Pine-Datei. Der Klassenname bleibt Pine. Diese Seite benennt den Typ nicht um. Lösche jede for-Schleife, falls die Zeile noch da ist, einschließlich for (int n = 1; n <= 3; n = n + 1) und jedes Start-Test-Schritts, der in einer Kopfzeile steckt. Lösche int choice, falls die Zeile noch da ist. Lösche jede ReadLine-Zeile. Die Datei, die du behältst, wartet nicht auf Tippen, hat keine for-Kopfzeile mit drei Aufgaben in Klammern und keinen switch. Den Bildschirm schreibt nur die Schreibzeile innerhalb der geschweiften while-Klammern.
In Main speichere den Zähler zuerst: int k = 1;. Diese Zeile steht nicht im while. Sie startet k nur bei 1. Dann die Schleife:
while (k <= 3) {
Console.WriteLine(k);
k = k + 1;
}
Das Wort while ist kleingeschrieben. In den runden Klammern sitzt nur der Test: k <= 3. Dort gibt es weder Start noch Schritt — anders als in der for-Zeile, die du früher gesehen hast. Die geschweiften Klammern halten sowohl die Schreibzeile als auch den Schritt. Console.WriteLine(k); schreibt die aktuelle Zahl ohne Anführungszeichen um k. Dann speichert k = k + 1; eins mehr unter k, damit der nächste Test irgendwann false werden kann. Speichere die Datei.
Die Datei, die du behältst
Behalte diese Unterrichtsform. Eine Speicherzeile über der Schleife, int k = 1;. Ein while mit runden Klammern nur um den Test. Eine Schreibzeile in den geschweiften Klammern. Ein Schritt in den geschweiften Klammern, k = k + 1;. Es gibt keine for-Kopfzeile, keinen Zähler n von der vorigen Seite und keine Anführungszeichen um k.
using System;
public class Pine
{
public static void Main()
{
int k = 1;
while (k <= 3)
{
Console.WriteLine(k);
k = k + 1;
}
}
}
Lies von oben. using System; bereitet kurze Namen vor. public class Pine benennt den Typ. public static void Main() ist der Start der Laufzeit. int k = 1; speichert 1. while (k <= 3) stellt den Test. Console.WriteLine(k); schreibt das aktuelle k. k = k + 1; bewegt den Zähler. Drei Zeilen auf dem Bildschirm: 1, dann 2, dann 3. In der Datei, die du behältst, gibt es keine for-Zeile.
Starte mit dotnet run. Das Programm schreibt drei Zeilen und endet. Es wartet nicht darauf, dass du tippst. Der Zähler und das while standen schon in der Datei. Wartet dotnet run, ist ReadLine noch in der Datei. Lösche diese Zeile und behalte int k = 1; und das while oben. Der Bildschirm zeigt 1, dann 2, dann 3. Hört der Bildschirm nie auf und schreibt immer wieder 1, fehlt der Schritt in den geschweiften Klammern. Setze k = k + 1; wieder hinein. Zeigt der Bildschirm einen Rest im for-Stil, lösche die for-Kopfzeile. Zeigt der Bildschirm in jeder Zeile den Buchstaben k, hat die Schreibzeile Anführungszeichen: Console.WriteLine("k");. Installiere das .NET SDK nicht neu wegen eines Bildschirms mit falschen Zeilen.
Geh einen vollständigen Lauf der Reihe nach durch. k startet bei 1 vor dem while. Der Test k <= 3 ist true, also läuft der Rumpf: die Schreibzeile schreibt 1, dann speichert der Schritt 2. Der Test ist noch true: schreibt 2, speichert 3. Der Test ist noch true: schreibt 3, speichert 4. Jetzt ist k <= 3 false, also endet die Schleife. Der Start lief einmal, über der Schleife. Der Test lief vor jedem Durchgang. Der Schritt lief in den geschweiften Klammern nach jedem Schreiben. Diese drei Aufgaben sind dieselben Ideen wie bei for, aber sie stecken nicht in einer Kopfzeile. Lässt du k = k + 1; weg und bleibt k für immer bei 1, bleibt der Test true und dieselbe Zeile kann ohne Stopp schreiben — genau deshalb gehört der Schritt auf dieser Seite in den Rumpf.
Den Test erweitern
Ändere nur den Test, damit die Schleife einen Schritt weiter geht: while (k <= 4). Lass Start und Schritt unverändert. Jetzt soll der Bildschirm vier Zeilen zeigen: 1, 2, 3 und 4.
using System;
public class Pine
{
public static void Main()
{
int k = 1;
while (k <= 4)
{
Console.WriteLine(k);
k = k + 1;
}
}
}
Das ist die zweite Datei. Nicht die, die du behältst. Starte dotnet run. Der Bildschirm zeigt vier Zeilen. Du hast die Schreibzeile und den Schritt nicht neu geschrieben — nur der Test in while (…) hat sich geändert. Nachdem du vier Zeilen gesehen hast, setze die behaltene Datei zurück: k <= 3 und denselben Rumpf. Beide Versionen sind gültiges C#. Sie lehren dieselbe while-Form mit einem anderen Stopppunkt.
Lies den Vier-Zeilen-Lauf noch einmal. k startet bei 1. Jeder true-Test schreibt das aktuelle k und addiert danach 1. Wird k zu 5, scheitert der Test und die Schleife stoppt. Die Ziffer 5 erscheint in diesem Demo nicht auf dem Bildschirm, weil der Rumpf nur läuft, solange der Test noch true ist.
📊 k and the first demo screen
| k before WriteLine | Screen line |
|---|---|
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
Nutze die Tabelle nach dem ersten Demo als Check, nicht statt eines Laufs. Vor jeder Schreibzeile in diesem Demo hält k die Zahl, die in dieser Zeile erscheint. Nach dem dritten Schreiben speichert der Schritt 4 und der Test scheitert. Hört der Bildschirm bei einer Version ohne Schritt nie auf, setze k = k + 1; wieder in die geschweiften Klammern — installiere das .NET SDK nicht neu.
Regeln, die while klar halten
Runde Klammern um den Test sind Pflicht. Schreibst du while k <= 3 { … } ohne Klammern, schreibt der build einen Fehler. Der Rumpf auf dieser Seite sitzt immer in geschweiften Klammern, weil zu jedem Durchgang zwei Zeilen gehören: die Schreibzeile und der Schritt. Setzt du den Schritt nach die schließende Klammer, läuft er einmal nach dem Ende der Schleife — und innerhalb der Schleife ändert sich k nie, sodass die Schleife ewig laufen kann. Behalte den Schritt in beiden Demos in den geschweiften Klammern.
while ist weder for noch switch. for packt Start, Test und Schritt in eine Kopfzeile. while lässt den Test allein im Kopf und verlangt, dass du Start und Schritt selbst setzt. switch wählt einmal unter case-Labels. Lass keine for-Schleife und keinen switch im selben Main und wundere dich nicht, warum der Bildschirm einen Rest im for-Stil oder das Wort mid zeigt. Das Main dieser Sitzung soll nur den int und das while halten.
Ein häufiger Fehler ist, die Syntax selbst zu schreiben: Console.WriteLine("while");. Das schreibt die Zeichen while. Es wiederholt nicht. Ein anderer Fehler ist, Anführungszeichen um k zu setzen: Console.WriteLine("k"); schreibt bei jedem Durchgang den Buchstaben k. Behalte Console.WriteLine(k) ohne Anführungszeichen, wenn der Zähler auf dem Bildschirm stehen soll. Ist der Test schon false, wenn das while erstmals erreicht wird — zum Beispiel startet k bei 5 und der Test sagt k <= 3 —, läuft der Rumpf nie und der Bildschirm bleibt leer. Das ist trotzdem ein gültiges while; die Demos dieser Lektion behalten einen Test, der mindestens einmal true ist, damit du die geschriebenen Zeilen siehst.
Du kannst jetzt einen Zähler über while starten, einen Test in while (…) setzen und sowohl die Schreibzeile als auch den Schritt in den geschweiften Klammern behalten. Den Test zu ändern ändert, wie viele Zeilen du bekommst. Die nächste Seite ist break und continue, wo du eine Schleife früh verlässt oder einen Durchgang überspringst, ohne die ganze Schleife zu beenden.
Der Bildschirm ist der sich ändernde Zähler
Die Datei, die du behältst, schreibt 1, dann 2, dann 3. Der Name k steht in der Schreibzeile, und der Buchstabe k steht nicht auf dem Bildschirm. Der Start sitzt über dem while und steht nicht auf dem Bildschirm. Anführungszeichen um k oder um while schreiben Buchstaben, nicht den Zählerweg.
🧠 Testen Sie Ihr Wissen
Testen Sie Ihr Wissen
Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen
📝 Anweisungen
- Lesen Sie jede Frage sorgfältig
- Wählen Sie die beste Antwort für jede Frage
- Sie können das Quiz so oft wiederholen, wie Sie möchten
- Ihr Fortschritt wird oben angezeigt