溢位

一、介紹

Java 提供 long、int、short 及 byte 四種型態最大最小值代碼; 要使用某個型態的代碼,必須先指定該型態所在的類別庫以及該型態所屬的類別;

以下為長整數最大值的代碼示範:

java.lang 類別庫太常使用,所以預設會將它載入,可以直接省略

long

int

所屬類別

java.lang.Long

java.lang.Integer

最大值代碼

MAX_VALUE

MAX_VALUE

最大值

9223372036854775807

2147483647

最小值代碼

MIN_VALUE

MIN_VALUE

最小值

-9223372036854775808

-2147483648

shore

byte

所屬類別

java.lang.Short

java.lang.Byte

最大值代碼

MAX_VALUE

MAX_VALUE

最大值

32767

127

最小值代碼

MIN_VALUE

MIN_VALUE

最小值

-32768

-128

二、程式實作

以下範例:分別宣告包含java.lang 與省略,編譯看看結果是否正確。

1. 輸出最大值與最小值

OUTPUT

2. 當輸出值溢位

以下透過上方介紹過的最大值做溢位的示範:

OUTPUT: i= 2147483647 i+1= -2147483648 i+2= -2147483647

溢位發生:

當整數的大小超過可以表示的範圍,而程式又沒有做數值範圍的檢查時,這個整數所輸出的值將發生紊亂,且不是預期中的執行結果,稱為「溢位」(overflow)。

3. 解決溢位發生

OUTPUT: i= 2147483647 i+1= -2147483648 //發生溢位 i+2= 2147483649 //無溢位 i+3= 2147483650 //無溢位

Last updated

Was this helpful?