Primitive Datentypen

Definition

Ein Computer verwendet für interne Berechnung lediglich Binärzahlen. Was sich jedoch ständig ändern kann ist die Interpretation dieser Bitfolgen. Wir können sie zum Beispiel als Ganzzahl (1, 3, -4), Gleitkommazahl (3.14, 2.7, -1.0) oder Wahrheitswert (Wahr/Falsch bzw. einfach 1/0) verwenden. Indem wir den Werten in unseren Programmen bestimmte Datentypen zuordnen, können wir die genaue Auswertung von Operatoren und ganzen Ausdrücken bestimmen.
Standardmäßige vorhandene Typen die nur einen simplen Wert und keinerlei eigene Funktionalität enthalten nennt man primitive Typen. In Java ist es auch möglich zusammengesetzte Typen zu erstellen, die mehrere Werte kapseln und Funktionalitäten beinhalten können, allerdings wird dieses Thema erst in einem späteren Kapitel erklärt.
Weiters ist anzumerken, dass bis Java in der Version 7 alle Typen vorzeichenbehaftet („signed“) sind. Vorzeichenlose („unsigned“) Typen wie sie zum Beispiel in C++ existieren gibt es in Java nicht (Spezialfall siehe boolean).

Arten

Folgende primitven Datentypen sind in Java standardmäßig vorhanden:

byte

Wie der Name schon sagt stellt der Datentyp ein Byte im Speicher da, das dabei als Ganzzahl interpretiert wird. Mit 8 Bit ist also eine Wertebereich von -128 bis +127 abdeckbar.

byte a = 120;
byte b = -3;

short

short verhält sich genau wie byte allerdings mit einer Größe von 16 Bit und damit einem Wertebereich von -32768 bis +32767.

short c = 8;
short d = -2048;

int

Wie byte und short, aber 32 Bit.

int e = 262144;
int f = -5;

long

Wie byte, short und int, aber mit 64 Bit. Um ein long deutlich von den kleineren Typen abzuheben, wird ein l bzw. L direkt an die Werte drangehängt. Es wird strengstens zu einem großen L geraten, da bei einem kleinen l die Gefahr der Verwechslung mit 1 in gewissen Schriftarten besteht. Dies ist aber nur bei jenen Werten notwendig, für die ausdrücklich ein long erforderlich ist und ein kleinerer Typ wie z.B. int nicht ausreicht.

long g = 549755813888L;
long h = -12225;

double

Eine Gleitkommazahl im IEEE754 Standard mit einer Größe von 64 Bit. Wichtig hierbei ist, dass der Vorkommaanteil vom Nachkommaanteil durch einen Punkt (.) und nicht durch ein im deutschen Sprachraum übliches Komma (,) getrennt werden.

double i = 0.000000123456789;
double j = -12345.789;

float

Wie double, allerdings mit einer Größe von 32 Bit. Ähnlich wie bei long muss auch hier ein f bzw. F nachgestellt werden, da ansonsten alle Konstanten als double interpretiert werden.

float k = -12.234F;
float l = 0.000123F;

boolean

Stellt einen Wahrheitswert (Wahr oder Falsch) dar, die Größe ist nicht eindeutig festgelegt. Bei der konstanten Zuweisung werden die Schlüsselwörter true (Wahr) und false (falsch) verwendet.

boolean m = true;
boolean n = false;

char

Repräsentiert ein 16 Bit Unicode Zeichen. Dabei steht der Buchstabe immer unter einfachem Hochkomma.

char o = 'A';
char p = 'Ö';

Automatische (implizite) Typumwandlungen

Ziel