Java bietet acht primitive und zahl­rei­che weitere komplexe Da­ten­ty­pen. Diese bestimmen, welche Werte innerhalb einer Variable ge­spei­chert und dar­ge­stellt werden können. Allen Variablen werden in Java bestimmte Data Types zu­ge­ord­net.

Welche Da­ten­ty­pen gibt es in Java?

In jeder Pro­gram­mier­spra­che gibt es ver­schie­de­ne Da­ten­ty­pen, die bestimmte Objekte und de­fi­nier­te Ope­ra­tio­nen enthalten. Zwar ähneln sich diese häufig, trotzdem gibt es teils große Un­ter­schie­de, welche Optionen eine Sprache bietet. Ver­glei­chen Sie bei­spiels­wei­se Python vs. Java, werden Ihnen neben den Ge­mein­sam­kei­ten auch zahl­rei­che Un­ter­schie­de auffallen, die die jeweilige Sprache für bestimmte Aufgaben prä­de­sti­nie­ren. Java setzt auf zwei ver­schie­de­ne Arten von Da­ten­ty­pen: primitive und komplexe (auch „Re­fe­renz­ty­pen“). Diese einzelnen Java Data Types un­ter­schei­den sich hin­sicht­lich ihrer Größe und bestimmen, welche Werte in einer Variablen ge­spei­chert werden können.

Während primitive Da­ten­ty­pen lediglich einfache Werte speichern können, werden die Re­fe­renz­ty­pen dazu genutzt, kom­ple­xe­re Struk­tu­ren zu erstellen und große Da­ten­men­gen zu or­ga­ni­sie­ren und zu ma­ni­pu­lie­ren. Wenn Sie Pro­gram­mie­ren lernen möchten, ist es wichtig, dass Sie nicht nur die un­ter­schied­li­chen Typen kennen, sondern auch wissen, wie Sie diese am besten einsetzen. Das betrifft zum einen den Funk­ti­ons­um­fang, zum anderen den Spei­cher­platz, der durch den richtigen Datentyp belegt bzw. ein­ge­spart wird.

Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz inklusive

Primitive Data Types in Java

Es gibt insgesamt acht ver­schie­de­ne primitive Data Types in Java, die fest de­fi­nier­te Wer­te­be­rei­che enthalten. Sie können in vier Ka­te­go­rien ein­ge­teilt werden: logischer Datentyp, in­te­gra­ler Datentyp, Gleit­kom­ma-Datentyp und Zeichen-Datentyp. Sie haben keine zu­sätz­li­chen spe­zi­el­len Fä­hig­kei­ten und werden auch als ele­men­ta­re Da­ten­ty­pen be­zeich­net. Jeder Datentyp besitzt eine feste Anzahl an Bits. Im Folgenden stellen wir Ihnen diese pri­mi­ti­ven Data Types näher vor. Java kennt folgende ele­men­ta­re Typen:

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

boolean

Der Java Boolean ist kein nu­me­ri­scher Typ. Er bietet statt­des­sen 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 Stan­dard­wert lautet false und er gehört zu den logischen Da­ten­ty­pen. Er umfasst 1 Bit und hat folgende Syntax:

boolean booleanVar;
java

byte

byte ist ein in­te­gra­ler Datentyp und ein Zwei­er­kom­ple­ment-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 Wer­te­be­reich reicht von -128 bis 127 und sein Stan­dard­wert lautet 0. Dies ist seine Syntax:

byte byteVar;
java

short

Auch short gehört zu den in­te­gra­len Data Types in Java und wird vor allem verwendet, um in größeren Arrays Speicher zu sparen. Der Zwei­er­kom­ple­ment-Wert selbst ist 16 Bits oder 2 Bytes groß und sein Wer­te­be­reich reicht von -32768 bis ein­schließ­lich 32767. Stan­dard­mä­ßig beträgt sein Wert 0. So wird short ein­ge­setzt:

short shortVar
java

int oder integer

int oder integer ist ebenfalls ein Zwei­er­kom­ple­ment-Wert und ein in­te­gra­ler Datentyp mit einer Größe von 4 Bytes oder 32 Bits. Sein Wer­te­be­reich umfasst Ganz­zah­len zwischen -2147483648 und 2147483647 und sein Stan­dard­wert ist 0. Seine Syntax lautet fol­gen­der­ma­ßen:

int intVar
java

long

Der größte integrale Datentyp ist long. Das gilt zum einen für seinen Wer­te­be­reich, der zwischen -9223372036854775808 und 9223372036854775807 liegt, und zum anderen für seine eigene Größe, die 8 Bytes oder 64 Bits beträgt. Der Zwei­er­kom­ple­ment-Wert wird daher ein­ge­setzt, wenn die anderen in­te­gra­len Da­ten­ty­pen nicht aus­rei­chen. Er benötigt al­ler­dings auch mit Abstand am meisten Speicher. Sein Stan­dard­wert ist 0. Dies ist seine Syntax:

lomg longVar
java

float

