Java-Datentypen und Typkonvertierung „ausführliche Erklärung“

1. Grundlegende Datentypen

Zu den grundlegenden Datentypen in Java gehören Ganzzahl, Gleitkomma, Zeichen und Boolescher Wert.

1. Integer-Typ

In Java gibt es vier Ganzzahltypen: Byte, Short, Int und Long. Ihre Wertebereiche sind wie folgt:

Art der Daten Bereiche
Byte -128 ~ 127
kurz -32768 ~ 32767
int -2147483648 ~ 2147483647
lang -9223372036854775808 ~ 9223372036854775807

Unter diesen belegt der Byte-Typ 8 Bit, der kurze Typ 16 Bit, der int-Typ 32 Bit und der lange Typ 64 Bit. Normalerweise verwenden wir den Typ int.

2. Gleitkommatyp

In Java gibt es zwei Arten von Gleitkommatypen: Float und Double. Ihre Wertebereiche sind wie folgt:

Art der Daten Bereiche
schweben 1.4E-45 ~ 3.4028235E38
doppelt 4,9E-324 ~ 1,7976931348623157E308

Unter diesen belegt der Float-Typ 32 Bit und der Double-Typ 64 Bit. Normalerweise verwenden wir den Typ double.

3. Charaktertyp

In Java gibt es nur einen Zeichentyp: char, der zum Speichern eines einzelnen Zeichens verwendet wird. Der char-Typ belegt 16 Bit und sein Wertebereich liegt zwischen 0 und 65535.

4. Boolescher Typ

In Java gibt es nur einen booleschen Typ: boolean, der zum Speichern von wahren oder falschen Werten verwendet wird. Der Typ Boolean belegt nur ein Bit.

2. Referenzdatentyp

Zu den Referenzdatentypen in Java gehören Klassen, Arrays und Schnittstellen.

1. Klasse

In Java ist eine Klasse ein Referenzdatentyp. Wir können eine Klasse mit dem Schlüsselwort class erstellen. Zum Beispiel:

public class MyClass {
    // 类的成员变量和方法
}

2. Array

In Java ist ein Array auch ein Referenzdatentyp. Mit dem Schlüsselwort new können wir ein Array erstellen. Zum Beispiel:

int[] myArray = new int[10];

Dieser Code erstellt ein ganzzahliges Array der Länge 10.

3. Schnittstelle

In Java ist eine Schnittstelle auch ein Referenzdatentyp. Mit dem Schlüsselwort interface können wir eine Schnittstelle erstellen. Zum Beispiel:

public interface MyInterface {
    // 接口的方法
}

Dieser Code erstellt eine Schnittstelle namens MyInterface.

3. Variablendeklaration und Initialisierung

In Java müssen Variablen deklariert werden, bevor sie verwendet werden können. Das Syntaxformat zum Deklarieren von Variablen lautet:

数据类型 变量名;

Deklarieren Sie beispielsweise eine Variable vom Typ int:

int num;

Nachdem eine Variable deklariert wurde, muss sie initialisiert werden, bevor sie verwendet werden kann. Das Syntaxformat zum Initialisieren von Variablen lautet:

变量名 = 值;

Um beispielsweise eine Variable vom Typ int zu initialisieren:

int num = 10;

Wenn Sie eine Variable nicht initialisieren möchten, weist Java ihr natürlich einen Standardwert zu. Die grundlegenden Datentypen in Java haben Standardwerte, wie in der folgenden Tabelle gezeigt:

Art der Daten Standardwert
Byte 0
kurz 0
int 0
lang 0L
schweben 0,0f
doppelt 0,0d
verkohlen '\u0000'
Boolescher Wert FALSCH

4. Typkonvertierung

Wenn Sie in Java einen Datentyp in einen anderen Datentyp konvertieren möchten, können Sie Typkonvertierungsoperationen verwenden. Es gibt zwei Arten von Typkonvertierungsvorgängen: implizite Typkonvertierung und explizite Typkonvertierung.

In Java werden Ganzzahlen, Realtypen (Konstanten) und Zeichentypen als einfache Datentypen betrachtet. Von Low-Level bis High-Level sind diese Typen (Byte, Short, Char)->int->long-> ;float-> ;double

Die Konvertierung zwischen einfachen Datentypen kann unterteilt werden in:

  • Automatische Typkonvertierung von Low-Level zu High-Level
  • Besetzung auf hohem bis niedrigem Niveau
  • Übergangstypen der Wrapper-Klasse können konvertiert werden

1. Implizite Typkonvertierung

Wenn Sie eine Variable vom kleinen Typ einer Variablen vom großen Typ zuweisen, führt Java automatisch eine Typkonvertierung durch. Diese Konvertierung wird als implizite Typkonvertierung bezeichnet . Zum Beispiel:

int num = 10;
double d = num;

In diesem Beispiel wird die Variable num vom Typ int der Variablen d vom Typ double zugewiesen und Java konvertiert num automatisch in den Typ double.

