Java中的基礎資料型別 (Elementary Data Type),Java資料類型
什麼是基礎資料型別 (Elementary Data Type)
就是我們在編程的時候經常需要用到的資料類型,如整型,浮點型等,把這些資料類型專門拿出來特殊對待,並想象成所謂的“基本類型”。
Java中有哪些基礎資料型別 (Elementary Data Type)
JAVA基本類型特點
- 基礎資料型別 (Elementary Data Type)速度比其對應封裝類快; //網上有篇文章做過測試,證明比封裝類快,有興趣可參考閱讀
- 基礎資料型別 (Elementary Data Type)不是對象; //有些人喜歡拿此來反駁Java的一切都是對象;
- 可移植性高,Java的基本類型所佔空間大小是固定的,不會隨著機器硬體架構改變; //像C語言的int空間大小就不固定
- 沒有無符號數的概念,這裡主要指的是byte、short、int...,其實char可以認為是無符號數;//像C語言是有unsigned int,unsigned char等無符號數
- 都有其對應的封裝類,基本類型和封裝類之間可以自動轉換;//因為JAVA SE5引入了自動拆裝箱功能
- 待補充。。。
JAVA基礎資料型別 (Elementary Data Type)詳細說明boolean
Java中沒有明確定義boolean類型所佔空間的大小,但其只能取true或false,初始化的預設值為false;
boolean類型對應的封裝類為Boolean;
char
字元類型,佔用兩個位元組的空間,即16位,Java中的字元是用Unicode來儲存的,中英文字元都可以用一個char來儲存,如下樣本:
a字元轉成整形,其值的大小用十六進位表示為6211,該值即為該字元在unicode字元集中的序號,a字元的Unicode格式即為'\u6211'
package tmp;public class Main{ public static void main(String[] args) { char a = '我'; System.out.println(Integer.toHexString(a) + '\u6211'); }}
char的初始預設值為'u0000',範圍:'\u0000'——'\uFFFF',其封裝類為Character.
byte
整型,一個位元組大小,初始預設值為0,其它沒啥好說的了。
short
整型,兩個位元組大小,初始預設值為0。
int
整型,四個位元組大小,初始預設值為0。
long
整型,八個位元組大小,初始預設值為0l。
float
浮點型,四個位元組大小,範圍為32位IEEEE 754單精確度範圍,初始預設值為0.f。
double
浮點型,八個位元組大小,範圍為64位IEEEE 754單精確度範圍,初始預設值為0.0。
void
空類型,主要用於方法名前,表示該方法無傳回值;
關於自動裝箱和拆箱
這個功能是在JAVA SE5引入的,簡單的說,就是基本類型與封裝類之間的自動轉換。
舉個例子,int的裝箱及Integer的拆箱,實際上調用的都是Integer類裡的以下方法:
裝箱:valueOf(int i)
拆箱:intValue()
有興趣的可以在原始碼打個斷點測試;
舉個例子:
package tmp;public class Main{ public static void main(String[] args) { //自動裝箱,實際上調用Integer.valueOf(int); Integer i1 = 100; //自動拆箱,實際調用Integer對象的intValue()方法; int i2 = new Integer(100); }}
參考資料:
JAVA編程思想