Einführung in Java Primitives

Einführung in Java Primitives

1. Überblick

Die Java-Programmiersprache bietet acht primitive Datentypen.

In diesem Artikel werden wir uns daran erinnern, was Grundelemente sind, und sie durchgehen.

2. Primitive Datentypen

Die acht in Java definierten Grundelemente sindint,byte,short,long,float,double,boolean und char – sind keine Objekte und repräsentieren Rohwerte.

They’re stored directly on the stack (Weitere Informationen zur Speicherverwaltung in Java finden Sie unterthis article.)

Schauen wir uns die Speichergröße, die Standardwerte und Beispiele für die Verwendung der einzelnen Typen an.

Beginnen wir mit einer Kurzreferenz:

Type Größe (Bits) Minimum Maximal Beispiel

byte

8

-27

27– 1

Byte b = 100;

kurz

16

-215

215– 1

kurz s = 30_000;

int

32

-231

231– 1

int i = 100_000_000;

long

64

-263

263– 1

lang l = 100_000_000_000_000;

schweben

32

-2-149

(2-2-23) · 2127

float f = 1,456f;

doppelt

64

-2-1074

(2-2-52) · 21023

doppeltes f = 1,456789012345678;

char

16

0

216– 1

char c = 'c';

Boolescher Wert

1

Boolescher Wert b = wahr;

2.1. int

Der erste primitive Datentyp, den wir behandeln werden, istint. Der Typintwird auch als Ganzzahl bezeichnet und enthält einen weiten Bereich von nicht gebrochenen Zahlenwerten.

InsbesondereJava stores it using 32 bits of memory. Mit anderen Worten kann es Werte von -2.147.483.648 (-231) bis 2.147.483.647 (231-1) darstellen.

In Java 8 ist es möglich, einen vorzeichenlosen ganzzahligen Wert bis zu 4.294.967.295 (232-1) mithilfe neuer spezieller Hilfsfunktionen zu speichern.

Wir können einfach einint deklarieren:

int x = 424_242;

int y;

Der Standardwert vonint, der ohne Zuweisung deklariert wurde, ist 0.

Wenn die Variable in einer Methode definiert ist, müssen wir einen Wert zuweisen, bevor wir ihn verwenden können.

Wir können alle Standard-Arithmetikoperationen mitints ausführen. Beachten Sie jedoch, dassdecimal values will be chopped off ist, wenn Sie diese für Ganzzahlen ausführen.

2.2. byte

byte ist ein primitiver Datentyp ähnlich wieint, mit Ausnahme vonit only takes up 8 bits of memory. Deshalb nennen wir es ein Byte. Da die Speichergröße so klein ist, kannbyte nur die Werte von -128 (-27) bis 127 (27 - 1) enthalten.

Wir könnenbyte erstellen:

byte b = 100;

byte empty;

Der Standardwert vonbyte ist ebenfalls 0.

2.3. short

Der nächste Stopp auf unserer Liste der primitiven Datentypen in Java istshort.

Wenn wir Speicher sparen möchten undbyte zu klein ist, können wir den Typ auf halbem Weg zwischen den beiden verwenden:short.

Bei 16 Bit Speicher ist es halb so groß wieint und doppelt so groß wiebyte. Der Bereich möglicher Werte liegt zwischen -32.768 (-215) und 32.767 (215 - 1).

short wird wie folgt deklariert:

short s = 202_020;

short s;

Ähnlich wie bei den anderen Typen ist der Standardwert 0. Wir können auch alle Standardarithmetik verwenden.

2.4. long

Unser letzter primitiver Datentyp, der sich auf ganze Zahlen bezieht, istlong.

long ist der große Bruder vonint. It’s stored in 64 bits of memory, damit es einen wesentlich größeren Satz möglicher Werte enthalten kann.

Die möglichen Werte eines Longs liegen zwischen -9.223.372.036.854.775.808 (-263) und 9.223.372.036.854.775.807 (263 - 1).

Wir können einfach eins deklarieren:

long l = 1_234_567_890;

long l;

Wie bei anderen Integer-Typen ist auch der Standardwert 0. Wir können alle Arithmetik fürlong verwenden, die fürint funktioniert.

2.5. float

Wir repräsentieren grundlegende Bruchzahlen in Java mit dem Typfloat. Dies ist eine Dezimalzahl mit einfacher Genauigkeit. Das heißt, wenn wir über sechs Dezimalstellen hinausgehen, wird diese Zahl ungenauer und eher ein Schätzwert.

In den meisten Fällen ist uns der Präzisionsverlust egal. Wenn unsere Berechnung jedoch absolute Präzision erfordert (d. H. Finanzielle Operationen, Landung auf dem Mond usw.), müssen wir bestimmte Typen verwenden, die für diese Arbeit entwickelt wurden. Weitere Informationen finden Sie in der Java-KlasseBig Decimal.

