什么是基本數據類型
就是我們在編程的時候經常需要用到的數據類型,如整型,浮點型等,把這些數據類型專門拿出來特殊對待,并想象成所謂的“基本類型”。
Java中有哪些基本數據類型
JAVA基本類型特點
- 基本數據類型速度比其對應包裝類快; //網上有篇文章做過測試,證明比包裝類快,有興趣可參考閱讀
- 基本數據類型不是對象; //有些人喜歡拿此來反駁Java的一切都是對象;
- 可移植性高,Java的基本類型所占空間大小是固定的,不會隨著機器硬件架構改變; //像C語言的int空間大小就不固定
- 沒有無符號數的概念,這里主要指的是byte、short、int...,其實char可以認為是無符號數;//像C語言是有unsigned int,unsigned char等無符號數
- 都有其對應的包裝類,基本類型和包裝類之間可以自動轉換;//因為JAVA SE5引入了自動拆裝箱功能
- 待補充。。。
JAVA基本數據類型詳細說明
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編程思想
文章列表