欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java 如何調(diào)用long的最大值和最小值

 更新時(shí)間:2021年07月09日 10:34:16   作者:LagerSwan、  
這篇文章主要介紹了Java 如何調(diào)用long的最大值和最小值的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Java 調(diào)用long的最大值和最小值

今天對(duì)Java八種基本數(shù)據(jù)類型進(jìn)行總結(jié),當(dāng)總結(jié)到整數(shù)類型中的long時(shí),出現(xiàn)了測試long最大值和最小值錯(cuò)誤;

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

即:-9223372036854775808 ~ 9223372036854775807 ;

當(dāng)進(jìn)行測試時(shí),卻報(bào)錯(cuò)了,代碼如下:

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

這就很納悶了,不是說取值范圍在 -2^63 ~ 2^63-1 之間嗎,怎么錯(cuò)誤說超出范圍?

通過百度后才知道,原來并不是 9223372036854775807 賦值時(shí)超出了范圍,而是語句

long test_Max = 9223372036854775807 ; 出了問題,在使用9223372036854775807 進(jìn)行賦值時(shí),9223372036854775807 是屬于int數(shù)據(jù)類型的,而int的數(shù)據(jù)類型取值范圍是 -2^31 ~ 2^31-1 之間,很顯然 9223372036854775807 是超出了這個(gè)范圍的,所以出現(xiàn)了代碼錯(cuò)誤問題;

解決:

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

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

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

一、通過十六進(jìn)制方式進(jìn)行查看:

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

輸出結(jié)果:

-9223372036854775808 和 9223372036854775807

二、通過long的源碼進(jìn)行查看;

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

輸出結(jié)果:

-9223372036854775808 和 9223372036854775807

Java 基本數(shù)據(jù)類型最大值極限和最小值極限

想知道 Java 基本數(shù)據(jù)類型最大值極限和最小值極限,寫個(gè)小程序就很容易知道。

測試 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);  
}  

輸結(jié)果如下:各位自己看吧:

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

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論