Heim  >  Artikel  >  Java  >  Detaillierte Einführung in Java-Datentypen und Parameterübergabe

Detaillierte Einführung in Java-Datentypen und Parameterübergabe

零下一度
零下一度Original
2017-07-23 17:42:191356Durchsuche

Die von Java bereitgestellten Datentypen sind hauptsächlich in zwei Kategorien unterteilt: Basisdatentypen und Referenzdatentypen.

Java中的基本数据类型
名称 大小  取值范围
byte型 (字节) 8bit -128-127  (-2^7到2^7-1)

short型 (短整型)

16bit -2^15到2^15-1
int型 (整形) 32bit -2^31到2^31-1
long型 (长整型) 64bit -2^63到2^63-1
float型 (单精度浮点型) 32bit  
double型 (双精度浮点型) 64bit  
char型 (字符型) 16bit  
boolean型 (布尔型) true和false 只有两种结果,要么为“真”要么为“假”
Java Grundlegende Datentypen in
Name Size Wertebereich
Bytetyp (Byte) 8bit -128-127 (-2^7 bis 2^7-1)
Kurz Typ (kurzer Ganzzahltyp) 16bit -2^15 bis 2^15-1
int type (integer) 32bit -2 ^31 bis 2^31-1
langer Typ (lange Ganzzahl) 64bit -2^63 bis 2^63-1
Float-Typ (Gleitkommatyp mit einfacher Genauigkeit) 32bit
double type ( Gleitkommatyp mit doppelter Genauigkeit) 64bit
char-Typ (Zeichentyp) 16bit
Boolescher Typ (Boolescher Typ) wahr und falsch Es gibt nur zwei Ergebnisse: Entweder „wahr“. " oder „false“

Referenzdatentypen in Java:

Java ist eine objektorientierte Sprache, und alle Klassen in Java sind es Die verwendeten Schnittstellen- und abstrakten Klassendefinitionen sind alle Java-Referenzdatentypen.

So verstehen Sie die grundlegenden Datentypen und Referenzdatentypen in Java:

1. Die grundlegenden Datentypen von Java werden von der Java-Sprache bereitgestellt selbst Der Datentyp muss nicht vom Benutzer definiert werden.

2. Der Referenzdatentyp in Java wird vom Benutzer definiert und die Definition des Referenzdatentyps erfordert die Verwendung grundlegender Datentypen ;

3. In Bezug auf die Speicherbeziehung:

Javas Speicher ist in zwei große Blöcke unterteilt: Stapelspeicher und Heap-Speicher

Der Stapelspeicher ist für die Speicherung der grundlegenden Datentypvariablen und Objektreferenzvariablen in der Methode verantwortlich

Der Heap-Speicher ist dafür verantwortlich, die durch das neue Schlüsselwort generierten Daten zu speichern, dh die Attribute und Methoden in der Klasse nach dem neuen Schlüsselwort.

Grundlegende Datentypen in Java werden im Stapelspeicher gespeichert, während die Typnamen von Referenzdatentypen im Stapelspeicher gespeichert werden, der Inhalt von Referenzdatentypen jedoch in Heap-Speicher Mitte. Die beiden sind über Adressen verbunden, um einen gegenseitigen Zugriff zu erreichen.

4. Wenn Daten von einem kleinen Bereich in einen großen Bereich konvertiert werden, hilft uns die JVM automatisch bei der Typimplementierung Konvertierung. Beispiel: int i=10; long l=i; Ähnlich wie bei dieser Datenkonvertierung kann uns die virtuelle Maschine von Java automatisch dabei helfen, diese Arbeit abzuschließen. Wenn Daten jedoch von einem großen Bereich in einen kleinen Bereich konvertiert werden, muss die erzwungene Typkonvertierung manuell hinzugefügt werden. Wenn während des Konvertierungsprozesses ein Datenüberlauf auftritt, wird dieser entsprechend dem Wertebereich eines kleinen Bereichs von Datentypen geändert. Wenn beispielsweise die Ganzzahl -129 dem Byte zugewiesen ist, ist der Ausgabebytewert 127; wenn die Ganzzahl 128 ist dem Typ Byte zugewiesen ist, sollte die Ausgabe -128 sein.

Parameterübergabe in Java:

Grundlegende Datentypen:

public void test1(){
        int i=10;
        long l;
        l=i;
        System.out.println(i);//输出值10
        System.out.println(l);//输出值10
        l=i+1;
        System.out.println(i);//输出值10
        System.out.println(l);//输出值11
    }

Da der grundlegende Datentyp darin besteht, dass der Variablenname zusammen mit dem Variablenwert im Stapelspeicher gespeichert wird, i und l sind Die beiden Variablen sind unabhängig voneinander und die Zuweisungsoperation zu l hat keinen Einfluss auf den Wert von i.

Referenzdatentyp:

public class Book {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}
public class Test {
    public static void main(String[] args) {
        Book book1=new Book();
        book1.setName("《百年孤独》");
        Book book2=new Book();
        book2.setName("《围城》");
        System.out.println("book1:"+book1.getName());//输出:book1:《百年孤独》
        System.out.println("book2:"+book2.getName());//输出:book2:《围城》
        book1=book2;
        book1.setName("《活着》");
        System.out.println("book1:"+book1.getName());//输出:book1:《活着》
        System.out.println("book2:"+book2.getName());//book2:《活着》

    }
}

Zum ersten Mal gibt es zwei neue Objekte: book1 und book2. Ihre Buchtitel lauten „One Hundred Years of Solitude“ bzw. „Fortress Besieged“. Dann zeigt Buch1 durch Zuweisung auch auf denselben Speicherbereich wie Buch2. Zu diesem Zeitpunkt wirkt sich die Operation auf Buch1 oder Buch2 auf denselben Speicherbereich aus. Aus diesem Grund ist die nachfolgende Ausgabe dieselbe. Da der ursprünglich von book1 geöffnete Speicherplatz nicht verwendet wird, wird er außerdem vom Garbage Collection-Mechanismus der JVM verarbeitet und diese ungenutzten Speicherplätze freigegeben.

Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in Java-Datentypen und Parameterübergabe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn