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, doubleundbooleanchar
  • 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, shortund . Welchen Typ Sie verwenden sollten, hängt vom Zahlenwert ab.intlong

Fließkommatypen stellen Zahlen mit einem Bruchteil dar, die eine oder mehrere Dezimalstellen enthalten. Es gibt zwei Arten: floatund 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 byteDatentyp kann ganze Zahlen von -128 bis 127 speichern. Dies kann anstelle von intoder 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 shortDatentyp kann ganze Zahlen von -32768 bis 32767 speichern:

Beispiel

short myNum = 5000;
System.out.println(myNum);

Int

Der intDatentyp kann ganze Zahlen von -2147483648 bis 2147483647 speichern. Im Allgemeinen und in unserem Tutorial ist der intDatentyp der bevorzugte Datentyp, wenn wir Variablen mit einem numerischen Wert erstellen.

Beispiel

int myNum = 100000;
System.out.println(myNum);

Lang

Der longDatentyp 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 floatDatentyp 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 doubleDatentyp 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 floatoder double?

Die Genauigkeit eines Fließkommawertes gibt an, wie viele Nachkommastellen der Wert haben darf. Die Genauigkeit von floatbeträgt nur sechs oder sieben Dezimalstellen, während doubleVariablen eine Genauigkeit von etwa 15 Stellen haben. Daher ist es doublefü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 booleanSchlüsselwort deklariert und kann nur die Werte trueoder 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 charDatentyp 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 StringDatentyp 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.


Testen Sie sich mit Übungen

Übung:

Fügen Sie den richtigen Datentyp für die folgenden Variablen hinzu:

 myNum = 9;
 myFloatNum = 8.99f;
 myLetter = 'A';
 myBool = false;
 myText = "Hello World";