Java Primitive Datentypen: Ein klarer Leitfaden
Variablen sind nichts anderes als reservierte Speicherbereiche zum Speichern von Werten. Das bedeutet, dass Sie beim Erstellen einer Variable etwas Speicherplatz reservieren.
Basierend auf dem Datentyp einer Variable allokiert das Betriebssystem Speicher und entscheidet, was in dem reservierten Speicher gespeichert werden kann. Daher können Sie durch Zuweisung verschiedener Datentypen zu Variablen Ganzzahlen, Dezimalzahlen oder Zeichen in diesen Variablen speichern.
Es gibt zwei Datentypen in Java:
- Primitive Datentypen
- Referenz-/Objekt-Datentypen
Primitive Datentypen
Java unterstützt acht primitive Datentypen. Primitive Datentypen sind von der Sprache vordefiniert und durch ein Schlüsselwort benannt. Sehen wir uns die acht primitiven Datentypen im Detail an.
byte
- Byte-Datentyp ist ein 8-Bit vorzeichenbehaftetes Two's-Complement-Integer
- Minimalwert: -128 (-2⁷)
- Maximalwert: 127 (inklusiv) (2⁷ - 1)
- Standardwert: 0
- Byte wird verwendet, um Speicher in großen Arrays zu sparen, hauptsächlich anstelle von Integers, da ein Byte viermal kleiner ist als ein Integer
- Beispiel:
byte a = 100, byte b = -50
short
- Short-Datentyp ist ein 16-Bit vorzeichenbehaftetes Two's-Complement-Integer
- Minimalwert: -32.768 (-2¹⁵)
- Maximalwert: 32.767 (inklusiv) (2¹⁵ - 1)
- Short kann auch wie Byte zum Speichersparen verwendet werden. Ein Short ist halb so groß wie ein Integer
- Standardwert: 0
- Beispiel:
short s = 10000, short r = -20000
int
- Int-Datentyp ist ein 32-Bit vorzeichenbehaftetes Two's-Complement-Integer
- Minimalwert: -2.147.483.648 (-2³¹)
- Maximalwert: 2.147.483.647 (inklusiv) (2³¹ - 1)
- Integer wird allgemein als Standarddatentyp für Ganzzahlwerte verwendet, es sei denn, Speicher ist ein Problem
- Standardwert: 0
- Beispiel:
int a = 100000, int b = -200000
long
- Long-Datentyp ist ein 64-Bit vorzeichenbehaftetes Two's-Complement-Integer
- Minimalwert: -9.223.372.036.854.775.808 (-2⁶³)
- Maximalwert: 9.223.372.036.854.775.807 (inklusiv) (2⁶³ - 1)
- Wird verwendet, wenn ein größerer Wertebereich als int benötigt wird
- Standardwert: 0L
- Beispiel:
long a = 100000L, long b = -200000L
float
- Float-Datentyp ist ein 32-Bit IEEE 754 Gleitkommawert einfacher Genauigkeit
- Float wird hauptsächlich verwendet, um Speicher in großen Arrays von Gleitkommazahlen zu sparen
- Standardwert: 0.0f
- Float-Datentyp sollte nie für präzise Werte wie Währungen verwendet werden
- Beispiel:
float f1 = 234.5f
double
- Double-Datentyp ist ein 64-Bit IEEE 754 Gleitkommawert doppelter Genauigkeit
- Dieser Datentyp wird allgemein als Standard für Dezimalwerte verwendet, meist die Standardwahl
- Double sollte nie für präzise Werte wie Währungen verwendet werden
- Standardwert: 0.0d
- Beispiel:
double d1 = 123.4
boolean
- Boolean-Datentyp repräsentiert ein Bit Information
- Nur zwei mögliche Werte: true und false
- Wird für einfache Flags verwendet, die true/false-Bedingungen verfolgen
- Standardwert: false
- Beispiel:
boolean one = true
char
- Char-Datentyp ist ein einzelnes 16-Bit Unicode-Zeichen
- Minimalwert: '\u0000' (oder 0)
- Maximalwert: '\uffff' (oder 65.535 inklusiv)
- Char wird verwendet, um beliebige Zeichen zu speichern
- Beispiel:
char letterA = 'A'
Referenz-Datentypen
Referenzvariablen werden mit definierten Konstruktoren der Klassen erstellt. Sie werden verwendet, um auf Objekte zuzugreifen. Diese Variablen werden als spezifischer Typ deklariert, der nicht geändert werden kann. Beispiel: Employee, Puppy usw.
Klassenobjekte und verschiedene Arten von Array-Variablen fallen unter Referenzdatentypen.
Standardwert jeder Referenzvariable ist null.
Eine Referenzvariable kann verwendet werden, um auf jedes Objekt des deklarierten Typs oder jeden kompatiblen Typ zu verweisen.
Beispiel:
Animal animal = new Animal("giraffe");
Java-Literale
Ein Literal ist eine Quellcode-Darstellung eines festen Werts. Sie werden direkt im Code ohne Berechnung dargestellt.
Literale können jeder primitiven Typvariable zugewiesen werden. Beispiel:
byte a = 68; char a = 'A';
byte, int, long und short können in dezimal (Basis 10), hexadezimal (Basis 16) oder oktal (Basis 8) Zahlensystemen ausgedrückt werden.
Präfix 0 kennzeichnet oktal, Präfix 0x hexadezimal bei der Verwendung dieser Zahlensysteme für Literale. Beispiel:
int decimal = 100; int octal = 0144; int hexa = 0x64;
String-Literale in Java werden wie in den meisten anderen Sprachen angegeben, indem eine Zeichenkette in doppelte Anführungszeichen eingeschlossen wird. Beispiele:
Beispiel
"Hello World" "two\nlines" "\"This is in quotes\""
String- und char-Typ-Literale können beliebige Unicode-Zeichen enthalten. Beispiel:
char a = '\u0001'; String a = "\u0001";
Java unterstützt spezielle Escape-Sequenzen für String- und char-Literale:
| Notation | Dargestelltes Zeichen |
|---|---|
| \n | Neue Zeile (0x0a) |
| \r | Wagenrücklauf (0x0d) |
| \f | Formfeed (0x0c) |
| \b | Backspace (0x08) |
| \s | Leerzeichen (0x20) |
| \t | Tabulator |
| \" | Doppeltes Anführungszeichen |
| \' | Einfaches Anführungszeichen |
| \\ | Backslash |
| \ddd | Oktales Zeichen (ddd) |
| \uxxxx | Hexadezimales UNICODE-Zeichen (xxxx) |
Was kommt als Nächstes?
Dieses Kapitel erklärte die verschiedenen Datentypen. Das nächste Thema erklärt verschiedene Variablentypen und ihre Verwendung. Dies gibt Ihnen ein gutes Verständnis, wie sie in Java-Klassen, Interfaces etc. verwendet werden können.
Java
- Python-Typkonvertierung & Casting meistern: Umfassender Leitfaden
- Java Primitive Datentypen: Vollständiger Leitfaden mit Beispielen
- Java Operatoren meistern: Typen, Syntax und praktische Beispiele
- Java-Schnittstellen meistern: Konzepte, Implementierung und Best Practices
- Java-Kapselung meistern: Praktischer Leitfaden zum Datenverbergen
- Java Try-With-Resources meistern: Automatisches Ressourcenmanagement erklärt
- Java Annotations erklärt: Typen, Platzierung und praktische Beispiele
- Java Type Casting meistern: Von Widening zu Narrowing und darüber hinaus
- C++ char‑Datentyp meistern: Deklaration, ASCII & Konvertierungstechniken
- C Variablen, Datentypen und Konstanten – Ein praktischer Leitfaden