06.06.2015 Aufrufe

Informatik: Einführung in Java Kara benutzt Sensoren

Informatik: Einführung in Java Kara benutzt Sensoren

Informatik: Einführung in Java Kara benutzt Sensoren

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Informatik</strong>: E<strong>in</strong>führung <strong>in</strong> <strong>Java</strong><br />

Gierhardt<br />

<strong>Kara</strong> <strong>benutzt</strong> <strong>Sensoren</strong><br />

Aufgabe: <strong>Kara</strong> steht vor e<strong>in</strong>em Baum oder nicht. Wenn nicht, soll er e<strong>in</strong>fach e<strong>in</strong>en Schritt<br />

weitergehen oder ansonsten um den e<strong>in</strong>zelnen Baum herumgehen.<br />

Das Neue: <strong>Kara</strong> <strong>benutzt</strong> jetzt se<strong>in</strong>e <strong>Sensoren</strong>. Hier braucht er nur se<strong>in</strong>en Sensor, der ihm<br />

mitteilt, ob vor ihm e<strong>in</strong> Baum steht (kara.treeFront()).<br />

1 import javakara . <strong>Java</strong><strong>Kara</strong>Program ;<br />

2<br />

3 public class <strong>Kara</strong>Sensor extends <strong>Java</strong><strong>Kara</strong>Program<br />

4 { // Anfang von <strong>Kara</strong>Sensor1<br />

5<br />

6 void geheUmBaumHerum ( )<br />

7 {<br />

8 kara . t urnLeft ( ) ;<br />

9 . . . // wie vorher , <strong>Kara</strong> hat es g e l e r n t .<br />

10 }<br />

11<br />

12 public void myProgram ( )<br />

13 { // Anfang von myProgram<br />

14 i f ( kara . treeFront ( ) )<br />

15 { this . geheUmBaumHerum ( ) ; }<br />

16 else { kara . move ( ) ; }<br />

17<br />

18 } // Ende von myProgram<br />

19<br />

20 } // Ende von <strong>Kara</strong>Sensor<br />

1


Erläuterungen:<br />

1. Die Syntax der Verzweigung mit if:<br />

if ( Bed<strong>in</strong>gung )<br />

{ Auszufuehrende Methoden, wenn ja }<br />

else { Auszufuehrende Methoden, wenn ne<strong>in</strong> }<br />

Die Bed<strong>in</strong>gung wird <strong>in</strong> ( ) e<strong>in</strong>geschlossen, die auszuführenden Methoden <strong>in</strong> { }.<br />

2. Ist jeweils nur e<strong>in</strong>e Methode auszuführen, dann können die geschweiften Klammern<br />

auch weggelassen werden.<br />

if (kara.treeFront())<br />

this.geheUmBaumHerum();<br />

else kara.move();<br />

Es empfiehlt sich aber, im S<strong>in</strong>ne e<strong>in</strong>es konsequenten und übersichtlichen Programmierstils<br />

die geschweiften Klammern immer zu setzen.<br />

3. Der else-Zweig kann auch entfallen. Beispiel:<br />

if (kara.onLeaf()) { kara.removeLeaf(); }<br />

4. E<strong>in</strong>e verne<strong>in</strong>te Bed<strong>in</strong>gung wird mit e<strong>in</strong>em Ausrufezeichen gekennzeichnet:<br />

if (!kara.treeFront())<br />

{ kara.move(); }<br />

else { this.geheUmBaumHerum(); }<br />

5. Mehrere Bed<strong>in</strong>gungen können durch ODER bzw. UND verknüpft werden.<br />

Verknüpfung Zeichen Beispiel<br />

ODER || if (kara.treeFront() || kara.onLeaf()) ...<br />

UND && if (kara.treeFront() && kara.onLeaf()) ...<br />

Das sieht etwas merkwürdig aus, aber man kann sich daran gewöhnen. Mir persönlich<br />

wären Schlüsselwörter wie NOT, OR und AND lieber gewesen, aber mich hat ja<br />

niemand gefragt, als man die Programmiersprache <strong>Java</strong> entwickelte.<br />

6. Kompliziertere Bed<strong>in</strong>gungen mit mehreren UNDs, ODERs und NOTs muss man durch<br />

Klammerpaare ( ) schachteln.<br />

2

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!