一、基本數據類型
java中一共分爲8種
基本數據類型:byte、short、int、long、float、double、char、boolean
byte、short、int、long是整型
float、double是浮點型
char是字符型
boolean是布爾型
二、引用類型
java爲每種基本類型都提供了對應的封裝類型,分別爲:Byte、Short、Integer、Long、Float、Double、Character、Boolean。引用類型是一種對象類型,它的值是指向內存空間的引用,就是地址。
三、基本類型與引用類型的區別
1.默認值
整型byte、short、int、long的默認值都爲0,浮點型float、double的默認值爲0.0,boolean默認值爲false,char默認值爲空。對應的包裝類型默認值都爲null。
2.內存分配
基本數據類型的變量是存儲在棧內存中,而引用類型變量存儲在棧內存中,保存的是實際對象在堆內存中的地址,實際對象中保存這內容。
3.自動裝箱、自動拆箱
Java從jdk1.5開始引入自動裝箱和拆箱,使得基本數據類型與引用類型之間相互轉換變得簡單。
自動裝箱: java自動將原始類型轉化爲引用類型的過程,自動裝箱時編譯器會調用valueOf方法,將原始類型轉化爲對象類型。
自動拆箱: java自動將引用類型轉化爲原始類型的過程,自動拆箱時編譯器會調用intValue(),doubleValue()這類的方法將對象轉換成原始類型值。
自動裝箱主要發生在兩種情況:一種是賦值時,一種是方法調用時。