Heim >Java >javaLernprogramm >Detaillierte Einführung in Java-Datentypen und Parameterübergabe
Die von Java bereitgestellten Datentypen sind hauptsächlich in zwei Kategorien unterteilt: Basisdatentypen und Referenzdatentypen.
名称 | 大小 | 取值范围 |
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 | 只有两种结果,要么为“真”要么为“假” |
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!