Lädt...

if und else

bool ready = true; speichert das Wort true. Dann schaut if (ready) auf dieses Wort und führt nur eine Gruppe von Zeilen aus. Wenn ready true ist, schreibt Console.WriteLine("pass") den Wert pass. Wenn ready false ist, läuft die else-Gruppe und schreibt wait. Der Bildschirm hat eine Zeile. Behalte den öffentlichen Klassennamen Pine.

Ein bool entscheidet, welcher Block läuft

Öffne die Pine-Datei. Der Klassenname bleibt Pine. Diese Seite benennt den Typ nicht um. Lösche bool both, falls die Zeile noch da ist, einschließlich true && true, true || false, !true und jedes Verbindungszeichen zwischen zwei true- oder false-Wörtern. Lösche bool match, falls noch vorhanden. Lösche int total, falls noch vorhanden. Lösche jede ReadLine-Zeile. Die Datei, die du behältst, wartet nicht auf Tippen, hat kein both, kein match und kein bares Schreiben eines verbundenen Worts allein. Den Bildschirm schreibt nur eine Schreibzeile innerhalb der gewählten geschweiften Klammern.

In Main speichere vor der Pfadwahl ein bool: bool ready = true;. bool ist das Typwort. ready ist der Name und beginnt mit kleinem r. Um true stehen keine Anführungszeichen. Das Semikolon beendet die Speicherzeile. Diese Zeile schreibt den Bildschirm nicht. Danach kommt die Wahl:
if (ready) {
Console.WriteLine("pass");
} else {
Console.WriteLine("wait");
}
Das Wort if ist kleingeschrieben: i, dann f. Es ist kein Name, den du erfindest. Ein Leerzeichen nach if ist in Ordnung; if(ready) ohne Leerzeichen baut ebenfalls. In den runden Klammern sitzt der Name ready — keine Anführungszeichen, kein ==, kein &&. Wenn ready true hält, betritt C# das erste Paar geschweifter Klammern und führt Console.WriteLine("pass"); aus. Die Anführungszeichen um pass markieren Buchstaben für den Bildschirm. Genau diese Buchstaben — p, a, s, s — solltest du sehen, eine Zeile. Der else-Block wird in diesem Lauf ganz übersprungen. Speichere die Datei.

Die Datei, die du behältst

Behalte diese Unterrichtsform. Ein Typwort, bool. Ein Name, ready, gespeichert als true. Ein if mit runden Klammern um ready. Eine Schreibzeile, die innerhalb der ersten geschweiften Klammern pass schreibt. Ein else mit einer Schreibzeile, die wait schreibt. Es gibt keine both-Zeile, keine match-Zeile und kein bares Schreiben des Worts true außerhalb der geschweiften Klammern.

ready is true

csharp
using System;

public class Pine
{
    public static void Main()
    {
        bool ready = true;
        if (ready)
        {
            Console.WriteLine("pass");
        }
        else
        {
            Console.WriteLine("wait");
        }
    }
}

Lies von oben. using System; bereitet kurze Namen vor. public class Pine benennt den Typ. public static void Main() ist der Start der Laufzeit. bool ready = true; speichert true. Es schreibt nichts. if (ready) fragt, ob dieses gespeicherte Wort true ist. Es ist, also läuft Console.WriteLine("pass");. Die else-Klammern werden übersprungen. Eine Zeile auf dem Bildschirm: pass. Keine Anführungszeichen auf dem Bildschirm. Keine zweite Zeile. In der Datei, die du behältst, gibt es keine bool both-Zeile.

Starte mit dotnet run. Das Programm schreibt pass. Es wartet nicht darauf, dass du tippst. Das gespeicherte Wort und die Wahl standen schon in der Datei. Wartet dotnet run, ist ReadLine noch in der Datei. Lösche diese Zeile und behalte bool ready = true; sowie das if / else oben. Das Programm endet nach der gewählten Schreibzeile. Der Bildschirm zeigt pass. Eine Zeile. Zeigt der Bildschirm true, schreibst du noch das bool selbst, oder eine Verbindung von der Logik-Seite steckt noch in Main. Ersetze das durch Console.WriteLine("pass") innerhalb der if-Klammern, wenn ready true ist. Zeigt der Bildschirm wait, ist ready false — das ist die zweite Datei auf dieser Seite, nicht die Datei, die du behältst. Zeigt der Bildschirm if (ready) als Buchstaben, hat eine Schreibzeile Anführungszeichen um diese Zeichen. Installiere das .NET SDK nicht neu wegen einer falschen Bildschirmzeile.

Warum pass und nicht wait? Weil der Test in den runden Klammern true war. C# schreibt in diesem Lauf nicht das Wort true. Es schreibt die Schreibzeile, die innerhalb der gewählten geschweiften Klammern läuft. Denk an drei Aufgaben: die runden Klammern halten den Test, die geschweiften Klammern gruppieren die zusammengehörigen Zeilen, und nur Console.WriteLine schreibt auf den Bildschirm. Ein Bildschirm mit pass beweist das if nicht allein. Suche in der Datei nach if (ready) und den Klammern. Beurteile die Datei nicht nur am Bildschirm.

Wenn ready false ist

Ändere nur den gespeicherten Wert: bool ready = false;. Lass die if / else-Struktur unverändert. Jetzt scheitert der Test, also überspringt C# die ersten geschweiften Klammern und führt die else-Klammern aus. Der Bildschirm soll wait zeigen, eine Zeile.

ready is false

csharp
using System;

