在Java里面,整體上把數據類型分為了兩大類:基本類型(primitive types) 8個 和 引用類型(reference types) 5個,我們先看完整分類圖如下所示:
接下來壹哥會對基本類型和引用類型分別進行介紹。
1. 基本類型
基本類型 是Java中預定義的類型,有相應的保留關鍵字來表示,具有明確的取值范圍和數學行為,表示了真實的數字、字符和整數?;绢愋偷臄祿际菃蝹€值,而不是復雜的對象,所以基本類型并不是面向對象的,這主要是出于效率方面的考慮。但是同時Java中也為基本類型提供了對應的對象版本,即基本類型的包裝類(wrapper)。我們可以直接使用這些基本類型,也可以使用基本類型的構造數組或者其他自定義類型。
基本類型 包括布爾(boolean)類型、數值類型(numeric types),數值類型又分為 整型(integer types) 和 浮點型(floating-point type)。整型有5種:byte、short、int、long、char(char本質上是一種特殊的int);浮點類型有float和double。所以基本數據類型分類如下:
byte、short、int、long、float(單精度)、double(雙精度)、char、boolean
基本類型具體信息表:
2. 引用類型
引用類型(The value of reference types are references to objects)中的引用,一般是指某個對象的內存地址,其中對象是動態創建的類實例或者動態創建的數組,另外Java語言本身不支持C++中的結構體(struct) 或聯合體(union) 等數據類型,這種復合數據類型一般都是通過類或接口進行構造。引用數據類型分類如下:
類、接口、數組、枚舉、注解
3. 關于null值
另外還有一個特殊的值null,壹哥這里再給各位解釋一下。null是一種特殊的type,但是你不能聲明一個變量為null類型,null type的唯一取值就是null。null可以賦值給任意的引用類型或者轉化成任意的引用類型。我們在開發時,一般是把null當做常量字面值,這個字面值可以賦值給任意的引用類型。
4. 基本類型與引用類型的區別
不論是基本數據類型還是引用類型,他們都會先在棧中分配一塊內存。對于基本類型來說,這塊內存區域中包含的是基本類型的具體數據內容;對于引用類型來說,這塊內存區域中包含的是指向真正內容的指針,而真正的內容則被手動的分配在了堆上。
更多關于“Java培訓”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓經驗,課程大綱更科學更專業,有針對零基礎的就業班,有針對想提升技術的好程序員班,高品質課程助力你實現java程序員夢想。