Variablen dienen als Speicher zum Speichern von Werten. Mit anderen Worten: Wenn Sie eine Variable erstellen, müssen Sie Speicherplatz im Speicher beantragen.
Das Speicherverwaltungssystem weist Variablen entsprechend ihrem Typ Speicherplatz zu, und der zugewiesene Speicherplatz kann nur zum Speichern von Daten dieses Typs verwendet werden.
Daher können durch die Definition von Variablen unterschiedlichen Typs Ganzzahlen, Dezimalzahlen oder Zeichen im Speicher gespeichert werden.
Die beiden wichtigsten Datentypen von Java:
Integrierte Datentypen
Referenzdatentyp
Die Java-Sprache bietet acht Grundtypen. Sechs numerische Typen (vier Ganzzahlen, zwei Gleitkommatypen), ein Zeichentyp und ein boolescher Typ.
Bytetyp:
Der Byte-Datentyp ist eine 8-Bit-Ganzzahl mit Vorzeichen, die im Zweierkomplement dargestellt wird.
Der Mindestwert ist -128 (-2^7);
Der Maximalwert beträgt 127 (2^7-1);
Der Standardwert ist 0;
Der Byte-Typ wird verwendet, um in großen Arrays Platz zu sparen, und ersetzt hauptsächlich Ganzzahlen, da die Byte-Variable nur ein Viertel des Platzes des Int-Typs einnimmt.
Beispiel: Byte a = 100, Byte b = -50.
kurzer Typ (kurzer Integer-Typ):
Der kurze Datentyp ist eine 16-Bit-Zweierkomplement-Ganzzahl mit Vorzeichen.
Der Mindestwert ist -32768 (-2^15);
Der Maximalwert beträgt 32767 (2^15 - 1);
Der kurze Datentyp kann auch Speicherplatz wie Bytes sparen. Eine kurze Variable ist halb so groß wie eine Variable vom Typ int;
Der Standardwert ist 0;
Beispiel: kurzes s = 1000, kurzes r = -20000.
int-Typ (Ganzzahltyp):
Der int-Datentyp ist eine 32-Bit-Ganzzahl mit Vorzeichen, die im Zweierkomplement dargestellt wird.
Der Mindestwert beträgt -2.147.483.648 (-2^31);
Der Maximalwert beträgt 2.147.483.647 (2^31 - 1);
Im Allgemeinen haben Integer-Variablen standardmäßig den Typ int;
Der Standardwert ist 0;
Beispiel: int a = 100000, int b = -200000.
long (langer Ganzzahltyp):
Der lange Datentyp ist eine 64-Bit-Ganzzahl mit Vorzeichen, die im Zweierkomplement dargestellt wird.
Der Mindestwert beträgt -9.223.372.036.854.775.808 (-2^63);
Der Maximalwert beträgt 9.223.372.036.854.775.807 (2^63 -1);
Dieser Typ wird hauptsächlich auf Systemen verwendet, die große ganze Zahlen vergleichen müssen;
Der Standardwert ist 0L;
Beispiel: long a = 100000L, long b = -200000L.
float (Gleitkommatyp mit einfacher Genauigkeit):
Der Float-Datentyp ist eine 32-Bit-Gleitkommazahl mit einfacher Genauigkeit, die dem IEEE 754-Standard entspricht.
float kann beim Speichern großer Gleitkomma-Arrays Speicherplatz sparen;
Der Standardwert ist 0,0f;
Gleitkommazahlen können nicht zur Darstellung präziser Werte wie Währungen verwendet werden;
Beispiel: Float f1 = 234,5f.
double (Gleitkommatyp mit doppelter Genauigkeit):
Der Double-Datentyp ist eine IEEE 754-konforme 64-Bit-Gleitkommazahl mit doppelter Genauigkeit.
Der Standardtyp von Gleitkommazahlen ist double;
Der Double-Typ kann auch keine genauen Werte wie Währungen darstellen;
Der Standardwert ist 0,0d;
Beispiel: doppelt d1 = 123,4.
Boolescher Wert:
Der boolesche Datentyp stellt ein Informationsbit dar;
Es gibt nur zwei Werte: wahr und falsch;
Dieser Typ wird nur als Flag zum Aufzeichnen von Wahr/Falsch-Situationen verwendet;
Der Standardwert ist false;
Beispiel: boolean one = true.
char (Zeichentyp):
Der char-Typ ist ein einzelnes 16-Bit-Unicode-Zeichen;
Der Mindestwert ist „u0000“ (also 0);
Der Maximalwert ist 'uffff' (d. h. 65.535);
Der Datentyp char kann jedes Zeichen speichern;
Beispiel: Zeichenbuchstabe = 'A'.
Für den Wertebereich der Grundtypen numerischer Typen müssen wir uns nicht merken, da deren Werte in der entsprechenden Wrapper-Klasse in Form von Konstanten definiert wurden. Bitte sehen Sie sich das folgende Beispiel an:
öffentliche Klasse PrimitiveTypeTest {
public static void main(String[] args) {
// Byte
System.out.println("Grundtyp: Byte Binärziffern: " + Byte.SIZE);
System.out.println("Verpackungsklasse: java.lang.Byte");
System.out.println("Minimalwert: Byte.MIN_VALUE=" + Byte.MIN_VALUE);
System.out.println("Maximalwert: Byte.MAX_VALUE=" + Byte.MAX_VALUE);
System.out.println();
// kurz
System.out.println("Grundtyp: kurze Binärziffern: " + Short.SIZE);
System.out.println("Verpackungsklasse: java.lang.Short");
System.out.println("Minimalwert: Short.MIN_VALUE=" + Short.MIN_VALUE);
System.out.println("Maximalwert: Short.MAX_VALUE=" + Short.MAX_VALUE);
System.out.println();
// int
System.out.println("Basistyp: int Binärziffern: " + Integer.SIZE);
System.out.println("Verpackungsklasse: java.lang.Integer");
System.out.println("Minimalwert: Integer.MIN_VALUE=" + Integer.MIN_VALUE);
System.out.println("Maximalwert: Integer.MAX_VALUE=" + Integer.MAX_VALUE);
System.out.println();
// lang
System.out.println("Basistyp: long Anzahl der Binärziffern: " + Long.SIZE);
System.out.println("Verpackungsklasse: java.lang.Long");
System.out.println("Minimalwert: Long.MIN_VALUE=" + Long.MIN_VALUE);
System.out.println("Maximalwert: Long.MAX_VALUE=" + Long.MAX_VALUE);
System.out.println();
// schweben
System.out.println("Grundtyp: float Anzahl der Binärziffern: " + Float.SIZE);
System.out.println("Verpackungsklasse: java.lang.Float");
System.out.println("Minimalwert: Float.MIN_VALUE=" + Float.MIN_VALUE);
System.out.println("Maximalwert: Float.MAX_VALUE=" + Float.MAX_VALUE);
System.out.println();
//doppelt
System.out.println("Grundtyp: double Binärziffern: " + Double.SIZE);
System.out.println("Verpackungsklasse: java.lang.Double");
System.out.println("Minimalwert: Double.MIN_VALUE=" + Double.MIN_VALUE);
System.out.println("Maximalwert: Double.MAX_VALUE=" + Double.MAX_VALUE);
System.out.println();
// char
System.out.println("Grundtyp: char Binärziffern: " + Character.SIZE);
System.out.println("Verpackungsklasse: java.lang.Character");
// Character.MIN_VALUE in numerischer Form statt in Zeichenform an die Konsole ausgeben System.out.println("Minimalwert: Character.MIN_VALUE="
+ (int) Character.MIN_VALUE);
// Character.MAX_VALUE in numerischer Form statt in Zeichenform an die Konsole ausgeben System.out.println("Maximalwert: Character.MAX_VALUE="
+ (int) Character.MAX_VALUE);
}
}
Das Ergebnis der Kompilierung des obigen Codes ist wie folgt:
Grundtyp: Byte Binärziffern: 8
Wrapping-Klasse: java.lang.Byte
Mindestwert: Byte.MIN_VALUE=-128
Maximalwert: Byte.MAX_VALUE=127
Grundtyp: kurz Binärziffern: 16
Wrapping-Klasse: java.lang.Short
Mindestwert: Short.MIN_VALUE=-32768
Maximalwert: Short.MAX_VALUE=32767
Grundtyp: int Binärziffern: 32
Wrapping-Klasse: java.lang.Integer
Mindestwert: Integer.MIN_VALUE=-2147483648
Maximalwert: Integer.MAX_VALUE=2147483647
Grundtyp: long Anzahl der Binärstellen: 64
Wrapping-Klasse: java.lang.Long
Mindestwert: Long.MIN_VALUE=-9223372036854775808
Maximalwert: Long.MAX_VALUE=9223372036854775807
Grundtyp: Float Anzahl der Binärstellen: 32
Wrapping-Klasse: java.lang.Float
Mindestwert: Float.MIN_VALUE=1.4E-45
Maximalwert: Float.MAX_VALUE=3.4028235E38
Grundtyp: doppelt Binärziffern: 64
Wrapping-Klasse: java.lang.Double
Mindestwert: Double.MIN_VALUE=4.9E-324
Maximalwert: Double.MAX_VALUE=1.7976931348623157E308
Grundtyp: char Binärziffern: 16
Wrapping-Klasse: java.lang.Character
Mindestwert: Character.MIN_VALUE=0
Maximalwert: Character.MAX_VALUE=65535
Die Minimal- und Maximalwerte von Float und Double werden in wissenschaftlicher Notation ausgegeben. „E+Zahl“ am Ende bedeutet, dass die Zahl vor E mit der „Zahl“-Potenz von 10 multipliziert werden soll. Beispielsweise ist 3,14E3 3,14×1000=3140 und 3,14E-3 ist 3,14/1000=0,00314.
Tatsächlich gibt es in JAVA einen weiteren Grundtyp void, der auch über eine entsprechende Verpackungsklasse java.lang.Void verfügt, die wir jedoch nicht direkt bearbeiten können.
Referenztypvariablen werden vom Konstruktor einer Klasse erstellt und Sie können sie verwenden, um auf das referenzierte Objekt zuzugreifen. Diese Variablen werden bei der Deklaration als spezifischer Typ angegeben, z. B. „Employee“, „Pubby“ usw. Sobald eine Variable deklariert ist, kann ihr Typ nicht mehr geändert werden.
Objekte und Arrays sind Referenzdatentypen.
Der Standardwert für alle Referenztypen ist null.
Eine Referenzvariable kann verwendet werden, um auf jeden kompatiblen Typ zu verweisen.
Beispiel: Tier animal = neues Tier("Giraffe").
Eine Konstante ist ein fester Wert. Sie bedürfen keiner Berechnung und stellen direkt die entsprechenden Werte dar.
Eine Konstante bezieht sich auf eine Größe, die nicht geändert werden kann. Das letzte Flag wird in Java verwendet und die Deklarationsmethode ähnelt der von Variablen:
endgültiger Doppel-PI = 3,1415927;
Obwohl Konstantennamen auch aus Kleinbuchstaben bestehen können, werden zur leichteren Identifizierung üblicherweise Großbuchstaben zur Darstellung von Konstanten verwendet.
Literale können Variablen jedes integrierten Typs zugewiesen werden. Zum Beispiel:
Byte a = 68;
char a = 'A'
Byte, int, long und short können alle in dezimaler, hexadezimaler und oktaler Schreibweise dargestellt werden.
Bei der Verwendung von Konstanten bedeutet das Präfix 0 oktal und das Präfix 0x hexadezimal. Zum Beispiel:
int dezimal = 100;
int oktal = 0144;
int hexa = 0x64;
Wie in anderen Sprachen sind die Zeichenfolgenkonstanten von Java Zeichenfolgen, die in zwei Anführungszeichen eingeschlossen sind. Das Folgende ist ein Beispiel für ein String-Literal:
„Hallo Welt“
„zweinZeilen“
„“Dies steht in Anführungszeichen““
Sowohl Zeichenfolgenkonstanten als auch Zeichenkonstanten können jedes Unicode-Zeichen enthalten. Zum Beispiel:
char a = 'u0001';
String a = "u0001";
Die Java-Sprache unterstützt einige spezielle Escape-Zeichenfolgen.
Symbol | Zeichenbedeutung |
---|---|
N | Zeilenvorschub (0x0a) |
R | Geben Sie (0x0d) ein |
F | Formularvorschubzeichen (0x0c) |
B | Rücktaste (0x08) |
Nullzeichen (0x0) | |
S | Zeichenfolge |
T | Tabulatorzeichen |
" | doppelte Anführungszeichen |
' | einfaches Anführungszeichen |
\ | Backslash |
ddd | Oktalzeichen (ddd) |
uxxxx | Hexadezimale Unicode-Zeichen (xxxx) |
In diesem Abschnitt werden die grundlegenden Datentypen von Java erläutert. Im nächsten Abschnitt werden die verschiedenen Variablentypen und ihre Verwendung untersucht.