欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java中调用long类型的最大值和最小值

程序员文章站 2022-07-15 09:57:05
...

今天对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中调用long类型的最大值和最小值

相关标签: JavaSE