Es gibt in Java acht primitive Da­ten­ty­pen, die eine feste Größe und einen de­fi­nier­ten Wer­te­be­reich haben. Sie werden genutzt, um Variablen zu erstellen und diesen einzelne Zahlen, Zeichen oder logische Werte zu­zu­wei­sen. Die acht Java Pri­mi­ti­ves sind boolean, byte, char, double, float, int, long und short.

Was sind Java Pri­mi­ti­ves?

Wie in anderen Pro­gram­mier­spra­chen gibt es auch un­ter­schied­li­che Java-Da­ten­ty­pen. Java definiert dabei zwei ver­schie­de­ne Arten: Re­fe­renz­ty­pen verweisen auf ein Objekt, das frei definiert werden kann – Beispiele dafür sind u. a. Strings, Arrays, Klassen oder In­ter­faces. Daneben exis­tie­ren Da­ten­ty­pen, die in Java „Pri­mi­ti­ves“ genannt werden. Diese haben eine fest de­fi­nier­te Größe, die auf allen Platt­for­men identisch ist. Sie verfügen alle über eine eigene Wrapper-Klasse, sind un­ver­än­der­lich ein­ge­bun­den und haben einen fest de­fi­nier­ten Wer­te­be­reich. Java Pri­mi­ti­ves werden verwendet, um Variablen zu erstellen, die einzelne Zahlen, Zeichen oder logische Werte aufnehmen.

In Java gibt es acht ver­schie­de­ne primitive Da­ten­ty­pen, die so elementar sind, dass ihre Dar­stel­lung fest in der Pro­gram­mier­spra­che verankert ist. Sie un­ter­schei­den sich vor allem darin, welche Werte sie speichern können. Allen gemein ist, dass sie lediglich einen einzigen Wert enthalten. Da sich ihr je­wei­li­ges Ein­satz­ge­biet zumindest teilweise ähnelt, un­ter­teilt man die Pri­mi­ti­ves in Java in vier Ka­te­go­rien:

  • Logischer Datentyp (boolean)
  • In­te­gra­ler Datentyp (byte, short, int und long)
  • Gleit­kom­ma-Datentyp (float und double)
  • Zeichen-Datentyp (char)

Da sie direkt im Stack ge­spei­chert werden, kann ihre jeweilige Größe von ent­schei­den­der Bedeutung sein. Darauf gehen wir im weiteren Verlauf noch näher ein. Von großer Wich­tig­keit sind die pri­mi­ti­ven Da­ten­ty­pen aber auch, weil Java eine statisch ty­pi­sier­te Sprache ist. Wenn also ein Programm erstellt wird, muss bereits bekannt und fest­ge­legt sein, welchen Datentyp eine Variable hat. Nur so kann der Code ohne Feh­ler­mel­dun­gen aus­ge­führt werden. Dies sind die Java Pri­mi­ti­ves auf einen Blick:

Datentyp Größe Wer­te­be­reich Stan­dard­wert Wrapper-Klasse
boolean 1 Bit true oder false false java.lang.Boolean
byte 8 Bit -128 bis 127 0 java.lang.Byte
short 16 Bit -32768 bis 32767 0 java.lang.Short
int 32 Bit -2147483648 bis 2147483647 0 java.lang.Integer
long 64 Bit -9223372036854775808 bis 9223372036854775807 0 java.lang.Long
float 32 Bit bis zu sieben De­zi­mal­stel­len 0,0 java.lang.Float
double 64 Bit bis zu 16 De­zi­mal­stel­len 0,0 java.lang.Double
char 16 Bit **’\u0000’ (also 0) bis ‘\uffff’ (ent­spricht 65535) ‘\u0000’ java.lang.Character
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

boolean

Der Java Boolean ist auch als Wahr­heits­wert bekannt. Er ist der ein­fachs­te aller Pri­mi­ti­ves in Java, da er lediglich zwei mögliche Werte kennt: „true“ oder „false“. Er wird dann ein­ge­setzt, wenn ein logischer Operand benötigt wird und gehört folglich alleine in die Gruppe der logischen Da­ten­ty­pen. In Aus­drü­cken stehen seine beiden möglichen Werte häufig für eine Bedingung, die entweder erfüllt ist (true) oder nicht (false). Weisen Sie einem Boolean keinen Wert zu, ist dieser au­to­ma­tisch false. Der Boolean kann mit boole­schen Java-Ope­ra­to­ren wie AND und OR verwendet werden. Die Zuweisung funk­tio­niert nach dem folgenden Prinzip:

public class Main {
	public static void main(String[] args) {
		boolean x = true;
		System.out.println(x);
	}
}
java

Wenn Sie mit dem Java-Befehl System.out.prinln eine Ausgabe in­iti­ie­ren, sieht diese so aus:

