Java -Datentypen
Java-Datentypen
Wie im vorherigen Kapitel erklärt, muss eine Variable in Java ein bestimmter Datentyp sein:
Beispiel
int myNum = 5; // Integer (whole number)
float myFloatNum = 5.99f; // Floating point number
char myLetter = 'D'; // Character
boolean myBool = true; // Boolean
String myText = "Hello"; // String
Datentypen werden in zwei Gruppen unterteilt:
- Primitive Datentypen – umfasst
byte
,short
,int
,long
,float
,double
undboolean
char
- Nicht-primitive Datentypen – wie String , Arrays und Klassen (mehr darüber erfahren Sie in einem späteren Kapitel)
Primitive Datentypen
Ein primitiver Datentyp gibt die Größe und den Typ von Variablenwerten an und hat keine zusätzlichen Methoden.
Es gibt acht primitive Datentypen in Java:
Data Type | Size | Description |
---|---|---|
byte | 1 byte | Stores whole numbers from -128 to 127 |
short | 2 bytes | Stores whole numbers from -32,768 to 32,767 |
int | 4 bytes | Stores whole numbers from -2,147,483,648 to 2,147,483,647 |
long | 8 bytes | Stores whole numbers from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
float | 4 bytes | Stores fractional numbers. Sufficient for storing 6 to 7 decimal digits |
double | 8 bytes | Stores fractional numbers. Sufficient for storing 15 decimal digits |
boolean | 1 bit | Stores true or false values |
char | 2 bytes | Stores a single character/letter or ASCII values |
Zahlen
Primitive Zahlentypen werden in zwei Gruppen unterteilt:
Integer-Typen speichern positive oder negative ganze Zahlen (z. B. 123 oder -456) ohne Dezimalstellen.
Gültige Typen sind byte
, short
und . Welchen Typ Sie verwenden sollten, hängt vom Zahlenwert ab.int
long
Fließkommatypen stellen Zahlen mit einem Bruchteil dar, die eine oder mehrere Dezimalstellen enthalten. Es gibt zwei Arten: float
und double
.
Obwohl es in Java viele numerische Typen gibt, sind die am häufigsten verwendeten für Zahlen int
(für ganze Zahlen) und double
(für Fließkommazahlen). Wir werden sie jedoch alle beschreiben, während Sie weiterlesen.
Ganzzahlige Typen
Byte
Der byte
Datentyp kann ganze Zahlen von -128 bis 127 speichern. Dies kann anstelle von int
oder anderen Integer-Typen verwendet werden, um Speicher zu sparen, wenn Sie sicher sind, dass der Wert zwischen -128 und 127 liegt:
Beispiel
byte myNum = 100;
System.out.println(myNum);
Kurz
Der short
Datentyp kann ganze Zahlen von -32768 bis 32767 speichern:
Beispiel
short myNum = 5000;
System.out.println(myNum);
Int
Der int
Datentyp kann ganze Zahlen von -2147483648 bis 2147483647 speichern. Im Allgemeinen und in unserem Tutorial ist der int
Datentyp der bevorzugte Datentyp, wenn wir Variablen mit einem numerischen Wert erstellen.
Beispiel
int myNum = 100000;
System.out.println(myNum);
Lang
Der long
Datentyp kann ganze Zahlen von -9223372036854775808 bis 9223372036854775807 speichern. Dies wird verwendet, wenn int nicht groß genug ist, um den Wert zu speichern. Beachten Sie, dass Sie den Wert mit einem "L" beenden sollten:
Beispiel
long myNum = 15000000000L;
System.out.println(myNum);
Fließkommatypen
Sie sollten immer dann einen Fließkommatyp verwenden, wenn Sie eine Zahl mit Dezimalstellen benötigen, z. B. 9,99 oder 3,14515.
Schweben
Der float
Datentyp kann Bruchzahlen von 3.4e−038 bis 3.4e+038 speichern. Beachten Sie, dass Sie den Wert mit einem "f" beenden sollten:
Beispiel
float myNum = 5.75f;
System.out.println(myNum);
Doppelt
Der double
Datentyp kann Bruchzahlen von 1,7e−308 bis 1,7e+308 speichern. Beachten Sie, dass Sie den Wert mit einem "d" beenden sollten:
Beispiel
double myNum = 19.99d;
System.out.println(myNum);
Verwenden Sie float
oder double
?
Die Genauigkeit eines Fließkommawertes gibt an, wie viele Nachkommastellen der Wert haben darf. Die Genauigkeit von float
beträgt nur sechs oder sieben Dezimalstellen, während double
Variablen eine Genauigkeit von etwa 15 Stellen haben. Daher ist es double
für die meisten Berechnungen sicherer zu verwenden.
Wissenschaftliche Zahlen
Eine Fließkommazahl kann auch eine wissenschaftliche Zahl mit einem „e“ sein, um die Zehnerpotenz anzuzeigen:
Beispiel
float f1 = 35e3f;
double d1 = 12E4d;
System.out.println(f1);
System.out.println(d1);
Boolesche Werte
Ein boolescher Datentyp wird mit dem boolean
Schlüsselwort deklariert und kann nur die Werte true
oder annehmen false
:
Beispiel
boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun); // Outputs true
System.out.println(isFishTasty); // Outputs false
Boolesche Werte werden hauptsächlich für bedingtes Testen verwendet, worüber Sie in einem späteren Kapitel mehr erfahren werden.
Zeichen
Der char
Datentyp wird verwendet, um ein
einzelnes Zeichen zu speichern. Das Zeichen muss in einfache Anführungszeichen eingeschlossen werden, wie 'A' oder 'c':
Beispiel
char myGrade = 'B';
System.out.println(myGrade);
Alternativ können Sie ASCII-Werte verwenden, um bestimmte Zeichen anzuzeigen:
Beispiel
char myVar1 = 65, myVar2 = 66, myVar3 = 67;
System.out.println(myVar1);
System.out.println(myVar2);
System.out.println(myVar3);
Tipp: Eine Liste aller ASCII-Werte finden Sie in unserer ASCII-Tabellenreferenz .
Saiten
Der String
Datentyp dient zum Speichern einer Folge von Zeichen (Text). Zeichenfolgenwerte müssen in doppelte Anführungszeichen eingeschlossen werden:
Beispiel
String greeting = "Hello World";
System.out.println(greeting);
Der String-Typ wird so oft verwendet und in Java integriert, dass manche ihn "den besonderen neunten Typ" nennen.
Ein String in Java ist eigentlich ein nicht primitiver Datentyp, da er sich auf ein Objekt bezieht. Das String-Objekt verfügt über Methoden, mit denen bestimmte Operationen an Zeichenfolgen ausgeführt werden. Machen Sie sich keine Sorgen, wenn Sie den Begriff „Objekt“ noch nicht verstehen . Wir werden in einem späteren Kapitel mehr über Strings und Objekte erfahren.
Nicht primitive Datentypen
Nicht primitive Datentypen werden Referenztypen genannt, weil sie auf Objekte verweisen.
Der Hauptunterschied zwischen primitiven und nicht primitiven Datentypen sind:
- Primitive Typen sind in Java vordefiniert (bereits definiert). Nicht primitive Typen werden vom Programmierer erstellt und nicht von Java definiert (mit Ausnahme von
String
). - Nicht primitive Typen können verwendet werden, um Methoden aufzurufen, um bestimmte Operationen auszuführen, während primitive Typen dies nicht können.
- Ein primitiver Typ hat immer einen Wert, während nicht-primitive Typen
null
. - Ein primitiver Typ beginnt mit einem Kleinbuchstaben, während nicht primitive Typen mit einem Großbuchstaben beginnen.
- Die Größe eines primitiven Typs hängt vom Datentyp ab, während nicht primitive Typen alle dieselbe Größe haben.
Beispiele für nicht primitive Typen sind Strings , Arrays , Classes, Interface usw. Sie werden in einem späteren Kapitel mehr darüber erfahren.