if-Statement
Kurz: Die einfachste Form der bedingten Verzweigung — ein Codeblock wird nur ausgeführt, wenn eine angegebene Bedingung wahr ist.
Genauer: Ohne einen zugehörigen else-Zweig passiert bei falscher Bedingung einfach nichts, und das Programm läuft mit dem nächsten Codeabschnitt weiter. Erst die Kombination mit else bzw. else…if erlaubt es, für den “sonst”-Fall ebenfalls gezielt zu reagieren.
Im Detail
Die Bedingung eines if-Statements ist immer ein Ausdruck, der zu einem Boolean (true/false) ausgewertet wird — in manchen Sprachen (z. B. C) werden dafür auch Zahlen implizit umgewandelt (0 = falsch, alles andere = wahr), in streng typisierten Sprachen wie Java oder TypeScript ist dagegen ausschließlich ein echter Boolean-Wert erlaubt.
if (bedingung) {
// wird nur ausgeführt, wenn bedingung == true
}Ein häufiger Anfängerfehler ist die Verwechslung von Zuweisung (=) und Vergleich (==/===) innerhalb der Bedingung — in manchen Sprachen (klassisch C) kompiliert if (x = 5) anstandslos und weist x den Wert 5 zu, statt ihn mit 5 zu vergleichen, was zu schwer auffindbaren Bugs führt. Moderne Sprachen/Linter warnen davor oder verbieten es sogar syntaktisch.
Bei mehreren unabhängigen Bedingungen hintereinander sollte man zwischen mehreren separaten if-Statements (jede Bedingung wird immer geprüft) und einer else…if-Kette (nur die erste zutreffende Bedingung “gewinnt”, der Rest wird übersprungen) bewusst unterscheiden — das ist ein häufiger, aber folgenreicher logischer Unterschied.
Verschachtelte if-Statements (“Nested if”) sind möglich, aber ab drei oder mehr Ebenen wird der Code schnell schwer lesbar (“Pyramid of Doom”) — oft lässt sich das durch frühzeitiges Zurückkehren (return) aus einer Funktion oder durch Umformulieren der Bedingung (z. B. mit logischen Operatoren) vermeiden.