Java Data Types: Alle Datentypen der Programmiersprache im Überblick

Java bietet acht primitive und zahlreiche weitere komplexe Datentypen. Diese bestimmen, welche Werte innerhalb einer Variable gespeichert und dargestellt werden können. Allen Variablen werden in Java bestimmte Data Types zugeordnet.

Welche Datentypen gibt es in Java?

In jeder Programmiersprache gibt es verschiedene Datentypen, die bestimmte Objekte und definierte Operationen enthalten. Zwar ähneln sich diese häufig, trotzdem gibt es teils große Unterschiede, welche Optionen eine Sprache bietet. Vergleichen Sie beispielsweise Python vs. Java, werden Ihnen neben den Gemeinsamkeiten auch zahlreiche Unterschiede auffallen, die die jeweilige Sprache für bestimmte Aufgaben prädestinieren. Java setzt auf zwei verschiedene Arten von Datentypen: primitive und komplexe (auch „Referenztypen“). Diese einzelnen Java Data Types unterscheiden sich hinsichtlich ihrer Größe und bestimmen, welche Werte in einer Variablen gespeichert werden können.

Während primitive Datentypen lediglich einfache Werte speichern können, werden die Referenztypen dazu genutzt, komplexere Strukturen zu erstellen und große Datenmengen zu organisieren und zu manipulieren. Wenn Sie Programmieren lernen möchten, ist es wichtig, dass Sie nicht nur die unterschiedlichen Typen kennen, sondern auch wissen, wie Sie diese am besten einsetzen. Das betrifft zum einen den Funktionsumfang, zum anderen den Speicherplatz, der durch den richtigen Datentyp belegt bzw. eingespart wird.

Günstige Webhosting-Pakete von IONOS!

Vertrauen Sie auf flexibel skalierbares und zuverlässiges Webhosting inklusive persönlichem Berater mit IONOS!

Kostenlose Domain
SSL Zertifikat
DDoS-Schutz

Primitive Data Types in Java

Es gibt insgesamt acht verschiedene primitive Data Types in Java, die fest definierte Wertebereiche enthalten. Sie können in vier Kategorien eingeteilt werden: logischer Datentyp, integraler Datentyp, Gleitkomma-Datentyp und Zeichen-Datentyp. Sie haben keine zusätzlichen speziellen Fähigkeiten und werden auch als elementare Datentypen bezeichnet. Jeder Datentyp besitzt eine feste Anzahl an Bits. Im Folgenden stellen wir Ihnen diese primitiven Data Types näher vor. Java kennt folgende elementare Typen:

  • boolean
  • byte
  • short
  • int oder integer
  • long
  • float
  • double
  • char

boolean

Der Java Boolean ist kein numerischer Typ. Er bietet stattdessen lediglich zwei mögliche Werte: true und false. Somit kann er genutzt werden, um zu bestimmen, ob eine Bedingung zutrifft (true) oder nicht (false). Sein Standardwert lautet false und er gehört zu den logischen Datentypen. Er umfasst 1 Bit und hat folgende Syntax:

boolean booleanVar;
java

byte

byte ist ein integraler Datentyp und ein Zweierkomplement-Wert mit einer Größe von 8 Bit bzw. 1 Byte. Er wird vor allem dann verwendet, wenn in größeren Arrays Speicher gespart werden soll. Sein Wertebereich reicht von -128 bis 127 und sein Standardwert lautet 0. Dies ist seine Syntax:

byte byteVar;
java

short

Auch short gehört zu den integralen Data Types in Java und wird vor allem verwendet, um in größeren Arrays Speicher zu sparen. Der Zweierkomplement-Wert selbst ist 16 Bits oder 2 Bytes groß und sein Wertebereich reicht von -32768 bis einschließlich 32767. Standardmäßig beträgt sein Wert 0. So wird short eingesetzt:

short shortVar
java

int oder integer