float ist ein Gleit­kom­ma-Datentyp und wird für das Speichern reeller Zahlen verwendet. Er hat eine Größe von 32 Bits und ent­spricht der Norm IEEE 754, die die Stan­dard­dar­stel­lung von binären und dezimalen Gleit­kom­ma­zah­len in Computern definiert. Der Stan­dard­wert von float ist 0,0 und in seinem Wer­te­be­reich lassen sich bis zu sieben De­zi­mal­stel­len dar­stel­len. Im Vergleich zu double ist float al­ler­dings nicht so genau und sollte daher auch nicht für Werte genutzt werden, bei denen Ge­nau­ig­keit eine ent­schei­den­de Rolle spielt. Ist dies nicht der Fall, können Sie mit float Platz sparen. Die ent­spre­chen­de 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 De­zi­mal­stel­len abbilden. Auch sein Stan­dard­wert ist 0,0. Wenn Sie genauere Werte benötigen, sollten Sie immer auf double zu­rück­grei­fen, wobei auch dieser Datentyp nicht bis ins kleinste Detail genau sein kann. Möchten Sie mit absolut exakten Werten arbeiten, sollten Sie statt­des­sen die Klasse Big­De­ci­mal 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-Zei­chen­sat­zes und er­mög­licht dadurch die Por­ta­bi­li­tät auf zahl­rei­che un­ter­schied­li­che Platt­for­men. Jedes Zeichen benötigt 2 Byte Spei­cher­platz. Sein Wer­te­be­reich ent­spricht ASCII (American Standard Code für In­for­ma­ti­on In­ter­ch­an­ge) und ist damit an­zu­sie­deln zwischen „\u0000“ (also 0) und „\uffff“ (ent­spricht 65535). Der Stan­dard­wert von char ist „\u0000“ und seine Syntax sieht so aus:

char charVar
java

Java Data Types: Beispiele für komplexe Da­ten­ty­pen

Die zweite Art von Data Types in Java sind die so­ge­nann­ten Re­fe­renz­ty­pen oder komplexen Da­ten­ty­pen. Sie tragen diesen Namen, da sie sich auf Objekte beziehen. Im Nor­mal­fall sind sie im Gegensatz zu pri­mi­ti­ven Da­ten­ty­pen nicht vor­de­fi­niert, sondern werden vom Pro­gram­mie­rer oder der Pro­gram­mie­re­rin 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 Da­ten­ty­pen mit einem kleinen Buch­sta­ben beginnen, starten Re­fe­renz­ty­pen mit einem Groß­buch­sta­ben. Wir stellen Ihnen die wich­tigs­ten Re­fe­renz­ty­pen vor.

Strings

String ist eine Klasse, durch die eine Abfolge von Zeichen dar­stell­bar ist. Das un­ter­schei­det diesen komplexen Datentyp unter anderem vom pri­mi­ti­ven char. Die Zei­chen­fol­ge existiert als Objekt in der Klasse java.lang. Durch die un­ter­schied­li­chen Methoden der string-Klasse können Sie einzelne Zeichen in der Kette un­ter­su­chen, Strings mit­ein­an­der ver­glei­chen, Strings durch­su­chen und Strings kopieren. Strings werden durch An­füh­rungs­zei­chen oben ge­kenn­zeich­net. Die Syntax dieses Re­fe­renz­typs sieht so aus:

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

Strings funk­tio­nie­ren zum Beispiel wie in diesem Code­aus­schnitt:

// 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 un­ter­schied­li­che Variablen für jeden einzelnen Wert zu erstellen. Sie werden durch eckige Klammern angezeigt. Die hin­ter­leg­ten Werte werden wiederum in ge­schweif­te 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 fol­gen­der­ma­ß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 ver­schie­de­ne Kom­po­nen­ten. Dazu gehören unter anderem der Name der Klasse, ihr Mo­di­fi­ka­tor und ein Körper, der in ge­schwun­ge­ne Klammern ein­ge­fasst ist. In der Praxis sieht das zum Beispiel so aus:

public class Main {
	int a = 10;
}
java

In­ter­faces

Unter einem Interface versteht man in Java eine abstrakte Klasse. Sie fungiert als Schnitt­stel­le, über die eine Klasse auf ver­schie­de­ne Funk­tio­nen zugreifen kann. Dafür muss sie diese al­ler­dings zunächst im­ple­men­tie­ren. In­ter­faces enthalten nur Kon­stan­ten und abstrakte Methoden. Ihre Syntax sieht dem­entspre­chend so aus:

interface {
	abstrakte Methoden
}
java

Um die Funk­ti­ons­wei­se der In­ter­faces 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 mit­ein­an­der in­ter­agie­ren 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 ent­spre­chen­de Ausgabe sieht so aus:

10
10
java

Enums

Enums sind eine Son­der­klas­se, die es Ihnen erlaubt, un­ver­än­der­li­che Kon­stan­ten in Ihren Code ein­zu­bau­en. Diese Variablen erhalten feste Werte, die nicht nach­träg­lich ab­ge­än­dert werden können. Dieser Datentyp bietet sich ins­be­son­de­re 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
Zum Hauptmenü