18
Robotik mit LEGO Mindstorms Java-Einführung zur Programmierung

Robotik mit LEGO Mindstorms

Embed Size (px)

DESCRIPTION

Robotik mit LEGO Mindstorms. Java-Einführung zur Programmierung. Variablen. Zum Speichern von Daten benötigt man Variablen Eine Variable verweist auf einen Speicherplatz, in den man Daten ablegen kann - PowerPoint PPT Presentation

Citation preview

Page 1: Robotik mit                LEGO Mindstorms

Robotik mit LEGO Mindstorms

Java-Einführung zur Programmierung

Page 2: Robotik mit                LEGO Mindstorms

Variablen• Zum Speichern von Daten benötigt

man Variablen • Eine Variable verweist auf einen

Speicherplatz, in den man Daten ablegen kann

• Hierfür gibt es verschieden Datentypen um Zahlen, Text, Zeichen oder logische Wertezu speichern

2

Page 3: Robotik mit                LEGO Mindstorms

Eingebaute Datentypen

3

Typ Länge(in byte)

Wertebereich

boolean 1 true, false

char 2 Alle Unicode-Zeichen

byte 1 -128…127

short 2 -32786…32767

int 4 -231…231-1

long 8 -263…263-1

float 4 +/-3.40282347*1038

double 8 +/-1. 1.79769313486231570 * 10308

Page 4: Robotik mit                LEGO Mindstorms

Sonderfall String• Zum Speichern von Text wird die in

Java eingebaute Klasse String verwendet. Im Gegensatz zu Datentypen besitzt ein String Funktionen. Somit kann man sich z.B die Anzahl der Zeichen des Textes ausgeben lassen.

4

Page 5: Robotik mit                LEGO Mindstorms

Beispiel

int zahl=1;

System.out.println(zahl);

Ausgabe: 1

5

Datentyp

Variablenname

Wert

Page 6: Robotik mit                LEGO Mindstorms

Beispiel String• String text= "Hallo Welt";System.out.println(text);System.out.println(text.length());

• Ausgabe: Hallo Welt10

• Die Funktion length() gibt die Anzahl der Zeichen des String zurück. • Aufruf von Funktionen über:

Variablenname.Funktion

6

Page 7: Robotik mit                LEGO Mindstorms

Programmierung• Zuweisung mit =• Jeder Befehl Endet mit ;• Leerzeichen werden ignoriert

• int zahl = 1 ;würde funktionieren

• Programmblöcke in { } fassen

7

Page 8: Robotik mit                LEGO Mindstorms

Arithmetische Operatoren

8

Operator Bezeichnung Bedeutung+ Summe int x=8+5 , Wert von x=13

- Diffenerenz int x=8-5, Wert von x=3

* Produkt int x=8*5, Wert von x=40

/ Quotient int x=8/5, Wert von x=1

% Restwert int x=8%5, Wert von x=3

Page 9: Robotik mit                LEGO Mindstorms

Beispielint zahl1=5;

int zahl2=6;

int zahl3=zahl1+zahl2;

System.out.println(zahl3);

Ergibt eine Ausgabe von 11

9

Page 10: Robotik mit                LEGO Mindstorms

Abfragen• Oft möchte man einen Befehl nur

dann ausführen, wenn eine bestimmte Bedingung erfüllt ist. Hierzu gibt es in Java den Befehl if• if(zahl1==2){

System.out.println(zahl1);}

• Somit erfolgt die Ausgabe nur,wenn in zahl1 der Wert 2gespeichert ist.

10

Page 11: Robotik mit                LEGO Mindstorms

Relationale Operatoren• Relationale Operatoren geben

einen boolean Wert zurück (true oder false)

11

Operator Bezeichnung Bedeutung== gleich a==b ergibt true, wenn a gleich b ist

!= ungleich a!=b ergibt true, wenn a ungleich b ist

< kleiner a<b ergibt true, wenn a kleiner b ist

<= kleiner gleich a<=b ergibt true, wenn a kleiner oder gleich b ist

> größer a>b ergibt true, wenn a größer b ist

>= größer gleich a>=b ergibt true, wenn a größer oder gleich b ist

Page 12: Robotik mit                LEGO Mindstorms

Mehrere Abfragen• Oftmals möchte man mehrere

Bedingung gleichzeitig prüfen, bevor ein Befehl ausgeführt werden soll.

• Hierzu gibt es logische Operatoren

• Rückgabewerte sind auch vom Typ boolean (true oder false)

12

Page 13: Robotik mit                LEGO Mindstorms

Logische Operatoren

13

Operator Bezeichnung Bedeutung! logisches NICHT !a ergibt false, wenn a wahr ist, und true, wenn a

falsch ist

&& UND mit Short-Circuit-Evaluation

a&&b ergibt true, wenn sowohl a als auch b wahr sind. Ist a bereits falsche, so wird false

zurückgegeben und b nicht mehr ausgewertet

|| ODER mit Short-Circuit-Evaluation

a||b ergibt true, wenn mindestens einer der beiden Ausdrücke a oder b wahr ist. Ist bereits a

wahr, so wird true zurückgegeben und b nicht mehr ausgewertet

& UND ohne Short-Circuit-Evalutaion

a&b ergibt true, wenn sowohl a als auch b wahr sind. Beide Teilausdrucke werden ausgewertet

| ODER ohne Short-Circuit-Evaluation

a|b ergibt true, wenn mindestens einer der beiden Ausdrücke a oder b wahr ist. Beide Teilausdrücke

werden ausgewertet.

^ Exklusiv-Oder a^b ergibt true, wenn beide Ausdrücke einen unterschiedlichen Wahrheitswert haben

Page 14: Robotik mit                LEGO Mindstorms

Logische Operatoren

14

a b !a a&&b a||b a^b(!a||

b)^(a&&b)

0 0 1 0 0 0 1

0 1 1 0 1 1 1

1 0 0 0 1 1 0

1 1 0 1 1 0 0

Page 15: Robotik mit                LEGO Mindstorms

Beispiel• if (zahl1>50 && zahl1<=100){

……

}

• Die Bedingung ist also nur erfüllt, wenn zahl1 im Bereich von 51 bis 100 liegt.

15

Page 16: Robotik mit                LEGO Mindstorms

Schleifen• Schleifen sind nützlich um

bestimmte Anweisung mehrmals auszuführen. Hierbei können die Variablen ihre Werte ändern. • Zum Beispiel könnte man sich die

Zahlen von 1 bis 10 Ausgeben lassen wollen

16

Page 17: Robotik mit                LEGO Mindstorms

while-Schleife• while(Bedingung){

Befehle;}

• int i=1;while(i<=10){

System.out.println(i);i++;

}• i++ ist kurz für i=i+1

17

Page 18: Robotik mit                LEGO Mindstorms

for-Schleife• for(Initialisierung; Bedingung; Inkrement){

Befehle;}

• for(int i=1; i<=10;i++){System.out.println(i);

}

18