int oder integer ist ebenfalls ein Zweierkomplement-Wert und ein integraler Datentyp mit einer Größe von 4 Bytes oder 32 Bits. Sein Wertebereich umfasst Ganzzahlen zwischen -2147483648 und 2147483647 und sein Standardwert ist 0. Seine Syntax lautet folgendermaßen:

int intVar
java

long

Der größte integrale Datentyp ist long. Das gilt zum einen für seinen Wertebereich, der zwischen -9223372036854775808 und 9223372036854775807 liegt, und zum anderen für seine eigene Größe, die 8 Bytes oder 64 Bits beträgt. Der Zweierkomplement-Wert wird daher eingesetzt, wenn die anderen integralen Datentypen nicht ausreichen. Er benötigt allerdings auch mit Abstand am meisten Speicher. Sein Standardwert ist 0. Dies ist seine Syntax:

lomg longVar
java

float

float ist ein Gleitkomma-Datentyp und wird für das Speichern reeller Zahlen verwendet. Er hat eine Größe von 32 Bits und entspricht der Norm IEEE 754, die die Standarddarstellung von binären und dezimalen Gleitkommazahlen in Computern definiert. Der Standardwert von float ist 0,0 und in seinem Wertebereich lassen sich bis zu sieben Dezimalstellen darstellen. Im Vergleich zu double ist float allerdings nicht so genau und sollte daher auch nicht für Werte genutzt werden, bei denen Genauigkeit eine entscheidende Rolle spielt. Ist dies nicht der Fall, können Sie mit float Platz sparen. Die entsprechende Syntax ist diese:

float floatVar;
java

double

double ist in etwa doppelt so genau wie float und erfüllt ansonsten einen ähnlichen Zweck. Er ist 64 Bits groß und kann bis zu 16 Dezimalstellen abbilden. Auch sein Standardwert ist 0,0. Wenn Sie genauere Werte benötigen, sollten Sie immer auf double zurückgreifen, wobei auch dieser Datentyp nicht bis ins kleinste Detail genau sein kann. Möchten Sie mit absolut exakten Werten arbeiten, sollten Sie stattdessen die Klasse BigDecimal nutzen. Die Syntax von double ist diese:

double doubleVar;
java

char

Bei char handelt es sich um einen Zeichen-Datentyp. Er speichert Zeichen auf Basis des Unicode-Zeichensatzes und ermöglicht dadurch die Portabilität auf zahlreiche unterschiedliche Plattformen. Jedes Zeichen benötigt 2 Byte Speicherplatz. Sein Wertebereich entspricht ASCII (American Standard Code für Information Interchange) und ist damit anzusiedeln zwischen „\u0000“ (also 0) und „\uffff“ (entspricht 65535). Der Standardwert von char ist „\u0000“ und seine Syntax sieht so aus:

char charVar
java

Java Data Types: Beispiele für komplexe Datentypen

Die zweite Art von Data Types in Java sind die sogenannten Referenztypen oder komplexen Datentypen. Sie tragen diesen Namen, da sie sich auf Objekte beziehen. Im Normalfall sind sie im Gegensatz zu primitiven Datentypen nicht vordefiniert, sondern werden vom Programmierer oder der Programmiererin bestimmt (eine Ausnahme ist String). Sie sind in der Lage, Methoden zu nutzen, und können auch den Wert 0 (im Sinne von leer) haben. Während primitive Datentypen mit einem kleinen Buchstaben beginnen, starten Referenztypen mit einem Großbuchstaben. Wir stellen Ihnen die wichtigsten Referenztypen vor.

Strings

String ist eine Klasse, durch die eine Abfolge von Zeichen darstellbar ist. Das unterscheidet diesen komplexen Datentyp unter anderem vom primitiven char. Die Zeichenfolge existiert als Objekt in der Klasse java.lang. Durch die unterschiedlichen Methoden der string-Klasse können Sie einzelne Zeichen in der Kette untersuchen, Strings miteinander vergleichen, Strings durchsuchen und Strings kopieren. Strings werden durch Anführungszeichen oben gekennzeichnet. Die Syntax dieses Referenztyps sieht so aus:

