Primitivtypen

primitive Datentypen

Neben einer umfangreichen Klassenbibliothek gibt es in Java einige primitive Datentypen, die man auch bei den meisten anderen Programmiersprachen findet. Dazu zählen ganze Zahlen, Gleitkommazahlen, einzelne (Text-)Zeichen und Boolsche Werte. Die Typbezeichner von Primitivtypen werden grundsätzlich klein geschrieben.

Ganze Zahlen sind immer vorzeichenbehaftet und existieren in verschiedenen Grössen, was den Speicherbedarf betrifft.

ganzzahlige Datentypen
TypGrösseBereich
byte 8 bit -128bis 127
short16 bit -32.768bis 32.765
int 32 bit -2.147.483.648bis 2.147.483.647
long 32 bit-9.223.372.036.854.775.808bis9.223.372.036.854.775.807

Für reelle Zahlen stehen zwei Gleitkommatypen zur Verfügung. Zum einen der Typ float und zum anderen der Typ double mit erhöhter Genauigkeit.

Gleitkommazahlentypen
TypGrösseZiffernBereich
float 32 bit 81.4e-45fbis3.4028235e+38f
double64 bit174.9e-324bis1.7976931348623157e+308

Eine Kommadarstellung wie 1.23 wird immer als double interpretiert. Um den Typ als float festzulegen wird der Zahl ein f angehangen: 1.23f.

In Java wird nicht wie bei Delphi zwischen Prozeduren und Funktionen unterschieden. Es gibt nur Methoden mit Rückgabetyp. Für Methoden, die trotzdem nichts zurückgeben sollen, gibt es den Typ void. Das ist auch der Rückgabetyp der main Methode aus Lektion A1. Das heisst, das Hauptprogramm liefert (im Gegensatz zu C) keinen Wert zurück. Man kann trotzdem einen exit-code an die ausführende Umgebung (z.B. an das Batch-Script) übergeben. Die Anweisung


    System.exit(3);

führt zum sofortigen beenden der Virtual Machine und erzeugt den übergebenen code (hier z.B. die 3). Das die main-Methode nicht selbst einen exit-code liefert liegt daran, dass das Programm nicht notwendigerweise beendet wird, wenn die main-Methode beendet wird. Dies ist dann der Fall, wenn weitere Threads erstellt wurden, die noch aktiv sind.

Strings

Zeichenketten gehören nicht zu den primitiven Datentypen, sondern sind reguläre Objekte der Klasse String. Wie bei anderen Programiersprachen auch, gibt es aber einige Unterschiede für den Programmierer im Vergleich zu anderen Klassen, die den Umgang mit Strings erleichtern.


Erstellt von Markus Durzinsky, aktualisiert 2004-05-06
Für Fragen, Probleme oder Anregungen stehe ich gerne zur Verfügung