public class Pine
{
    public static void Main()
    {
        bool ready = false;
        if (ready)
        {
            Console.WriteLine("pass");
        }
        else
        {
            Console.WriteLine("wait");
        }
    }
}

Das ist die zweite Datei. Nicht die, die du behältst. Starte dotnet run. Der Bildschirm zeigt wait. Eine Zeile. Er zeigt nicht pass. Er zeigt nicht false als Bildschirmwort, es sei denn, du schreibst dieses Wort absichtlich. Zeigt der Bildschirm pass, bist du noch auf der Datei, die du behältst, wo ready true ist. Nachdem du wait gesehen hast, setze die behaltene Datei zurück: bool ready = true; und dasselbe if / else, das auf dem true-Pfad pass schreibt. Beide Versionen sind gültiges C#. Sie lehren dieselbe if / else-Form mit gegensätzlichen Tests.

Lies den false-Lauf noch einmal der Reihe nach. ready hält false. if (ready) wird gefragt. Die Antwort ist false, also wird jede Zeile zwischen dem ersten { und dem passenden } übersprungen — einschließlich Console.WriteLine("pass");. Die Kontrolle geht weiter bei else. Die Zeilen zwischen den else-Klammern laufen, also führt Console.WriteLine("wait"); aus. Eine Zeile auf dem Bildschirm. Keine zweite Zeile. Das Wort false selbst erscheint nicht, es sei denn, du schreibst es absichtlich.

Regeln, die die Wahl klar halten

Runde Klammern um den Test sind Pflicht. Schreibst du if ready { … } ohne runde Klammern, schreibt der build einen Fehler. Der Test auf dieser Seite ist ein bool: ein Name wie ready, oder die bloßen Wörter true oder false ohne Anführungszeichen. if ("true") setzt Buchstaben dorthin, wo ein bool-Test hingehört; der build schreibt einen Fehler. Entferne die Anführungszeichen, oder bleibe bei einem bool-Namen. Eine bare ganze Zahl wie if (1) ist nicht die Form, mit der diese Lektion Bereitschaft speichert; bleibe bei true, false oder einem bool-Namen.

Geschweifte Klammern helfen beim Lesen der Lektion. Diese Seite wickelt jeden Pfad immer in { }. C# erlaubt ein einzeiliges if ohne geschweifte Klammern, aber sobald du eine zweite Zeile unter dieses if setzt, bleibt nur die erste Zeile am Test gebunden, sofern keine Klammern da sind. Anfänger verlieren dieses Detail leicht. Behalte in beiden Demos die Klammern, damit jeder Pfad klar ist: eine öffnende Klammer nach dem Test, eine schließende vor else, dann ein weiteres Paar für else.

else gehört zu einem if. Ein alleiniges else lässt den build einen Fehler schreiben. Auf dieser Seite hat ein if ein else. Du darfst if ohne else schreiben, wenn dich nur der true-Pfad interessiert; die Datei, die du behältst, zeigt trotzdem beide Seiten, damit du die Gabelung siehst. Die Wahl unter mehreren festen Werten ist switch auf einer späteren Seite — erfinde hier keinen dritten Zweig mit einem weiteren else.

Du kannst den Test auch ohne eigenen Namen schreiben: if (true) { … } else { … }. Das baut und läuft. Die Demos nutzen ready, damit du siehst, wie ein gespeichertes bool die Wahl steuert — so sehen Programme aus, nachdem du true und false speichern kannst. Vergleiche wie if (score > 10) kommen, wenn du mit dieser true-/false-Gabelung vertraut bist; diese Seite hält den Test als bool-Wert, den du schon verstehst.

📊 ready and the screen

ready Screen
true pass
false wait

Nutze die Tabelle als Prüfung nach einem Lauf, nicht statt eines Laufs. true mit der Datei, die du behältst, schreibt pass. false mit der zweiten Datei schreibt wait. Laufen irgendwie beide Schreibzeilen, stimmen die Klammern oder die if / else-Paarung nicht — korrigiere die Struktur, statt das .NET SDK neu zu installieren.

Ein häufiger Fehler ist, die Syntax selbst zu schreiben: Console.WriteLine("if (ready)");. Das schreibt die Zeichen if (ready). Es wählt keinen Pfad. Ein anderer Fehler ist, &&- oder ==-Demos im selben Main zu lassen und sich zu wundern, warum der Bildschirm true statt pass zeigt. Das Main dieser Sitzung soll nur das bool und das if / else halten.

Du kannst jetzt ein bool speichern, es in if (…) setzen und jedem Ergebnis einen eigenen geklammerten Block geben. Wenn der Test true ist, läuft eine Schreibzeile; wenn er false ist, läuft die else-Schreibzeile. Die nächste Seite ist switch, wo mehrere feste Werte jeweils ein eigenes case bekommen statt einer einzigen true-/false-Gabelung.

Der Bildschirm ist der gewählte Pfad

Die Datei, die du behältst, schreibt pass. Der Name ready steht in den runden Klammern, und ready steht nicht auf dem Bildschirm. Das Wort true steht in der Speicherzeile, und true steht nicht auf dem Bildschirm. Der else-Pfad steht in der Datei und läuft beim behaltenen Lauf nicht. Anführungszeichen um if (ready) schreiben Buchstaben, keinen gewählten Pfad.

🧠 Testen Sie Ihr Wissen

Bereit zum Start

Testen Sie Ihr Wissen

Fordern Sie sich mit diesem interaktiven Quiz heraus und sehen Sie, wie gut Sie das Thema verstehen

❓
5
Fragen
🎯
70%
Zum Bestehen
♾️
∞
Zeit
🔄
∞
Versuche

📝 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