<String_Typ> <string_variable> = "<stringsequenz>";
java

Strings funktionieren zum Beispiel wie in diesem Codeausschnitt:

// So erstellen Sie einen String ohne einen neuen Operator
String a = "Dies ist Ihr neuer String";
/ / So erstellen Sie einen String mit einem neuen Operator
String a1 = neuer String ("Dies ist Ihr neuer String");
java

Arrays

Arrays werden genutzt, um mehrere Werte innerhalb einer Variablen zu speichern, anstatt unterschiedliche Variablen für jeden einzelnen Wert zu erstellen. Sie werden durch eckige Klammern angezeigt. Die hinterlegten Werte werden wiederum in geschweifte Klammern gesetzt und jeweils durch Kommata getrennt. Dies ist die Syntax eines Arrays:

datentyp[] arrayName = {Wert1, Wert2, Wert3,…};
java

Wenn Sie ein Array mit Strings erstellen möchten, gehen Sie vor wie in diesem Beispiel:

String[] farben = {"blau", "rot", "gelb", "lila"};
java

Wenn Sie ein Array mit ganzen Zahlen erstellen möchten, können Sie folgendermaßen vorgehen:

int[] zahlen = {5, 10, 15, 20};
java

Klassen

Klassen sind in Java Data Types, die als Vorlage dienen, in der dann Objekte erzeugt werden. Sie enthalten verschiedene Komponenten. Dazu gehören unter anderem der Name der Klasse, ihr Modifikator und ein Körper, der in geschwungene Klammern eingefasst ist. In der Praxis sieht das zum Beispiel so aus:

public class Main {
	int a = 10;
}
java

Interfaces

Unter einem Interface versteht man in Java eine abstrakte Klasse. Sie fungiert als Schnittstelle, über die eine Klasse auf verschiedene Funktionen zugreifen kann. Dafür muss sie diese allerdings zunächst implementieren. Interfaces enthalten nur Konstanten und abstrakte Methoden. Ihre Syntax sieht dementsprechend so aus:

interface {
	abstrakte Methoden
}
java

Um die Funktionsweise der Interfaces zu erklären, zeigen wir Ihnen hier ein einfaches Beispiel:

interface Pizza {
	public void zutatenListe();
	public void zubereitung();
}
class Funghi implements Pizza {
	public void zutatenListe() {
		System.out.println("Champignons, Tomatensauce, Oregano, Mozzarella");
}
public void zubereitung() {
	System.out.println("Nach einer Viertelstunde ist die Pizza fertig gebacken");
}
}
class Main {
	public static void main(String[] args) {
		Funghi myFunghi = new Funghi();
		myFunghi.zutatenListe();
		myFunghi.zubereitung();
	}
}
java

Die dazu passende Ausgabe durch den Java-Befehl System.out.println sieht so aus:

Champignons, Tomatensauce, Oregano, Mozzarella
Nach einer Viertelstunde ist die Pizza fertig gebacken
java

Objekte

Auch Objekte gehören in Java zu den Data Types, die komplexer sind. Objekte sind Instanzen von Klassen, die dann durch Methoden miteinander interagieren können. Im folgenden Beispiel erstellen wir mehrere Objekte innerhalb einer Main-Klasse:

public class Main {
	int a = 10;
public static void main(String[] args) {
	Main myObj1 = new Main();
	Main myObj2 = new Main();
	System.out.println(myObj1.a);
	System.out.println(myObj2.a);
	}
}
java

Die entsprechende Ausgabe sieht so aus:

10
10
java

Enums

Enums sind eine Sonderklasse, die es Ihnen erlaubt, unveränderliche Konstanten in Ihren Code einzubauen. Diese Variablen erhalten feste Werte, die nicht nachträglich abgeändert werden können. Dieser Datentyp bietet sich insbesondere dann an, wenn Sie Variablen benötigen, die nur einige wenige mögliche Zustände haben sollen. Die Syntax einer Enum sieht so aus:

enum Name_der_Klasse {
	WERT1,
	WERT2,
	WERT3
}
java