Java How To
 


Zahlenbereiche

How To ...

Wie wähle ich den richtigen Datentyp für einen bestimmten Zahlenbereich?

Hintergründe

Java kennt für ganzzahlige Werte die Datentypen byte, short, int und long, für gebrochene Werte die Datentypen float und double.

So geht's

Java kennt nur vorzeichenbehaftete ganze Zahlen und nicht, wie etwa C und C++ das Schlüsselwort unsigned. Die Typen byte, short, int und long werden durch 8, 16, 32 und 64 Bits dargestellt, so dass sich die Zahlenbereiche wie in der folgenden Tabelle dargestellt ergeben.

Typ Größe Bereich Default-Wert
byte 8 Bits -128 bis 127 0
short 16 Bits -32768 bis 32767 0
int 32 Bits -2147483648 bis 2147483647 0
long 64 Bits -9223372036854775808 bis 9223372036854775807 0

Ganzzahlige Literale sind nach der Sprachdefinition immer vom Typ int. Wird dem Literal ein l oder L am Ende angefügt, so ist das Literal vom Typ long.

Beginnt das Literal mit einer 0, so wird das Literal als oktaler Wert (Ziffern 8 und 9 sind verboten) interpretiert. Beginnt das Literal mit 0x, so wird das Literal als hexadezimaler Wert (mit zusätzlichen Ziffern A bis F) interpretiert.

    byte b  =             11;
    short s =           1111;
    int i   =         111111;
    long l  = 1111111111111L;			
		

In obigem Beispiel sind die ersten drei Literale vom Typ int. Diese werden jedoch in den ersten beiden Zeilen automatisch in ein byte bzw. short konvertiert. Einzelheiten um automatischen Konvertieren finden Sie in Typkonvertierungen. Das vierte Literal ist durch das Anfügen des L ein long-Literal.