homedukeOOP mit Java: Einfache Datentypen Prof. Dr. Uwe Schmidt FH Wedel

Einfache Datentypen

weiter

weiter

Syntax

Type              ::= PrimitiveType
                   |  ReferenceType
 
PrimitiveType     ::= NumericType
                   |  boolean
 
NumericType       ::= IntegralType
                   |  FloatingPointType
 
IntegralType      ::= byte | short | int | long | char
 
FloatingPointType ::= float | double

weiter

Wertebereiche der einfachen Datentypen

Typ Größe/Format Beschreibung
ganze Zahlen
byte   8-bit 2-er Complement -128..127
short 16-bit 2-er Complement -32768..32767
int 32-bit 2-er Complement -2^31..2^31-1
long 64-bit 2-er Complement -2^63..2^63-1
Fließkomma-Zahlen
float 32-bit IEEE 754 einfache Genauigkeit
double 64-bit IEEE 754 doppelte Genauigkeit
Zeichen
char 16-bit Unicode ein Zeichen
Wahrheitswerte
boolean 2 Werte true oder false

weiter

Der Datentyp boolean

merke

besitzt nur die Werte true und false

weiter
merke

Variablendeklaration

boolean b = false;
weiter
merke

implizite Initialisierung von Variablen mit false

boolean b1;
boolean b2 = false;
weiter
merke

Keine Typumwandlung in oder aus anderen Datentypen

weiter
merke

explizite Umwandlung in int

b ? 1 : 0
weiter
merke

logische Operatoren werden nicht strikt ausgewertet

b1 && b2   <==>  b1 ? b2   : false
b1 || b2   <==>  b1 ? true : b2
weiter
merke
Operator Bedeutung Art Ass.
== Gleichheit binärlinks
!= Ungleichheit binärlinks
&& nicht striktes UND binärlinks
|| nicht striktes ODER binärlinks
& striktes UND binärlinks
| striktes ODER binärlinks
^ exklusives ODER binärlinks
! Negation unär links
weiter
merke

Wrapper-Klasse: Boolean


weiter

Ganzzahlige Datentypen

merke

nur vorzeichenbehaftete Wertebereiche

weiter
merke

Arithmetik modulo Wortlänge

weiter
merke

Variablendeklaration

byte  b;
short s;
int   i;
long  l;
weiter
merke

implizite Initialisierung von Variablen mit 0

byte  b = 0;
short s = 0
int   i = 0;
long  l = 0;
weiter
merke

Keine impliziten Typumwandlung in oder aus anderen Datentypen, nur explizit mit Cast-Operator

... (long)i  ...
... (short)l ...
... (float)s ...
weiter
merke

Operationen auf ganzzahligen Werten

Operator Bedeutung Art Ass.
== Gleichheit binärlinks
!= Ungleichheit binärlinks
>,>=,<,<= Vergleiche binärlinks
+,- Vorzeichen unärrechts
+,- Addition, Subraktionbinärlinks
*,/ Multiplikation, Divisionbinärlinks
% Modulo binärlinks
<<,>> Links-, Rechtsshiftbinärlinks
>>> vorzeichenloser Rechtsshiftbinärlinks
~ bitweise Negation binärlinks
& bitweises UND binärlinks
| bitweises ODER binärlinks
^ bitweises exklusives ODERbinär links
weiter
merke

Zuweisungsoperatoren mit ganzzahligen Variablen

Operator Bedeutung Art Ass.
+=,-= Addition, Subraktion binärrechts
*=,/= Multiplikation, Divisionbinärrechts
%= Modulo binärrechts
++,-- Inkrement,Dekrement unärrechts
<<=,>>= Links-, Rechtsshift binärrechts
>>>= vorzeichenloser Rechtsshiftbinärrechts
&= bitweises UND binärrechts
|= bitweises ODER binärrechts
^= bitweises exklusives ODERbinärrechts
weiter
merke

Ganzzahlige Literale

LiteralWertTyp
123 123int
0123 83int
077L 63long
0x77l 119long
0xACDC 44252int
0xdeadBeef-559038737int
weiter
merke

Wrapper-Klassen: Integer, Byte, Short, Long


weiter

Gleitpunkttypen

merke

32-bit und 64-bit IEEE floating point

weiter
merke

Initialisierung mit 0.0

weiter
merke

Operatoren wie bei ganzzahligen Werten, aber keine Bitoperationen

weiter
merke

Gleitpunkt-Literale

LiteralTyp
0ffloat
1.234Ffloat
.7e6ffloat
2e-3double
4ddouble
weiter
merke

Wrapper-Klassen: Double, Float


weiter

Der Typ char

merke

ein Zahlbereich von 0..65535

weiter
merke

Initialisierung mit '\u0000'

weiter
merke

Zuweisungen an int Variablen möglich, aber nicht umgekehrt

int  i;
char c;
 
i = c;   // legal
 
c = i;   // Incompatible type for =
         // Explicit cast needed to convert int to char.
weiter
merke

char-Literale

'A'         ' '
'\n'        '\t'        '\f'       '\r'        '\b'
'\\'        '\''        '\"'
'\123'
'\u0030'    '\u004F'
weiter
merke

Wrapper-Klasse: Character


Letzte Änderung: 14.02.2012
© Prof. Dr. Uwe Schmidt
Prof. Dr. Uwe Schmidt FH Wedel