Einführung in Java Primitives

Übersicht

Die Programmiersprache Java verfügt über acht primitive Datentypen.

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

Primitive Datentypen

Die acht in Java definierten Primitiven sind int, byte, short, long, float, double , boolean und char – diese werden nicht als Objekte betrachtet und stellen Rohwerte dar.

Sie werden direkt auf dem Stack gespeichert (weitere Informationen zur Speicherverwaltung in Java finden Sie in diesem Artikel).

Werfen wir einen Blick auf Speichergröße, Standardwerte und Beispiele für die Verwendung der einzelnen Typen.

Beginnen wir mit einer kurzen Referenz:

Type Size (bits) Minimum Maximum Example
byte 8 -27 27– 1 byte b = 100;
short 16 -215 215– 1 short s = 30_000;
int 32 -231 231– 1 int i = 100_000_000;
long 64 -263 263– 1 long l = 100_000_000_000_000;
float 32 -2-149 (2-2-23)·2127 float f = 1.456f;
double 64 -2-1074 (2-2-52)·21023 double f = 1.456789012345678;
char 16 0 216– 1 char c = ‘c‘;
boolescher Wert 1 boolescher Wert b = true;

2.1. int

Der erste primitive Datentyp, den wir behandeln werden, ist int . Der int-Typ, auch als Integer bezeichnet, enthält eine Vielzahl von Werten ohne Bruchzahlen.

Insbesondere speichert Java es mit 32 Bit Speicher. Mit anderen Worten, es kann Werte von -2.147.483.648 (-231) bis 2.147.483.647 (231-1) darstellen.

In Java 8 ist es möglich, einen ganzzahligen Wert ohne Vorzeichen bis zu 4.294.967.295 (232-1) zu speichern, indem neue spezielle Hilfsfunktionen verwendet werden.

Wir können ein int einfach deklarieren:

int x = 424_242;int y;

Der Standardwert eines ohne Zuweisung deklarierten int ist 0.

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

Wir können alle Standard-arithmetischen Operationen auf ints ausführen. Beachten Sie nur, dass Dezimalwerte abgeschnitten werden, wenn Sie diese für Ganzzahlen ausführen.

2.2. byte

byte ist ein primitiver Datentyp, der int ähnelt, außer dass er nur 8 Bits Speicher belegt. Deshalb nennen wir es ein Byte. Da die Speichergröße so klein ist, kann Byte nur die Werte von -128 (-27) bis 127 (27 – 1) enthalten.

Wir können Byte erstellen:

byte b = 100;byte empty;

Der Standardwert von byte ist ebenfalls 0.

2.3. kurz

Die nächste Station auf unserer Liste der primitiven Datentypen in Java ist kurz.

Wenn wir Speicher sparen wollen und das Byte 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ß wie int und doppelt so groß wie byte . Der mögliche Wertebereich 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 Ganzzahlen bezieht, ist long .

long ist der große Bruder von int. Es ist in 64 Bit Speicher gespeichert, so dass es einen deutlich größeren Satz möglicher Werte enthalten kann.

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

Wir können einfach einen deklarieren:

long l = 1_234_567_890;long l;

Wie bei anderen Integer-Typen ist auch der Standardwert 0. Wir können alle Arithmetik auf long verwenden, die auf int funktioniert.

2.5. float

Wir stellen grundlegende Bruchzahlen in Java mit dem Float-Typ dar. Dies ist eine Dezimalzahl mit einfacher Genauigkeit. Das heißt, wenn wir über sechs Dezimalstellen hinauskommen, wird diese Zahl weniger präzise und eher eine Schätzung.

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

Dieser Typ wird wie int in 32 Bit Speicher gespeichert. Aufgrund des Gleitkommawerts ist sein Bereich jedoch sehr unterschiedlich. Es kann sowohl positive als auch negative Zahlen darstellen. Die kleinste Dezimalzahl ist 1,40239846 x 10-45 und der größte Wert ist 3,40282347 x 1038.

Wir deklarieren Floats wie jeden anderen Typ:

float f = 3.145f;float f;

Und der Standardwert ist 0.0 anstelle von 0. Beachten Sie auch, dass wir die f-Bezeichnung am Ende der Literalzahl hinzufügen, um einen Float zu definieren. Andernfalls gibt Java einen Fehler aus, da der Standardtyp eines Dezimalwerts double .

Wir können auch alle arithmetischen Standardoperationen für Gleitkommazahlen ausführen. Es ist jedoch wichtig zu beachten, dass wir Gleitkomma-Arithmetik ganz anders ausführen als ganzzahlige Arithmetik.

2.6. double

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

Es ist in 64 Bit Speicher gespeichert. Dies bedeutet, dass es einen viel größeren Bereich möglicher Zahlen darstellt als float .

Obwohl es unter der gleichen Präzisionsbeschränkung leidet wie float . Der Bereich reicht von 4,9406564584124654 x 10-324 bis 1,7976931348623157 x 10308. Dieser Bereich kann auch positiv oder negativ sein.

Die Deklaration von double ist die gleiche wie bei anderen numerischen Typen:

double d = 3.13457599923384753929348D;double d;

Der Standardwert ist ebenfalls 0.0 wie bei float. Ähnlich wie float fügen wir den Buchstaben D hinzu, um das Literal als double zu bezeichnen.

2.7. boolean

Der einfachste primitive Datentyp ist boolean. Es kann nur zwei Werte enthalten: true oder false. Es speichert seinen Wert in einem einzigen Bit.

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

Deklarieren Sie boolean wie folgt:

boolean b = true;boolean b;

Wenn Sie es ohne Wert deklarieren, ist der Standardwert false . boolean ist der Eckpfeiler der Steuerung unseres Programmflusses. Wir können boolesche Operatoren für sie verwenden (dh and, or usw.).

2.8. char

Der letzte zu betrachtende primitive Datentyp ist char.

char wird auch als Zeichen bezeichnet und ist eine 16-Bit-Ganzzahl, die ein Unicode-codiertes Zeichen darstellt. Sein Bereich liegt zwischen 0 und 65.535. Was in Unicode ‘\u0000′ bis ‘\uffff‘ darstellt.

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

Lassen Sie uns nun ein Zeichen deklarieren:

char c = 'a';char c = 65;char c;

Bei der Definition unserer Variablen können wir jedes Zeichenliteral verwenden, und sie werden automatisch für uns in ihre Unicode-Codierung umgewandelt. Ein Zeichen Standardwert ist ‘/ u0000′.

2.9. Overflow

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 namens Overflow.

Wenn eine ganze Zahl überläuft, rollt sie auf den Minimalwert und beginnt von dort aus zu zählen.

Gleitkommazahlüberlauf durch Rückgabe von Unendlich. 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_648double 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 hat auch eine vollständige Java-Klassenimplementierung, die ihn umschließen kann. Zum Beispiel kann die Integer-Klasse ein int . Manchmal muss vom primitiven Typ in den Objekt-Wrapper konvertiert werden (z. B. mit Generika).

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

Character c = 'c';Integer i = 1;

Fazit

In diesem Tutorial haben wir die acht primitiven Datentypen behandelt, die in Java unterstützt werden.

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

Beginnen Sie mit Spring 5 und Spring Boot 2 über den Learn Spring-Kurs:

>> SCHAUEN SIE SICH DEN KURS an

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.