Kü / Info Projekt Einschub II Skript OOP Raumplanung Sj. 2012/2013 _____________________________________________________________ Einschub II Grundlegende Programmierstrukturen in Java (Wdh) Video: Grundlegende Programm Strukuren.mp4 1. Programmverzweigungen Video: „Programverzweigungen“ - http://youtu.be/I5O9XgnUh2M Die Programmverzweigungen in der OOP sind im Prinzip genauso, wie bei Niki dem Roboter schon erklärt wurde– nur statt „Begin“ und „End“ werden die Anweisungen in Klammern gefasst – {…} Die if-Anweisung besteht aus dem Schlüsselwort „if“, dem zwingend ein Ausdruck mit dem Typ boolean in Klammern folgt – also eine Bedingung, die geprüft wird und die entweder erfüllt ist =>“true“ ergibt oder eben nicht erfüllt ist => „false“ ergibt. if (Bedingung ){ …..//alle hier aufgeführten Anweisungen werden ausgeführt, wenn die Bedingung zutrifft } Die Abarbeitung der Anweisungen hängt nun vom Ausdruck ab. Ist das Ergebnis der Bedingung wahr (true), so werden die Anweisungen ausgeführt. Ist das Ergebnis des Ausdrucks falsch (false), so wird mit der ersten Anweisung nach der if-Anweisung fortgefahren. Neben der einseitigen Alternative existiert die zweiseitige Alternative. Das optionale Schlüsselwort „else“ veranlasst die Ausführung der alternativen Anweisungen, wenn der Test der Bedingung falsch ist: if ( Bedingung ){ Anweisungen1 } else{ Anweisungen2 } Falls der Ausdruck wahr ist, werden die Anweisungen 1 ausgeführt, andernfalls die Anweisungen 2. Somit ist sichergestellt, dass in jedem Fall eine Anweisung ausgeführt wird. Beispiel Ein Relationen-Vergleich if ( x < y ) System.out.println( "x ist echt kleiner als y." ); else System.out.println( "x ist größer oder gleich y. Kü / Info Projekt Einschub II Skript OOP Raumplanung Sj. 2012/2013 2. Schleifen Video: „Schleifen“ -http://youtu.be/UlgG7bqtb6c Auch hier ist das Konstrukt einer Schleife im Prinzip das Gleiche wie bei Niki dem Roboter. Genau wie bei der Verzweigung werden auch hier „Begin“ und „End“ durch {…} ersetzt. Schleifen dienen dazu, bestimmte Anweisungen immer wieder abzuarbeiten. Zu einer Schleife gehören die Schleifenbedingung und der Rumpf. Die Schleifenbedingung entscheidet darüber, unter welcher Bedingung die Wiederholung ausgeführt wird. Sie muss ein Boolescher Ausdruck sein (also entweder TRUE oder FALSE zurückliefern). In Abhängigkeit von der Schleifenbedingung kann der Rumpf mehrmals ausgeführt werden. Dazu wird bei jedem Schleifendurchgang die Schleifenbedingung geprüft. Das Ergebnis entscheidet, ob der Rumpf ein weiteres Mal durchlaufen (true) oder die Schleife beendet wird (false). a. Die while-Schleife Die while-Schleife ist eine abweisende Schleife, da sie vor jedem Schleifeneintritt die Schleifenbedingung prüft: while ( Bedingung ){ Anweisungen } Vor jedem Schleifendurchgang wird der Ausdruck neu ausgewertet, und ist das Ergebnis true, so wird der Rumpf ausgeführt. Die Schleife ist beendet, wenn das Ergebnis false ist. Ist die Bedingung schon vor dem ersten Eintritt in den Rumpf nicht wahr, so wird der Rumpf erst gar nicht durchlaufen. Der Typ der Bedingung muss boolean sein. Wird innerhalb des Schleifenkopfs schon alles Interessante erledigt, so muss trotzdem eine Anweisung folgen. Dies ist der passende Einsatz für die leere Anweisung. Beispiel: i = 10; while ( i != 0 ) { // != „not gleich“ also ungleich System.out.println(“Hallo!”); i--; } …würde 10 Mal Hallo ausgeben 3. Mögliche Vergleichsoperatoren für die Bedingungen: == != > < >= <= && || (gleich) (not gleich) (und (oder) Kü / Info Projekt Einschub II Skript OOP Raumplanung Sj. 2012/2013 Es gibt noch eine Menge mehr zu wissen zu Bedingungen, Schleifen und Operatoren (auch da gibt es noch eine Menge mehr dazu). Dies sprengt leider den Rahmen des Unterrichts, aber hier findest du mehr dazu: http://openbook.galileodesign.de/javainsel5/javainsel02_001.htm oder Buch Informatik 1 S. 36 – 56 Aufgabe 1. Schreibe den Quelltext für eine Verzweigung. Eine Zahl sei gegeben, ist die Zahl größer als 10, so wird die Zahl um 1 erhöht, ist sie kleiner oder gleich 10, so soll sie um 1 verringert werden. 2. Schreibe den Quelltext für eine Schleife. Eine gegebene Zahl soll solange mit 2 multipliziert werden, bis eine bestimmte Grenze erreicht ist. 3. Kombiniere nun Schleife und Verzweigung. Denke dir selbst ein Beispiel aus, indem du eine Schleife durchläufst und darin eine Verzweigung verwendest. 4. Informiere dich über for-Schleifen. Setze die Aufgabe 2 auch mit einer solchen Schleife um. 5. Zusatzaufgabe: a) Beurteile, wann welche Schleife besser geeignet ist. b) Lege eine for-Schleife an, die automatisch 10 neue Variablen initialisiert (du musst dich dazu über Arrays informieren). Was solltest du nun können: 1. Mit Bedingungen und Schleifen gezielt umgehen können. 2. Operatoren für Bedingungen bewusst und richtig einsetzen können.