Einführung zu primitiven Datentypen in Java
Primitive Datentypen sind die Grundlage für Datenverarbeitung und -speicherung in Java, da sie einfache Werte effizient und ohne den Overhead von Objekten speichern. Dieser Artikel bietet eine Einführung in die grundlegenden Eigenschaften jedes primitiven Datentyps und erläutert Speicherbedarf sowie Wertebereiche.
Java verfügt über acht primitive Typen: vier Integer-Typen (byte, short, int, long), zwei Gleitkomma-Typen (float, double), einen Zeichentyp (char) und einen booleschen Typ (boolean).
Im Gegensatz zu Objekten, die in Java immer als Referenzen auf komplexere Speicherstrukturen verwaltet werden, werden primitive Datentypen wie int, float, double oder boolean direkt auf dem Stack oder im Hauptspeicher abgelegt. Dies bedeutet, dass die Werte ohne zusätzlichen Speicheraufwand gespeichert werden, da sie nicht als separate Objekte mit Metadaten oder Methoden behandelt werden. Primitive Datentypen benötigen dadurch weniger Speicherplatz und ermöglichen schnellere Zugriffszeiten, da kein objektorientierter Overhead, wie etwa das Verwalten von Referenzen oder das Anlegen von Objekten im Heap-Speicher, erforderlich ist.
Jeder primitive Typ in Java ist mit einer zugehörigen Wrapper Klasse verknüpft. Die Wrapper-Klassen ermöglichen also eine objektorientierte Nutzung der primitiven Datentypen und unterstützen das sogenannte Autoboxing und Unboxing, bei dem Java automatisch primitive Werte in ihre Wrapper-Objekte umwandelt und umgekehrt. Alle Wrapper-Klassen in Java befinden sich im java.lang-Package (und müssen nicht importert werden).
Integer-Typen
Die Integer-Typen von Java (byte, short, int, long) speichern ganze Zahlen. Jeder Integer-Typ belegt eine bestimmte Menge an Speicherplatz und ist daher für verschiedene Anwendungsfälle geeignet:
Datentyp | Speicherplatz | Wertebereich | Beschreibung | Wrapper-Klasse |
---|---|---|---|---|
byte |
8 bits | -128 bis 127 | Eignet sich für kleine Ganzzahlen und spart Speicherplatz | Byte |
short |
16 bits | -32,768 bis 32,767 | Verwendet für Ganzzahlen, wenn int zu groß ist |
Short |
int |
32 bits | -231 bis 231 - 1 | Standard-Datentyp für Ganzzahlen in Java | Integer |
long |
64 bits | -263 bis 263 - 1 | Eignet sich für sehr große Ganzzahlen | Long |
Fließkomma-Typen
Java stellt zwei Fließkomma-Datentypen zur Verfügung, die ideal für wissenschaftliche Berechnungen, Grafikprogrammierung und Anwendungen sind, in denen Dezimal- und Bruchwerte benötigt werden.
Datentyp | Speicherplatz | Wertebereich | Beschreibung | Wrapper-Klasse |
---|---|---|---|---|
float |
32 bits | ±3.4 x 10-38 bis ±3.4 x 1038 | Wird für Gleitkommazahlen mit einfacher Genauigkeit verwendet | Float |
double |
64 bits | ±1.7 x 10-308 bis ±1.7 x 10308 | Standard-Datentyp für Gleitkommazahlen mit doppelter Genauigkeit | Double |
Char-Typ
Der Char-Typ von Java speichert einzelne Unicode-Zeichen mit 16 Bits (Wertebereich von 0 bis 65535). Dadurch kann er jedes beliebige Zeichen aus dem Unicode-Standard speichern, was die Internationalisierung und die Unterstützung mehrerer Sprachen ermöglicht.
Unicode verwendet sogenannte "Surrogat-Paare" (zwei char-Werte zusammen) für Zeichen jenseits der 16-Bit-Grenze: Durch diese Erweiterung kann Java Unicode-Zeichen über die 16-Bit-Grenze hinaus unterstützen, was vollständige Internationalisierung und mehrsprachige Unterstützung ermöglicht.
Datentyp | Speicherplatz | Wertebereich | Beschreibung | Wrapper-Klasse |
---|---|---|---|---|
char |
16 bits | Unicode-Zeichen: 0 bis 65535 | Speichert einzelne Unicode-Zeichen | Character |
Boolean-Typ
Der boolean Typ von Java speichert einen von zwei Werten: wahr oder falsch und belegt nur 1 Bit Speicherplatz.
Datentyp | Speicherplatz | Wertebereich | Beschreibung | Wrapper-Klasse |
---|---|---|---|---|
boolean |
1 bit | `true` oder `false` | Speichert Wahrheitswerte | Boolean |