Robotik mit LEGO Mindstorms

Preview:

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

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

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

2

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

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

Beispiel

int zahl=1;

System.out.println(zahl);

Ausgabe: 1

5

Datentyp

Variablenname

Wert

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

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

• int zahl = 1 ;würde funktionieren

• Programmblöcke in { } fassen

7

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

Beispielint zahl1=5;

int zahl2=6;

int zahl3=zahl1+zahl2;

System.out.println(zahl3);

Ergibt eine Ausgabe von 11

9

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

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

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

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

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

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

……

}

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

15

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

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

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

Befehle;}

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

}

18

Recommended