一、Integer的表示範圍
Java中的整型數據類型包括byte、short、int、long四種類型。其中int類型的取值範圍為-2,147,483,648~2,147,483,647,也就是說,整數的最大值是2147483647。
在Java中,整型變量默認為int類型,如果要使用long類型,需要在數字後面添加”L”或”l”。例如:long a = 2147483648L;。
二、Java中的溢出
Java中的整數數據類型會發生溢出現象,即當一個數超出了表示範圍時,會從最小值或最大值重新開始計數。例如:
int a = 2147483647; a = a + 1; System.out.println(a); //輸出結果為-2147483648
在上面的代碼中,a本來的值是2147483647,但是當加1後,a超出了最大值,變成了-2147483648。
三、以最大值為中心的探討
1. Integer.MAX_VALUE
public final class Integer extends Number implements Comparable { /** * int類型最大值常量 */ public static final int MAX_VALUE = 0x7fffffff; }
從上述代碼中可以看出,Java中的int類型最大值為0x7fffffff,即Integer.MAX_VALUE。
2. 整型變量賦值為最大值
int a = Integer.MAX_VALUE; System.out.println(a); //輸出結果為2147483647
將一個整型變量賦值為最大值,可以使用Integer.MAX_VALUE,輸出結果為2147483647。
3. 整型變量+1後的值
int a = Integer.MAX_VALUE; a = a + 1; System.out.println(a); //輸出結果為-2147483648
當將一個整型變量賦值為最大值後,再加1,就會發生溢出現象,變成了最小值-2147483648。
4. 整型變量-1後的值
int a = Integer.MAX_VALUE; a = a - 1; System.out.println(a); //輸出結果為2147483646
當將一個整型變量賦值為最大值後,再減1,不會發生溢出現象,變成了2147483646。
5. 整型變量*2後的值
int a = Integer.MAX_VALUE; a = a * 2; System.out.println(a); //輸出結果為-2
當將一個整型變量賦值為最大值後,再乘2,會發生溢出現象,變成了-2。
6. 整型變量/2後的值
int a = Integer.MAX_VALUE; a = a / 2; System.out.println(a); //輸出結果為1073741823
當將一個整型變量賦值為最大值後,再除2,不會發生溢出現象,變成了1073741823。
四、結論
在Java中,int類型的最大值為2147483647,但是進行加法、減法、乘法運算時,可能會發生溢出現象。所以,在實際編程中,需要注意整型的取值範圍,避免出現溢出現象。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/196770.html