Primitive Datentypen in Java

Java unterscheidet, wie andere Programmiersprachen auch, verschiedene Datentypen. Dies tun wir genau genommen im normalen Leben auch: Wir haben Zahlen, hier unterscheiden wir ganze und reelle Zahlen, Buchstaben und viele mehr.
Für jede dieser Art gibt es in Java einen entsprechenden Datentypen.

Wenn ihr Euch jetzt fragt, warum der Kurs aber primitive Datentypen heißt, dazu gleich mehr.

Natürliche Zahlen

Natürliche Zahlen, oder auch Ganzzahlen genannt, werden mit Hilfe des Datentyps int dargestellt, angelehnt an das englische Wort „integer“ (zu deutsch „Ganzzahl“)
Neben int gibt es aber noch weitere ganzzahlige Datentypen und zwar byte, short und long.
Diese unterscheiden sich in zwei Punkten: Dem Wertebereich und der Anzahl an Bits, die zur Verwendung eines solchen benötigt werden. Ein short bspw. hat einen Wertebereich von -32.768 bis 32.767 und benötigt 16 Bits, wohingegen ein int 32 Bit benötigt und einen Wertebereich von -2.147.483.648 ... 2.147.483.647 hat.
Wenn ich also vor dem Verwenden einer Ganzzahl den Wertebereich schon abschätzen kann und meinem Arbeitsspeicher einen Gefallen tun möchte, dann kann ich diesen schonen, in dem ich einen möglichst kleinen, ganzzahligen Datentypen auswähle.

Gleitkommazahl

Gleitkommazahlen, auch Fließkommazahlen genannt, werden mit Hilfe der Datentypen float (32 Bit) und double (64 Bit) dargestellt.

Zeichentyp

Einzelne Zeichen werden mit Hilfe von char (16 Bit) realisiert, angelehnt an das englische Wort „character“, was so viel heißt wie „Buchstabe“. In der Regel enthält eine Variable vom Typ char tatsächlich auch einen Buchstaben, es sind aber auch Sonderzeichen wie Zeilenumbrüche (\n), Tabulatoren (\t), ... möglich.
Übrigens gelten Wörter nicht als eigener primitver Datentyp. Sie werden durch die Klasse String repräsentiert, die wiederum intern ein Array aus chars enthält.

Wahr oder falsch

Zu guter Letzt gibt es noch den Datentypen boolean, der so viel heißt wie wahr oder falsch. Angelehnt ist dies an die Boolesche Algebra, die nach dem Engländer George Boole benannt ist.

Warum nun aber primitive Datentypen?

Da eine Variable eines solchen Datentyps wirklich nur den jeweiligen Wert hält und mehr nicht, somit also recht primitiv ist:
int i = 10;
Die einzige Information, die die Variable i enthält ist die Zahl 10.

Das „Gegenteil“ von primitiven Datentypen wird übrigens Referenzdatentypen oder kurz Referenztypen genannt.
Nun ist es so, dass jeder primitive Datentyp auch einen entsprechenden Refenztyp hat: Integer für int, Double für double, Charachter für char, …

Schreibe ich
Integer i = 10;
habe ich hier keinen primitiven Datentypen mehr, sondern eben ein Referenztyp. Dieser hält zwar natürlich auch die Information 10 im Bauch, kann aber darüber hinaus noch mehr tun. Die Variable i ist hier ein echtes Objekt, im Sinne der objektorientierten Programmierung, und ich kann auf ihm Methoden ausführen und andere objektorientierte Dinge treiben.

Mir muss aber auch bewusst sein, dass für ein Integer i viel mehr Speicherplatz gebraucht wird, als für ein int i.

Es ist also immer abzuwägen, was ich mit der Zahl, oder dem Buchstaben machen möchte. Dementsprechend ist auch die Entscheidung zu treffen, welchen Datentypen (ob primitiv oder Referenz) und welchen Wertebereich ich benötige.

Die primitiven Datentypen stellen aber gewissermaßen das Fundament dar, auf dem die Programmiersprache Java aufgebaut ist. Ohne Zahlen, Buchstaben, true/false geht es eben nicht. Insofern ist es essentiell, sich mit diesen einmal genauer beschäftigt zu haben.
Soweit ein erster Überflug über das Thema der primitiven Datentypen.
Schaue Dir doch mal die Gliederung zu meinem Kurs an.
Created with