一、存儲空間
在java中,一共有8種基本類型,其中有4種整形、2種浮點類型、1種用於表示Unicode編碼的字符單元的字符類型char和一種用於表示真值的boolean類型。
(java中基本數據類型的存儲空間是固定的,具有強大的可移植性、跨平臺性。而在c語言中,數值類型的空間存儲是隨編譯器的變化而變化的,在不同的平臺,佔用空間也可能不同)
整形:整形都是有符號的,首位爲符號位,採用補碼進行存儲。
byte--8位
short--16位
int--32位 (幅值超過20億)
long--64位
浮點類型:java中的浮點類型,符合IEEE754標準,float對應標準中的單精度,double對應雙精度。
float--32位
double--64位
字符類型:java中的字符類型採用Unicode編碼,一個char類型佔用兩個字節(c語言中char類型爲ASCII編碼,佔用一個字節)
char—16位
真值:(官方文檔This data type represents one bit of information, but its "size" isn't something that's precisely defined)
boolean—佔用字符數不確定,貌似跟java虛擬機有關
二、數值前綴與後綴
前綴:16進制——0x,8進制——0(16進制數適用於所有整數類型,可以定義int i=0x12,float j=0x12)
後綴: long——L,double——D,float——F(沒有後綴F的浮點數值默認爲double類型)
三、數值計算——提升
1.在計算之前,數據類型比int小的(char,short,byte),都會先轉換爲int類型。
2.通常,表達式中出現的最大的數據類型,則爲表達式的結果類型(如果一個int和一個long相加,結果爲long)