Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Jetzt lerne ich Java 6

if-Verzweigungen

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Die häufigste Methode, das Programm auf eine Bedingung reagieren zu lassen, ist die if()-Anweisung: Auf eine boolesche Frage folgt entweder ein einzelner Befehl oder ein Befehlsblock.
07:03

Transkript

Alle Programme, die wir bis jetzt geschrieben haben, waren relativ lineal. Das bedeutet, Sie haben irgendwo Vorgaben gesetzt, dann wurde eine Ausgabe generiert, und dann wurde das Programm wieder beendet. Das heißt, die Programme konnten nicht einen von mehreren Wegen gehen. Sie konnten auch nicht reagieren, zum Beispiel, auf eine Benutzereingabe oder auf ein anderes Ereignis. Das soll sich ab diesem Zeitpunkt ändern. In den folgenden Filmen werden wir uns mit der Ablaufsteuerung eines Programms beschäftigen. Und das erst macht richtig Spaß. Denn jetzt können die Programme reagieren, und zwar abhängig von Bedingungen. Daher war es so wichtig, dass Sie sich mit den Operatoren beschäftigen. Denn diese werden Sie jetzt wieder finden. Nun aber zuerst einmal zu der wohl wichtigsten Verzweigung, zur if-Verzweigung. Mit Hilfe des Schlüsselwortes "if" können Sie sozusagen den Java-Interpreter fragen: wenn etwas eintritt, dann nimmst du den Weg, oder wenn etwas anderes eintritt, dann nimmst du den Weg. Aber das schauen wir uns am besten direkt praktisch mal an. Dafür definiere ich mir hier einen "boolean", den ich schön "bedingung" nenne, und den belegen wir direkt mit einem Wert - "true". Die Bedingung ist zurzeit wahr. Denken Sie daran, dass hier außen herum keine Anführungszeichen kommen, denn das ist ein boolescher Wert. Das ist also nicht ein Wort "true", sondern das ist wirklich ein boolescher Wert - dass etwas wahr ist. Und jetzt machen wir hier einfach eine Verzweigung. Wenn, also "if" - und jetzt müssen wir eine Bedingung anschließen, und die Bedingung steht in runden Klammern - wenn Bedingung dasselbe ist wie "true", dann soll irgendetwas passieren. Und den Befehl, der dann ausgeführt werden soll, können wir entweder jetzt direkt dahinter schreiben, oder, wenn es mehrere Befehle sind, schreibt man diese in einen Codeblock. Um sozusagen zu sagen: das gehört zusammen. Nun, machen wir es zuerst einmal einfach. Wir lassen mit System.out.println doch kurz einmal hier sagen: "Die Bedingung ist wahr!" Das war schon unser ganzes Programm. Testen wir das, Taste F6. Und wir sehen, dass wir als Ausgabe bekommen: "Die Bedingung ist wahr!" Das haben wir auch erwartet, denn die Bedingung ist hier oben "true". Gegentest. Sobald Sie mit Verzeigungen arbeiten, in der Programmierung sollten Sie immer beim Testen nicht nur die eine Variante, sondern auch die Gegenvariante testen. Denn zu leicht können hier kleine Fehler auftreten. Zum Beispiel, dass statt einem Vergleichsoperator an dieser Stelle der Zuweisungsoperator steht, und schon geht die ganze Sache in die Hose. Okay, wir haben das Ganze durchgeführten und wir bekommen keinerlei Ausgabe. Auch das ist korrekt, denn der Befehl, der nach dieser if-Abfrage steht (also System.out.println), wird nur ausgeführt, wenn hier vorne die Bedingung wahr ist. Und diese Bedingung hier: ( bedingung == true ) - ist eben nicht wahr. Testen wir doch mal den Gegenfall und dazu machen wir folgendes: Ich gehe hier einfach eine Zeile tiefer und sage: "if" - runde Klammer auf - Bedingung ist dasselbe wie "false" ( bedingung == false ), dann - nehmen wir wieder die Kurzform, wird schneller - System.out.println - "Die Bedingung ist falsch!" Sollten wir auch eine Ausgabe bekommen. Und, wie erwartet, bekommen wir auch wirklich die korrekte Ausgabe. Das hier ist noch recht lang und mühsam. In der Praxis werden Sie in den meisten Fällen Codeblöcke finden. Und das schauen wir uns doch direkt jetzt hier darunter mal an. Und bei der Bedingung ändern wir auch direkt etwas, und zwar: Voraussetzung, dass "if" funktioniert ist, dass in den runden Klammern ein boolesches Ergebnis steht. Das heißt, wenn hier Bedingung verglichen wird mit "true", dann kommt entweder raus: das ist wahr, oder das ist falsch. Voraussetzung ist also - hier drin muss ein boolescher Wert erzeugt werden. Entweder "true" oder "false". Und da unsere Variable "bedingung" hier oben ja schon ein boolescher Wert ist - da steht "false" drin, oder da steht "true" drin - können wir auch einfach sagen: if ( bedingung ) Jetzt müssen Sie sich einfach denken, da würde dann eben "true" oder "false" stehen, eben je nachdem, was eben in dieser Schublade drin liegt. Und ich haben Ihnen eben auch schon gesagt, dass wir normalerweise Codeblöcke machen, wenn wir mehrere Befehle haben. Hier hab' ich das Ganze direkt mal angeschlossen gehabt. Jetzt machen wir einfach mal einen Codeblock und Sie wissen noch, in Java dürfen Sie beliebig Zeilenumbrüche und Leerzeichen machen. Das heißt, ich setzt' jetzt hier mal eine geschweifte Klammer, und hier hinein schreibe ich nun meinen Befehl: System.out.println ("Ist immer noch wahr!) Semikolon dann ans Ende dieses Befehls. Und dann - darauf hat unsere Entwicklungsumgebung bereits geachtet - muss natürlich die geschweifte Klammer geschlossen werden. Das Ganze wird jetzt schon etwas komplizierter. Denn das hier sind runde Klammern - denn in den rundern Klammern steht die Bedingung - und danach folgen geschweifte Klammern. Das sind also die Klammern, die Sie auf der PC-Tastatur, wenn Sie die Alt-Gr-Taste gedrückt halten, auf der 7 und auf der 0 finden. Und auf dem Macintosh finden Sie das Ganze, indem Sie die Alt-Taste drücken und die Tasten 8 und 9. Wir haben an dieser Stelle hier kein Semikolon sitzen. Das hier wäre falsch, denn das "if" leitet nur diesen Codeblock ein. Daher hier bitte kein Semikolon - das sind biestige Fehler. Okay, nun haben wir also hier einen Codeblock, darin ist die Ausgabe. Und wir können also noch ein zweites "if" anhängen. "if" ... ja … Bedingung ist "false". Wie machen wir das nun? Hm… wir wollen das immer noch so schön als einen Ausdruck hier schreiben. Nun, Sie haben ja bei den Operatoren gelernt, ein Ausrufezeichen dreht einen booleschen Wert um. Er negiert ihn! Und genau das können wir hier jetzt auch machen. Wir setzen hier jetzt ein Ausrufezeichen davor und damit drehen wir das Ergebnis hier von Bedingung. Denn ein "if" wird nur ausgeführt, wenn die Bedingung wahr ist. Na gut. Wenn "false" darin steht, würde hier "false" stehen. "false" würde umgedreht werden mit dem Ausrufezeichen. Damit hätten wir dann "true", und damit wäre diese Bedingung wahr und würde ausgeführt werden. Nun schon können wir jetzt hier schön hineinschreiben. Ist leider immer noch falsch. Wir müssen jetzt darauf achten, dass wir die geschweiften Klammern korrekt haben. Lassen wir das ausführen. Und Sie sehen, die Bedingung ist falsch, und ist leider immer noch falsch. Also dieses Konstrukt werden Sie mehr in der Praxis finden, dass Sie hier also vielleicht doch nur einen einzigen Ausdruck dann stehen haben. Oder Sie werden vielleicht hier darin sogar komplexere Ausdrücke finden. Aber vom Prinzip her das sind so etwa die Anwendungen, wie Sie das in der Praxis finden werden. Im nächsten Film werde ich Ihnen zeigen, dass man das Ganze auch noch ein bisschen verkürzen kann.

Jetzt lerne ich Java 6

Steigen Sie ein in die Programmierung mit Java 6, lernen Sie die Grundlagen kennen und unternehmen Sie anschließend Ihre ersten Schritte in der objektorientierten Programmierung.

12 Std. 27 min (98 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!