VariableTypenOperatoren

Werbung
© MPohlig 2006
Einfache Datentypen und ihre Operatoren
Übersicht
April 2006
Wahlfach Informatik mit Java
1
© MPohlig 2006
Grunddatentypen
Typ
Beschreibung
Wertebereich
boolean
Wahrheitswert,
Boolescher Wert
true, false
char
Einzelzeichen
Unicode (16 Bit)
'\u0000'...'\uffff'
byte
8-Bit-Ganzzahl
Zweierkomplement
-128...0...127
short
16-Bit-Ganzzahl
-32768...0...32767
int
32-Bit-Ganzzahl
0
-2 147 483 648 ...0...2 147 483 647 0
long
64-Bit-Ganzzahl
ca. -9 e18 ...9 e18
float
32-Bit-Gleitkommazahl
ca. -3.402823e88 .. 0..3.402823e88
kleinste Zahl >0: 1.4e-45
0.0
double
64-Bit-Gleitkommazahl
ca. -1.797639e308 ..0.. 1.797639e308
kleinste Zahl > 0: 4.9e-324 0.0
April 2006
false
‘\u0000‘
0
Wahlfach Informatik mit Java
0
2
Arithmetische Operatoren
© MPohlig 2006
+
unär
pos. Vorzeichen
+n ist das Gleiche wie n
–
unär
neg. Vorzeichen
–n kehrt das Vorzeichen von n um
+
binär
Summe
a + b
–
binär
Differenz
a – b
*
binär
Produkt
a * b
/
binär
Quotient
a / b
%
binär
Modulo
a % b
++
unär
Prä-Inkrement
++a erhöht a um 1,
löst dann ggf. einen Seiteneffekt aus
++
unär
Post-Inkrement
a++ löst ggf. einen Seiteneffekt aus und erhöht dann
a um eins
––
unär
Prä-Dekrement
––a erniedrigt a um 1,
löst dann ggf. einen Seiteneffekt aus
––
unär
Post-Dekrement
a–– löst ggf. einen Seiteneffekt aus und erniedrigt
dann a um eins
April 2006
Wahlfach Informatik mit Java
3
© MPohlig 2006
Post- und Präinkrement
…
int a = 2;
System.out.println(a++);
System.out.println(a);
…
Aber…
…
int a = 2;
System.out.println(++a);
System.out.println(a);
…
April 2006
Wahlfach Informatik mit Java
4
© MPohlig 2006
boolean a;
a = true;
Typ boolean
Oder auch…
boolean a = true;
Boolesche Größen können nur mit zwei Werten belegt
werden true oder false. Häufig ist der zugewiesene Wert das
Ergebnis einer Auswertung:
boolean a;
a = 3 == 2;
April 2006
a erhält den Wert false.
Wahlfach Informatik mit Java
5
© MPohlig 2006
Relationale Operatoren
Operator
Wertigkeit
Bezeichnung
Bedeutung
binär
gleich
a == b
binär
ungleich
a != b
binär
kleiner
a < b
<=
binär
kleiner gleich
a <= b
>
binär
größer
a > b
>=
binär
größer gleich
a >= b
==
Diese Ausdrücke
werden zu einem
!=
booleschen Wert
<
ausgewertet
April 2006
Wahlfach Informatik mit Java
6
© MPohlig 2006
Wie wertet Java aus?
boolean a;
int b = 7;
a = b%2 == 0;
Wird als Rest der
Ganzzahldivision
von 7 und 2 zu 1
ausgewertet.
1
false
Der rechts stehende Ausdruck
ist ausgewertet. Die links
stehende Variable wird mit
Prüft das links und rechts
diesem Wert belegt.
von == stehende auf
Werte-Gleichheit.
a hat den Wert false
April 2006
Wahlfach Informatik mit Java
7
© MPohlig 2006
Logische Operatoren
Operator
Wertigkeit
Bezeichnung
Bedeutung
!
unär
NOT
!a ergibt das logische Gegenteil von a
&&
binär
AND
a && b
„logisches und“ mit Kurzauswertung
||
binär
OR
a || b
„logisches oder“ mit Kurzauswertung
&
binär
AND
a & b
„logisches und“ ohne Kurzauswertung
|
binär
OR
a | b
„logisches oder“ ohne Kurzauswertung
^
binär
XOR
a ^ b „exclusives oder“
April 2006
Wahlfach Informatik mit Java
8
© MPohlig 2006
Welcher Wert hat test- Welchen Wert hat b nach der 2ten Zeile?
int a = 2, b = 2;
(++b%2==0);
boolean test = (a%2==0)&& (b++%2
== 0);
int a = 3, b = 2;
(++b%2==0);
boolean test = (a%2==0)&& (b++%2
== 0);
April 2006
Wahlfach Informatik mit Java
9
© MPohlig 2006
Zuweisungsoperatoren
=
binär
Zuweisung
a = b weist a den Wert von b zu
+=
binär
Additions-Zuweisung
a += b ist gleichbedeutend mit a = a + b
–=
binär
Subtraktions-Zuweisung
a -= b ist gleichbedeutend mit a = a - b
*=
binär
Multiplikations-Zuweisung
a *= b ist gleichbedeutend mit a = a * b
/=
binär
Divisions-Zuweisung
a /= b ist gleichbedeutend mit a = a / b
%=
binär
Modulo-Zuweisung
a %= b ist gleichbedeutend mit a = a % b
&=
binär
AND-Zuweisung
a &= b ist gleichbedeutend mit a = a & b
|=
binär
OR-Zuweisung
a |= b ist gleichbedeutend mit a = a | b
April 2006
Wahlfach Informatik mit Java
10
© MPohlig 2006
Sonstige Operatoren
? :
ternär
+
binär
Wir sagen der Operator ‚+‘ ist
überladen: Er addiert
a = bedint,
? xdouble,
: y weist a den Wert x zu, falls
bedingte Zuweisung
etc oder verkettet bed
Strings
‚wahr’ andernfalls den Wert y
String-Concatenation
a + b verkettet die beiden Strings a und b; ggf.
wird a oder b zuvor in einen String
umgewandelt.
String test =
String&&anrede
= (geschl=='w')?"Frau":"Herr";
((a%4==0)
(a%100!=0))||(a%400==0)
?
"Ist Schaltjahr" : "Ist oder:
kein Schaltjahr";
System.out.print("Hallo"
+ (weiblich?"Frau":"Herr")
(Type)
(Type) a wandelt a in einen Ausdruck vom+
unär
Type-Cast-Operator
"Müller");Typ Type um, sofern möglich.
Siehe nächstes Kapitel
April 2006
Wahlfach Informatik mit Java
11
Herunterladen