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

作者:LagerSwan、 时间:2021-07-24 02:27:18 

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 如何调用long的最大值和最小值

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

来源:https://blog.csdn.net/LagerSwan/article/details/104056886

标签:Java,long,最大值,最小值
0
投稿

猜你喜欢

  • 关于Springboot中JSCH的使用及说明

    2023-11-28 02:32:16
  • 合成聚合复用原则_动力节点Java学院整理

    2023-06-27 22:05:20
  • Android应用内悬浮窗Activity的简单实现

    2023-07-28 04:03:00
  • Java中的interrupted()和isInterrupted()

    2023-06-17 22:16:31
  • JAVA内存模型(JMM)详解

    2023-11-23 16:54:32
  • Android 如何获取手机总内存和可用内存等信息

    2023-07-27 13:11:42
  • flutter实现appbar下选项卡切换

    2023-06-21 13:35:24
  • SpringBoot注解梳理(小结)

    2023-11-10 13:27:19
  • MyBatis学习教程(四)-如何快速解决字段名与实体类属性名不相同的冲突问题

    2023-11-25 05:43:49
  • Java动态线程池插件dynamic-tp集成zookeeper

    2023-11-25 03:41:38
  • 详解Maven私 服Nexus的安装与使用

    2023-11-24 12:34:02
  • 重写hashCode()和equals()方法详细介绍

    2023-11-24 16:13:33
  • 详解Spring全局异常处理的三种方式

    2023-11-11 15:31:47
  • 微信开发--自定义菜单查询返码乱码的解决方法

    2023-11-25 04:47:55
  • Java Fluent Mybatis实战之构建项目与代码生成篇下

    2023-11-24 10:59:52
  • 基于Flutter实现图片选择和图片上传

    2023-07-06 04:28:50
  • 用SpringBoot+Vue+uniapp小程序实现在线房屋装修管理系统

    2023-11-12 04:10:48
  • Hashmap非线程安全关于hash值冲突处理

    2023-11-11 09:22:10
  • Java基于Socket实现网络编程实例详解

    2023-11-23 12:22:37
  • Java后端Tomcat实现WebSocket实例教程

    2023-08-22 17:31:09
  • asp之家 软件编程 m.aspxhome.com