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
Top Related