Java是一種主要面向?qū)ο蟮木幊陶Z(yǔ)言,它有兩種基本類型:原始數(shù)據(jù)類型和引用類型。
原始數(shù)據(jù)類型包括:
byte, short, int, long, float, double, char, boolean這些類型的定義和使用都很直觀,它們是基礎(chǔ)類型,不能被分解,不能被繼承。
引用類型又稱為對(duì)象類型,包括數(shù)組、類、接口等。引用類型的變量實(shí)質(zhì)上是指向?qū)ο笤趦?nèi)存中的地址,這些對(duì)象通常由new關(guān)鍵字動(dòng)態(tài)創(chuàng)建。
引用類型與原始數(shù)據(jù)類型最大的不同在于:引用變量保存的是堆內(nèi)存中的對(duì)象的引用地址,而不是對(duì)象本身的值。引用類型變量可以進(jìn)行null值賦值,而原始數(shù)據(jù)類型無法進(jìn)行null值賦值。
Student stu = new Student(); // 引用變量stu指向new出的Student對(duì)象 int num = 10; // 原始數(shù)據(jù)類型變量num賦值為10
不同類型的變量之間可以進(jìn)行賦值和比較。將一個(gè)原始類型的變量賦值給一個(gè)引用類型的變量,編譯器會(huì)將原始類型自動(dòng)轉(zhuǎn)換成對(duì)應(yīng)的包裝類。
int i = 10; Integer j = i; // 自動(dòng)裝箱,等價(jià)于 Integer j = Integer.valueOf(i); System.out.println(j); // 輸出 10 int k = j; // 自動(dòng)拆箱,等價(jià)于 int k = j.intValue(); System.out.println(k); // 輸出 10
同時(shí),Java中也提供了一些基本類型與對(duì)應(yīng)引用類型之間的轉(zhuǎn)換方法。例如,可以使用Integer.parseInt方法將字符串類型的數(shù)值轉(zhuǎn)換為int類型,或者使用String.valueOf方法將基本類型變量轉(zhuǎn)換為字符串類型。
總之,在Java中,原始數(shù)據(jù)類型和引用類型都是非常常用的類型,需要我們熟練掌握。