整型數據
整型數據
整型(INTEGER)數據是不包含小數部分的數值型數據,用字母I表示。整型數據只用來表示整數,以二進位形式存儲。
char:字元型數據,屬於整型數據的一種,佔用一個位元組。
unsigned char:無符號字元型數據,屬於整型數據的一種,佔用一個位元組。
short:短整型數據,屬於整型數據的一種,佔用兩個位元組。
unsigned short:無符號短整型數據,屬於整形數據的一種,佔用兩個位元組。
int:整形數據,屬於整型數據的一種,佔用四個位元組。
unsigned int:無符號整型數據,屬於整型數據的一種,佔用四個位元組。
long:長整型數據,屬於整型數據的一種,佔用四個位元組。
unsigned long:無符號長整型數據,屬於整形數據的一種,佔用四個位元組。
與C,C++相同,Java的整常數有三種形式:
①十進位整數,如123,-456,0
②八進位整數,以0開頭,如0123表示十進位數83,-011表示十進位數-9。
③十六進位整數,以0x或0X開頭,如0x123表示十進位數291,-0X12表示十進位數-18。
整型常量在機器中佔32位,具有int型的值,對於long型值,則要在數字后加L或l,如123L表示一個長整數,它在機器中佔64位。
整型變數的類型有byte、short、int、long四種。下表列出各類型所在內存的位數和其表示範圍。
int類型是最常使用的一種整數類型。它所表示的數據範圍足夠大,而且適合於32位、64位處理器。但對於大型計算,常會遇到很大的整數,超出int類型所表示的範圍,這時要使用long類型。
由於不同的機器對於多位元組數據的存儲方式不同,可能是從低位元組向高位元組存儲,也可能是從高位元組向低位元組存儲,這樣,在分析網路協議或文件格式時,為了解決不同機器上的位元組存儲順序問題,用byte類型來表示數據是合適的。而通常情況下,由於其表示的數據範圍很小,容易造成溢出,應避免使用。
short類型則很少使用,它限制數據的存儲為先高位元組,后低位元組,這樣在某些機器中會出錯。
如:
byte b;//指定變數b為byte型
short s;//指定變數s為short型
int i;//指定變數i為int型
long l;//指定變數l為long型
與C,C++相同,Java的實常數有兩種表示形式:
①十進位數形式,由數字和小數點組成,且必須有小數點,如0.123,.123,123.,123.0
②科學計數法形式。如:123e3或123E3,其中e或E之前必須有數字,且e或E後面的指數必須為整數。
實常數在機器中佔64位,具有double型的值。對於float型的值,則要在數字后加f或F,如12.3F,它在機器中佔32位,且表示精度較低。
實型變數的類型有float和double兩種,下表列出這兩種類型所佔內存的位數和其表示範圍。
數據類型所佔位數數的範圍
float323.4e-038~3.4e+038
double641.7e-308~1.7e+308
雙精度類型double比單精度類型float具有更高的精度和更大的表示範圍,常常使用。
如
float f;//指定變數f為float型
double d;//指定變數d為double型
與C、C++不同,Java中沒有無符號型整數,而且明確規定了整型和浮點型數據所佔的內存位元組數,這樣就保證了安全性、魯棒性和平台無關性。