Java語言中,基本的整型數據類型有byte、short、int、long四種類型,用於需要不同存儲空間的數據使用。整型有正整數和負整數之分,在Java語言中,規定整型的最高位為符號位,最高位為「0」表示正數,最高位為「1」表示負數,其它位表示數值。因此整型類型的數據能夠表示的最小值為:-2n-1 —2n-1-1(n為該類型所佔存儲空間的二進位位數)。
其中,byte佔用一個字節的存儲空間,可表示的最小數值為-128,最大數值為127;
short佔用二個字節的存儲空間,可表示的最小數值為-32768,最大數值為32767;
int佔用四個字節的存儲空間,可表示的最小數值為-2147483648,最大數值為2147483647;
long佔用四個字節的存儲空間,可表示的最小數值為-9223372036854775808,最大數值為9223372036854775807。
整型變量可按如下方式聲明:
在一條語句中,可以聲明多個同一類型的整型變量,每個變量之間用英文逗號分隔:
整型變量可按如下方式初始化:
在初始化變量或為變量賦值時,常常會用到一些數值,這些值通常稱為常量。Java語言中整型常量有三種不同的表示形式:十進位、八進位和十六進位。
① 八進位整型常量:在八進位數值前面加前綴數字0,其數碼取值為0—7,例如:023、0457、01329等;
② 十六進位整型常量:前綴為「0X」或「0x」,數碼取值0—9、A—F、或a—f。例如:0X2A、0XA0、0Xffff等;
③ 十進位整型常量:既無前綴也無後綴。例如:236、56、7890等。
示例1: 整型常量聲明:
當整型數據數值大小超出了可以表示的範圍,而程序中又沒有做數值範圍的檢查時,這個整型變量所輸出的值將發生紊亂,且不是預期的運行結果,這種現象稱為溢出。
示例2:int類型的溢出
在D盤Java目錄下,新建「OverFlow.java」文件。用記事本打開「OverFlow.java」文件,輸入以下代碼:
編譯「OverFlow.java」文件,在命令行窗口輸入「javac OverFlow.java」並執行命令,編譯器顯示如下信息:
編譯器給出過大的整數錯誤信息,num的數值明顯超出的int所能表示的最大值。
示例2:byte類型的溢出
在D盤Java目錄下,新建「ByteOverFlow.java」文件。用記事本打開「OverFlow.java」文件,輸入以下代碼:
編譯「ByteOverFlow.java」文件,在命令行窗口輸入「javac ByteOverFlow.java」並執行命令,編譯器顯示如下信息:
編譯器給出可能損失精度的錯誤信息,原因是byte變量的最大值為127,數值129超出了byte所能表示的範圍。編譯器將數值129賦值給byCode時,將129強制轉換為byte所能表示的範圍,因此報出損失精度的錯誤信息。
程序聲明的所有變量都要佔用程序運行存儲空間,對程序運行存儲空間比較小的單片機、手機等設備,在程序設計時,要充分考慮變量所佔的存儲空間對內存空間的影響,使用byte可以表示的數值範圍儘量不要用int類型,更不能使用long類型,在賦值時,一定要判斷數值的範圍大小,以免發生數值溢出問題。
(1)要存儲一個long型的值,需要()字節的存儲空間。
A.4
B.8
C.2
D.1
(2)程序需要存儲一個數值為128的常量,可用的佔用存儲空間最小的的數據類型為()。
A. byte
B . long
C. int
D.short
(3)在Java語言中,數值128用十六進位表示為()。
A.80H
B.0X80
C.80
D.080