true
java

byte

byte ist die kleinste Option aus der Kategorie der in­te­gra­len Da­ten­ty­pen. Er hat einen sehr ein­ge­schränk­ten Wer­te­be­reich, der nur von -128 bis 127 reicht. Dafür benötigt er al­ler­dings auch nur 8 Bits Spei­cher­platz. Der Tatsache, dass 8 Bits einem Byte ent­spre­chen, verdankt er seinen Namen. Wenn Sie nur von sehr be­grenz­ten Wer­te­op­tio­nen ausgehen, können Sie byte fol­gen­der­ma­ßen de­kla­rie­ren:

public class Main {
	public static void main(String[] args) {
		byte x = 101;
		System.out.println(x);
	}
}
java

Die Ausgabe sieht so aus:

101
java

short

short ist doppelt so groß wie byte, gehört aber auch deshalb zu den Java Pri­mi­ti­ves, die eher selten verwendet werden. Wenn al­ler­dings byte zu klein und int zu groß ist, können Sie diesen in­te­gra­len Datentyp verwenden. Er wird so de­kla­riert:

public class Main {
	public static void main(String[] args) {
		short x = -27412;
		System.out.println(x);
	}
}
java

Die Ausgabe sieht fol­gen­der­ma­ßen aus:

-27412
java

int

int ist der integrale Datentyp, der am häu­figs­ten verwendet wird. Er hat einen sehr großen Wer­te­be­reich und ist dabei selbst noch ver­gleichs­wei­se platz­spa­rend. Der Zwei­er­kom­ple­ment-Wert wird in vielen Fällen auch für wei­ter­füh­ren­de An­wen­dun­gen genutzt. So können Sie ihn einsetzen:

public class Main {
	public static void main(String[] args) {
		int x = 14;
		int y = 3;
		int z = x + y;
		System.out.println(x + " + " + y + " = " + z);
	}
}
java

Dies ist die ent­spre­chen­de Ausgabe:

14 + 3 = 17
java

long

long ist eine Er­wei­te­rung von int und kann noch größere Zah­len­wer­te enthalten. In den meisten Fällen wird zwar int aus­rei­chen, aber wenn Sie long de­kla­rie­ren möchten, funk­tio­niert dies so:

public class Main {
	public static void main(String[] args) {
		long x = 47;
		System.out.println(x);
	}
}
java

Dies ist die passende Ausgabe:

47
java

float

Wenn Sie Teil­men­gen von ra­tio­na­len Zahlen dar­stel­len möchten, gibt es zu diesem Zweck in Java zwei Pri­mi­ti­ves. float ist der kleinere der beiden Gleit­kom­ma-Da­ten­ty­pen und braucht 32 Bits. Er kann bis zu sieben De­zi­mal­stel­len anzeigen. Er ist al­ler­dings nicht sehr präzise und wird daher nur selten verwendet. Benötigen Sie ihn dennoch, wird er so de­kla­riert:

public class Main {
	public static void main(String[] args) {
		float x = 7.22f;
		System.out.println(x);
	}
}
java

Nach der Zahl wird ein kleines oder großes „f“ eingefügt, um dem Compiler an­zu­zei­gen, dass es sich um float und nicht um double handelt. In der Ausgabe wird der Buchstabe nicht angezeigt:

7.22
java

double

Der zweite Gleit­kom­ma-Datentyp ist double. Er ist zwar we­sent­lich genauer als float, gibt aber dennoch keine völlig exakten Er­geb­nis­se aus. Eine Al­ter­na­ti­ve ist die Klasse Big­De­ci­mal. Sollte Ihnen double aus­rei­chen, ist dies ein passendes Code­bei­spiel:

public class Main {
	public static void main(String[] args) {
		double x = 7.2252;
		System.out.println(x);
	}
}
java

Auf die zu­sätz­li­che Ziffer können Sie dabei also ver­zich­ten. Dies ist die Ausgabe:

7.2252
java

char

char wird genutzt, um ein Zeichen aus dem Unicode ab­zu­bil­den. Dieser reicht von ‘\u0000’ bis ‘\uffff’, also von 0 bis 65535. Der Zeichen-Datentyp kann dadurch fast alle eu­ro­päi­schen und asia­ti­schen Zeichen dar­stel­len. Diese benötigen jeweils 16 Bits Speicher. Die Werte dieses Pri­mi­ti­ves in Java werden in Hoch­kom­ma­ta ein­ge­fasst. So sieht das im Code aus:

public class Main {
	public static void main(String[] args) {
		char x = '&';
		System.out.println(x);
	}
}
java

Dadurch erhalten Sie diese Ausgabe:

&
java
Zum Hauptmenü