This type is stored in 32 bits of memory just like int. Aufgrund des gleitenden Dezimalpunkts ist sein Bereich jedoch sehr unterschiedlich. Es kann sowohl positive als auch negative Zahlen darstellen. Die kleinste Dezimalstelle ist 1,40239846 x 10-45 und der größte Wert ist 3,40282347 x 1038.

Wir deklarierenfloats als den gleichen wie jeden anderen Typ:

float f = 3.145f;

float f;

And the default value is 0.0 instead of 0. Beachten Sie auch, dass wir die Bezeichnungfam Ende der Literalzahl hinzufügen, um einen Float zu definieren. Andernfalls gibt Java einen Fehler aus, da der Standardtyp eines Dezimalwertsdouble ist.

Wir können auch alle Standardarithmetikoperationen fürfloats ausführen. Es ist jedoch wichtig zu beachten, dass wir Gleitkomma-Arithmetik ganz anders ausführen als Ganzzahl-Arithmetik.

2.6. double

Als nächstes betrachten wirdouble - sein Name kommt von der Tatsache, dass es sich um eine Dezimalzahl mit doppelter Genauigkeit handelt.

It’s stored in 64 bits of memory. Dies bedeutet, dass es einen viel größeren Bereich möglicher Zahlen darstellt alsfloat.

Es leidet jedoch unter der gleichen Genauigkeitsbeschränkung wiefloat. Der Bereich liegt zwischen 4,9406564584124654 x 10-324 und 1,7976931348623157 x 10308. Dieser Bereich kann auch positiv oder negativ sein.

Das Deklarieren vondouble ist dasselbe wie bei anderen numerischen Typen:

double d = 3.13457599923384753929348D;

double d;

The default value is also 0.0 as it is withfloat. Ähnlich wie beifloat, fügen wir den BuchstabenD hinzu, um das Literal als Doppel zu bezeichnen.

2.7. boolean

Der einfachste primitive Datentyp istboolean. Es kann nur zwei Werte enthalten:true oderfalse. It stores its value in a single bit.

Der Einfachheit halber füllt Java den Wert auf und speichert ihn in einem einzelnen Byte.

Deklarieren Siebooleanwie folgt:

boolean b = true;

boolean b;

Wenn Sie es ohne Wert deklarieren, wird standardmäßigfalse verwendet. boolean ist der Eckpfeiler für die Steuerung unseres Programmflusses. Wir können boolesche Operatoren für sie verwenden (d. H.and, or, usw.).

2.8. char

Der endgültige zu betrachtende primitive Datentyp istchar.

char wird auch als Zeichen bezeichnet und ist eine 16-Bit-Ganzzahl, die ein Unicode-codiertes Zeichen darstellt. Der Bereich reicht von 0 bis 65.535. Was in Unicode‘' bis‘￿' darstellt.

Eine Liste aller möglichen Unicode-Werte finden Sie auf Websites wieUnicode Table.

Deklarieren wir jetzt einchar:

char c = 'a';

char c = 65;

char c;

Bei der Definition unserer Variablen können wir ein beliebiges Zeichenliteral verwenden. Diese werden dann automatisch in ihre Unicode-Codierung für uns umgewandelt. Der Standardwert eines Zeichens ist‘/u0000'.

2.9. Überlauf

Die primitiven Datentypen haben Größenbeschränkungen. Aber was passiert, wenn wir versuchen, einen Wert zu speichern, der größer als der Maximalwert ist?

Wir stoßen auf eine Situation namensoverflow.

Wenn eine Ganzzahl überläuft, wird ein Rollover auf den Mindestwert ausgeführt und von dort aus hochgezählt.

Gleitkommazahlüberlauf durch Rückgabe von Infinity. Wenn sie unterlaufen, geben sie 0.0 zurück.

Hier ist ein Beispiel:

int i = Integer.MAX_VALUE;
int j = i + 1;
// j will roll over to -2_147_483_648

double d = Double.MAX_VALUE;
double o = d + 1;
// o will be Infinity

Underflow ist das gleiche Problem, außer wenn wir einen Wert speichern, der kleiner als der Mindestwert ist.

2.10. Autoboxing

Jeder primitive Datentyp verfügt auch über eine vollständige Java-Klassenimplementierung, die ihn umschließen kann. Beispielsweise kann die KlasseIntegerint umschließen. Manchmal besteht die Notwendigkeit, vom primitiven Typ in seinen Objekt-Wrapper zu konvertieren (z. B. sie mitgenerics zu verwenden).

Zum Glück kann Java diese Konvertierung für uns automatisch durchführen. Wir nennen diesen ProzessAutoboxing. Hier ist ein Beispiel:

Character c = 'c';

Integer i = 1;

3. Fazit

In diesem Tutorial haben wir die acht in Java unterstützten primitiven Datentypen behandelt.

Dies sind die Bausteine, die von den meisten, nicht allen Java-Programmen verwendet werden. Es lohnt sich also zu verstehen, wie sie funktionieren.