Lektion 9:if und elseJetzt können wir schon einfache Programme nach dem Muster Eingabe-Verarbeitung-Ausgabe schreiben. Uns fehlt aber noch die Möglichkeit, Entscheidungen zu treffen. Das geht mit den Schlüsselwörtern if und else, wie folgendes Beispiel zeigt:
Nach if gibt man in Klammern eine Bedingung ein, und wenn sie wahr ist, dann wird der Befehl nach if ausgeführt, anderenfalls wird der Befehl nach else ausgeführt. Neben den bekannten Operatoren +,-,* und / gibt es z.B. auch die Vergleichsoperatoren: > größer >= größer oder gleich == gleich != nicht gleich <= kleiner oder gleich < kleiner Sie liefern als Wert wahr oder falsch, der Typ dieser Werte ist bool. Entsprechend können auch Variablen oder Funktionen den Typ bool haben. Die Werte wahr und falsch kann man auch direkt mit den Schlüsselwörtern true und false angeben, wobei eine Zeile wie if(true) aber wohl wenig sinnvoll erscheint, da man dort das if auch ganz weglassen könnte.
Der Befehl, der nach if oder else steht, darf wieder ein if-Befehl sein. Das nennt man geschachtelte ifs.
Die Befehle nach if und else werden eingerückt, weil das übersichtlicher ist; dem Compiler sind solche Einrückungen völlig egal, er bemerkt sie gar nicht. Für den Programmierer ist durch das Einrücken aber leicht ersichtlich, zu welchem if ein else gehört. Um richtig einzurücken ist es wichtig, zu wissen, daß sich ein else immer (unabhängig von der Einrückung) auf das letzte davor auftauchende if bezieht, das noch kein else hat. Also ist folgende Einrückung schlecht:
Besser eingerückt ist:
Wir sehen jetzt, daß das Programm immer, wenn die Geschwindigkeit zwischen 80 und 110 lag, den Text "Nicht zu schnell gefahren." ausgegeben hat. Falls Ihnen Fehler im Text auffallen oder Sie Verbesserungsvorschläge haben, dann schicken Sie mir bitte eine Mail. Ich werde mich dann sofort darum kümmern. [aktuelle Version] [inhalt] [index] [Fehlerkorrektur, Verbesserungsvorschlag] © Volkard Henkel <volkard@normannia.de>, last update: 08/25/00 |