Java 如何調(diào)用long的最大值和最小值
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)文章
springcloud?如何解決微服務(wù)之間token傳遞問題
這篇文章主要介紹了springcloud?如何解決微服務(wù)之間token傳遞問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03一文詳解SpringBoot如何優(yōu)雅地實(shí)現(xiàn)異步調(diào)用
SpringBoot想必大家都用過,但是大家平時(shí)使用發(fā)布的接口大都是同步的,那么你知道如何優(yōu)雅的實(shí)現(xiàn)異步呢?這篇文章就來和大家詳細(xì)聊聊2023-03-03解決Java編譯時(shí)錯(cuò)誤:A JNI error has occurred,ple
這篇文章主要介紹了解決Java編譯時(shí)錯(cuò)誤:A JNI error has occurred,please check your installation and try again,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02使用IDEA直接連接MySQL數(shù)據(jù)庫的方法
這篇文章主要介紹了如何使用IDEA直接連接MySQL數(shù)據(jù)庫,首先需要新建一個(gè)空項(xiàng)目,第一次連接 需要先下載驅(qū)動(dòng),文中給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-04-04SpringBoot加入Guava Cache實(shí)現(xiàn)本地緩存代碼實(shí)例
這篇文章主要介紹了SpringBoot加入Guava Cache實(shí)現(xiàn)本地緩存代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09Java異常繼承結(jié)構(gòu)解析_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要介紹了Java異常繼承結(jié)構(gòu)解析的相關(guān)知識(shí),需要的朋友可以參考下2017-04-04springboot @WebFilter注解過濾器的實(shí)現(xiàn)
這篇文章主要介紹了springboot @WebFilter注解過濾器的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03