Java基本類型的一些總結

Java基本類型的長度以及和C++的對比

Java(字節數)                               C++(字節數)

Byte         1                                             C++沒有字節類型,可以用unsigned char代替

Short       2                                                     2

Int             4                                                      4

long        8                                                      8

float          4                                                      4

double      8                                                      8

char          2                                                      1

booenaln 1                                                      bool1

 

--可以看出java和C++的基本類型的長度區別主要在char,在java中這兩個類型佔兩個字節,而在C++中這兩個類型佔一個字節,這是爲什麼呢,關於char很容易解釋,這是因爲java使用了utf-16編碼,目的是使java的char能容納更多類型的字符(比如中文),而C++使用的是ascii編碼,所以只佔用一個字節,這也是爲什麼java出現字節流和字符流的區別的原因。其實C++中也有類似的類型:wchar_t,爲的也是容納更多類型的字符。所以記住這個原因就能記住java的char和C++的char的長度而不會混淆。

 

Java基本類型和對應的包裝類型

基本類型                            包裝類型

boolean                             Boolean

byte                             Byte

char                                     Character

short                                   Short

int                                        Integer

long                                       Long

float                                      Float           

double                                  Double

void                                       Void

 

--總結 : 除了char和 int的包裝類型比較特別外,其他基本類型都只是把基本類型名的頭字母變成大寫字母而已。Int對應的包裝類型也比較容易記,因爲畢竟常用,char的包裝Character是英文中“字母”的意思。

 

基礎類型和包裝類型之間的轉化機制(自動裝箱、拆箱機制)

Integer i = 1;//自動裝箱 ---實質上是 Integeri = Integer .valueOf(1);

int a = i;//自動拆箱          ---實質上是  int a = i.intValue();

Character c = 'a';//自動裝箱

char b = c;//自動拆箱

 

--說白了這種裝箱、拆箱機制就是一種隱式的類型裝換,而這個裝換的幕後工作由編譯器完成。目的是爲了簡化了基本數據類型和相對應對象的轉化步驟。

發佈了80 篇原創文章 · 獲贊 57 · 訪問量 11萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章