Java 如何調用long的最大值和最小值

Java 調用long的最大值和最小值

今天對Java八種基本數據類型進行總結,當總結到整數類型中的long時,出現瞭測試long最大值和最小值錯誤;

long取值范圍是 -2^63 ~ 2^63-1 ;

即:-9223372036854775808 ~ 9223372036854775807 ;

當進行測試時,卻報錯瞭,代碼如下:

//錯誤:The literal 9223372036854775808 of type int is out of range 
long test_Min = -9223372036854775808 ;
long test_Max =  9223372036854775807 ;

這就很納悶瞭,不是說取值范圍在 -2^63 ~ 2^63-1 之間嗎,怎麼錯誤說超出范圍?

通過百度後才知道,原來並不是 9223372036854775807 賦值時超出瞭范圍,而是語句

long test_Max = 9223372036854775807 ; 出瞭問題,在使用9223372036854775807 進行賦值時,9223372036854775807 是屬於int數據類型的,而int的數據類型取值范圍是 -2^31 ~ 2^31-1 之間,很顯然 9223372036854775807 是超出瞭這個范圍的,所以出現瞭代碼錯誤問題;

解決:

將 9223372036854775807 聲明成long類型就可以瞭,如下所示;

long test_Min = -9223372036854775808L ;
long test_Max =  9223372036854775807L ;

以下提供兩種查看long類型的最大值和最小值的方法:

一、通過十六進制方式進行查看:

long test_min = 0x8000000000000000l;
long test_max = 0x7fffffffffffffffl;

輸出結果:

-9223372036854775808 和 9223372036854775807

二、通過long的源碼進行查看;

long min = Long.MIN_VALUE;
long max = Long.MAX_VALUE;

輸出結果:

-9223372036854775808 和 9223372036854775807

Java 基本數據類型最大值極限和最小值極限

想知道 Java 基本數據類型最大值極限和最小值極限,寫個小程序就很容易知道。

測試 Integer, Long, Float 和 Double 的最大值和最小值,代碼如下:

public static void main(String[] args)  
{  
  System.out.println("Integer.MIN_VALUE = " + Integer.MIN_VALUE);  
  System.out.println("Integer.MAX_VALUE = " + Integer.MAX_VALUE);  
  
  System.out.println("Long.MIN_VALUE = " + Long.MIN_VALUE);  
  System.out.println("Long.MAX_VALUE = " + Long.MAX_VALUE);  
  
  System.out.println("Float.MIN_VALUE = " + Float.MIN_VALUE);  
  System.out.println("Float.MIN_NORMAL = " + Float.MIN_NORMAL);  
  System.out.println("Float.MAX_VALUE = " + Float.MAX_VALUE);  
  
  System.out.println("Double.MAX_VALUE = " + Double.MAX_VALUE);  
  System.out.println("Double.MIN_VALUE = " + Double.MIN_VALUE);  
}  

輸結果如下:各位自己看吧:

Integer.MIN_VALUE = -2147483648
Integer.MAX_VALUE = 2147483647
Long.MIN_VALUE = -9223372036854775808
Long.MAX_VALUE = 9223372036854775807
Float.MIN_VALUE = 1.4E-45
Float.MIN_NORMAL = 1.17549435E-38
Float.MAX_VALUE = 3.4028235E38
Double.MAX_VALUE = 1.7976931348623157E308
Double.MIN_VALUE = 4.9E-324

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: