Java-Datentypen: Die wichtigsten Basis-Elemente für dein Coding-Projekt
Java stellt acht primitive sowie zahlreiche komplexe Datentypen bereit. Diese legen fest, welche Werte in einer Variable gespeichert und wie sie abgebildet werden. In Java wird jeder Variable ein spezifischer Data Type zugewiesen.
Welche Datentypen gibt es in Java?
In jeder Programmiersprache existieren verschiedene Datentypen, die spezifische Objekte und Operationen definieren. Obwohl sie sich oft ähneln, gibt es teils deutliche Unterschiede im Funktionsumfang. Wenn du etwa Python vs. Java vergleichst, bemerkst du neben Gemeinsamkeiten viele Differenzen, die eine Sprache für bestimmte Projekte ideal machen. Java nutzt zwei Arten von Datentypen: primitive und komplexe (auch „Referenztypen“ genannt). Diese Java Data Types unterscheiden sich in ihrer Größe und definieren den Speicherwert einer Variablen.
Während primitive Datentypen lediglich einfache Werte sichern, dienen Referenztypen dazu, komplexere Strukturen zu bauen sowie große Datenmengen zu verwalten. Wenn du Programmieren lernen möchtest, ist es essenziell, die Typen zu kennen und ihren optimalen Einsatz zu verstehen. Das betrifft einerseits die Funktionen, andererseits die effiziente Nutzung des Speicherplatzes.
Primitive Data Types in Java
Java bietet 8 primitive Data Types mit festen Wertebereichen. Diese lassen sich in vier Gruppen unterteilen: logische, integrale, Gleitkomma- und Zeichen-Datentypen. Sie verfügen über keine Zusatzfunktionen und werden als elementar bezeichnet. Jeder Typ belegt eine fixe Anzahl an Bits. Hier sind die elementaren Java-Typen im Überblick:
- boolean
- byte
- short
- int oder integer
- long
- float
- double
- char
boolean
Der Java Boolean ist kein numerischer Typ, sondern kennt nur zwei Zustände: true und false. Er prüft, ob eine Bedingung erfüllt ist oder nicht. Der Standardwert ist false. Als logischer Datentyp belegt er 1 Bit. Die Syntax sieht so aus:
boolean booleanVar;javabyte
byte ist ein integraler Datentyp (Zweierkomplement) mit einer Größe von 8 Bit (1 Byte). Er hilft dabei, in großen Arrays Speicherplatz zu sparen. Sein Bereich liegt zwischen -128 und 127, der Standardwert ist 0. Syntax:
byte byteVar;javashort
Auch short zählt zu den integralen Data Types und dient der Speicheroptimierung in Arrays. Dieser Wert ist 16 Bit (2 Byte) groß und reicht von -32 768 bis 32 767. Standardmäßig ist er auf 0 gesetzt. So nutzt du short:
short shortVarjavaint oder integer
int ist ein weit verbreiteter integraler Datentyp mit 32 Bit (4 Byte). Er deckt Ganzzahlen von -2 147 483 648 bis 2 147 483 647 ab. Der Standardwert ist 0. Die Syntax lautet:
int intVarjavalong
Der größte integrale Typ ist long. Er bietet einen Bereich von -9 223 372 036 854 775 808 bis 9 223 372 036 854 775 807 bei einer Größe von 64 Bit (8 Byte). Er kommt zum Einsatz, wenn int nicht mehr ausreicht, verbraucht aber mehr Speicher. Standardwert ist 0. Syntax:
lomg longVarjavafloat
float ist ein Gleitkomma-Datentyp für reelle Zahlen (32 Bit) nach IEEE 754. Er hat einen Standardwert von 0,0 und bildet bis zu sieben Dezimalstellen ab. Da float weniger präzise als double ist, sollte er nur genutzt werden, wenn absolute Genauigkeit zweitrangig ist, um Platz zu sparen. Syntax:
float floatVar;javadouble
double ist etwa doppelt so präzise wie float, belegt 64 Bit und schafft bis zu 16 Dezimalstellen. Der Standardwert ist ebenfalls 0,0. Für Berechnungen, die eine höhere Genauigkeit verlangen, ist double die richtige Wahl. Wenn es absolut exakt sein muss, greife zur Klasse BigDecimal. Syntax:
double doubleVar;javachar
char speichert einzelne Zeichen basierend auf dem Unicode-Satz, was die Portabilität über Plattformen hinweg sichert. Er benötigt 2 Byte. Der Wertebereich entspricht ASCII und liegt zwischen „\u0000“ (0) und „\uffff“ (65 535). Standardwert ist „\u0000“. Syntax:
char charVarjavaJava Data Types: Beispiele für komplexe Datentypen
Die zweite Gruppe bilden Referenztypen oder komplexe Datentypen, da sie auf Objekte verweisen. Meist werden sie (außer String) von Programmierer:innen definiert. Sie können Methoden nutzen und den Wert null (leer) annehmen. Während primitive Typen kleingeschrieben werden, beginnen Referenztypen mit einem Großbuchstaben. Hier die wichtigsten Vertreter:
Strings
Ein String ist eine Klasse zur Darstellung einer Zeichenkette. Im Gegensatz zum primitiven char existiert die Folge als Objekt in java.lang. Mit Methoden der String-Klasse kannst du Zeichen prüfen, vergleichen, suchen oder kopieren. Strings stehen immer in Anführungszeichen. Syntax:
<String_Typ> <string_variable> = "<stringsequenz>";javaEin Anwendungsbeispiel im Code:
// 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");javaArrays
Arrays bündeln mehrere Werte in einer einzigen Variablen, statt für jeden Wert eine neue zu erstellen. Sie werden durch eckige Klammern definiert, während die Werte in geschweiften Klammern und durch Kommas getrennt stehen. Syntax:
datentyp[] arrayName = {Wert1, Wert2, Wert3,…};javaBeispiel für ein Array mit Strings:
String[] farben = {"blau", "rot", "gelb", "lila"};javaSo erstellst du ein Array mit Ganzzahlen:
int[] zahlen = {5, 10, 15, 20};javaKlassen
In Java dienen Klassen als Baupläne für Objekte. Sie bestehen aus dem Klassennamen, Modifikatoren und einem in geschweifte Klammern gefassten Körper. In der Praxis sieht das so aus:
public class Main {
int a = 10;
}javaInterfaces
Ein Interface ist in Java eine abstrakte Struktur. Es dient als Schnittstelle, über die eine Klasse Funktionen aufruft, sofern sie diese implementiert. Interfaces beinhalten Konstanten und abstrakte Methoden. Syntax:
interface {
abstrakte Methoden
}javaHier ein simples Beispiel zur Funktionsweise:
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();
}
}javaDie Ausgabe mittels Java-Befehl System.out.println lautet:
Champignons, Tomatensauce, Oregano, Mozzarella
Nach einer Viertelstunde ist die Pizza fertig gebackenjavaObjekte
Objekte sind ebenfalls komplexe Datentypen. Sie sind Instanzen von Klassen, die über Methoden interagieren. Im Beispiel erzeugen wir Objekte in 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);
}
}javaDie Ausgabe dazu:
10
10javaEnums
Enums sind spezielle Klassen für unveränderliche Konstanten. Diese Variablen besitzen feste Werte, die nicht modifiziert werden können. Ideal für Variablen mit wenigen, klar definierten Zuständen. Syntax:
enum Name_der_Klasse {
WERT1,
WERT2,
WERT3
}java