Ebenso kann die folgende Anweisung direkt in Java übergeben werden, aber wenn einer Float-Variablen eine Double-Variable zugewiesen wird, wird ein Fehler gemeldet, wenn die Konvertierung nicht durchgeführt wird:

byte b;
int i=b;
long l=b;
float f=b;
double d=b;

Wenn der Low-Level-Typ char ist, wird er bei der Konvertierung in den High-Level-Typ (Integer) in den entsprechenden ASCII-Codewert konvertiert, zum Beispiel:

  char c='c';
  int i=c;
  System.out.println("output:" i);//output:99

Beachten:byte、short、int三种类型(平级)都是整型,如果在操作整型数据时,最好统一使用int型。

2. Explizite Typkonvertierung

Wenn Sieeine große Typvariable einer kleinen Typvariablen zuweisen, führt Java nicht automatisch eine Typkonvertierung durch und muss die explizite Typkonvertierung verwenden. Zum Beispiel:

double d = 10.5;
int num = (int) d;

In diesem Beispiel wird die Variable d vom Typ double der Variablen num vom Typ int zugewiesen. Es ist notwendig, den erzwungenen Typkonvertierungsoperator

Es ist vorhersehbar, dass diese Konvertierung zu einem Überlauf oder Genauigkeitsverlust führen kann.

3. Konvertierung des Übergangstyps der Verpackungsklasse

In Java sind einige Datentypen grundlegende Datentypen wie int, double usw., während andere Datentypen Objekttypen wie Integer, Double usw. sind. Diese Objekttypen werden Wrapper-Klassen genannt und sollen grundlegenden Datentypen die Eigenschaften von Objekten verleihen. Bei der eigentlichen Programmierung müssen wir häufig grundlegende Datentypen in Wrapper-Klassen oder Wrapper-Klassen in grundlegende Datentypen konvertieren.

  • Wrapper-Klassen können Basisdatentypen in Objekttypen umwandeln, sodass Basisdatentypen als Objekte verarbeitet werden können.
  • Die Wrapper-Klasse stellt einige Methoden wie toString(), valueOf() usw. bereit, um einfache Operationen mit grundlegenden Datentypen durchzuführen.
  • Wrapper-Klassen können als generische Parameter verwendet werden, sodass Generika grundlegende Datentypen verarbeiten können.

In Java verfügt jeder Basisdatentyp über eine entsprechende Wrapper-Klasse, wie in der folgenden Tabelle gezeigt:

Grundlegende Datentypen Verpackung
Boolescher Wert Boolescher Wert
Byte Byte
verkohlen Charakter
kurz Kurz
int Ganze Zahl
lang Lang
schweben Schweben
doppelt Doppelt

3.1 Konvertierung grundlegender Datentypen und Verpackungsklassen

1⃣️Konvertieren Sie grundlegende Datentypen in Verpackungsklassen

In Java können Sie einen Basisdatentyp mithilfe der valueOf()-Methode der Wrapper-Klasse in eine Wrapper-Klasse konvertieren. Zum Beispiel:

int num = 10;
Integer i = Integer.valueOf(num);

In diesem Beispiel wird die Variable num vom Typ int in ein Objekt i vom Typ Integer konvertiert.

2⃣️Konvertieren Sie Verpackungsklassen in grundlegende Datentypen

In Java können Sie eine Wrapper-Klasse mithilfe ihrer xxxValue()-Methode in einen Basisdatentyp konvertieren. Zum Beispiel:

Integer i = 10;
int num = i.intValue();

In diesem Beispiel wird das Objekt i vom Typ Integer in die Variable num vom Typ int umgewandelt.

5. Typinferenz

Java 10 führte die Typinferenzfunktion ein, die über das Schlüsselwort var auf den Typ einer Variablen schließen kann. Zum Beispiel:

var str = "hello";

In diesem Beispiel schließt Java anhand des Typs „hello“, dass die str-Variable vom Typ String ist.

6. Zusammenfassung

Variablen müssen in Java deklariert werden, bevor sie verwendet werden können. Der Typ einer Variablen bestimmt die Art der Daten, die sie speichern kann. Variablen müssen initialisiert werden, bevor sie verwendet werden können. Typkonvertierungsoperatoren können einen Datentyp in einen anderen Datentyp konvertieren. Die Typkonvertierung ist in implizite Typkonvertierung und explizite Typkonvertierung unterteilt. Mit Java 10 wurde die Typinferenz eingeführt, mit der Sie mithilfe des Schlüsselworts var auf den Typ einer Variablen schließen können.

Das Obige stellt nur einige meiner persönlichen Zusammenfassungen dar. Ich hoffe, Sie können mich im Kommentarbereich korrigieren, wenn ich irgendwelche Mängel habe.

Guess you like

Origin blog.csdn.net/weixin_56433857/article/details/129900580