在Java中使用下划线分隔数的字面值的用法讲解

 更新时间:2016年03月19日 08:50:29   投稿:goldensun  
这篇文章主要介绍了在Java中使用下划线分隔数字的字面值的用法讲解,这是Java7以后加入的新特性,需要的朋友可以参考下

在Java SE 7中新增了以二进制形式的字面值表示方式,你可以像使用十进制一样,方便地使用二进制形式的字面值来表示数值。

例如:

// 一个8位的byte值:
byte aByte = 0b100001;
// 一个16位的short值:
short aShort = 0b1010010100101;
// 一个32位的int值:
int anInt1 = 0b101000010100010110100101000101;
// 一个64位的long值(注意末尾的后缀「L」)
long aLong = 0b101000010L;
// 二进制字面值以0b或0B开头,不区分大小写
int anInt2 = 0B101;

在Java SE 7中,还支持以下划线作为分隔符联接的数值表示方式:

//十进制形式
int anInt1 = 123_45_6;
//二进制、十六进制等形式也支持
int anInt2 = 0b10_0110_100;
int anInt3 = 0xFF_EC_DE_5E;
//小数形式也支持
float pi = 3.14_15F;
double aDouble = 3.14_15;
//多个下划线相连
int chain = 5______2____0;

不过以下几种书写形式是错误的:

//下划线不能放在最后
int x = 52_;    //错误
//下划线不能邻近小数点(邻近小数点前后都不行)
float pi1 = 3_.1415F;  // 错误
float pi2 = 3._1415F;  //错误
//下划线不能紧放在后缀「L」或「F」的前面
float pi3 = 3.1415_F;  //错误
long aLong1 = 999_99_9999_L;//错误
//下划线不能放在表示进制的前缀字符之间
int x5 = 0_x52;    //错误

此外,还要注意下面这种,将下划线放在最前面的情况:

int _52 = 120; //在Java中,变量名称不能以数字开头,但可以下划线开头
int x = _52;  //所以,这里的_52并不是一个数字的字面值形式,而是一个变量标识符(变量名)

相关文章

  • Json传输出现中文乱码问题的解决办法

    Json传输出现中文乱码问题的解决办法

    最近遇到一个问题,就是将中文消息以json格式推给微信服务器时,收到的消息是乱码,所以下面这篇文章主要给大家介绍了关于Json传输出现中文乱码问题的解决办法,需要的朋友可以参考下
    2023-05-05
  • 分析jackjson的安全漏洞CVE-2019-14379

    分析jackjson的安全漏洞CVE-2019-14379

    这篇文章主要介绍了jackjson的使用及CVE-2019-14379漏洞分析,ackson知识点序列化和反序列化,setName和getName调用顺序,通过实例代码讲解的很详细,需要的朋友可以参考下
    2021-06-06
  • java 实现增量同步和自定义同步的操作

    java 实现增量同步和自定义同步的操作

    这篇文章主要介绍了java 实现增量同步和自定义同步的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • Java中Lambda表达式的使用详解

    Java中Lambda表达式的使用详解

    Lambda 表达式,也可称为闭包,它是推动 Java 8 发布的最重要新特性。Lambda 允许把函数作为一个方法的参数(函数作为参数传递进方法中)。使用 Lambda 表达式可以使代码变的更加简洁紧凑
    2021-09-09
  • java8异步调用如何使用才是最好的方式

    java8异步调用如何使用才是最好的方式

    异步调用主要用于当前程序的执行不用等待调用方法执行结束就可以继续执行,下面这篇文章主要给大家介绍了关于java8异步调用如何使用才是最好的方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-01-01
  • Java常用HASH算法总结【经典实例】

    Java常用HASH算法总结【经典实例】

    这篇文章主要介绍了Java常用HASH算法,结合实例形式总结分析了Java常用的Hash算法,包括加法hash、旋转hash、FNV算法、RS算法hash、PJW算法、ELF算法、BKDR算法、SDBM算法、DJB算法、DEK算法、AP算法等,需要的朋友可以参考下
    2017-09-09
  • Java实现分页的前台页面和后台代码

    Java实现分页的前台页面和后台代码

    这篇文章主要为大家详细介绍了Java实现分页的前台页面和后台代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • java创建txt文件并写入内容的方法代码示例

    java创建txt文件并写入内容的方法代码示例

    这篇文章主要介绍了java创建txt文件并写入内容的两种方法,分别是使用java.io.FileWriter和BufferedWriter,以及使用Java7的java.nio.file包中的Files和Path类,需要的朋友可以参考下
    2025-01-01
  • 详解如何判断Java线程池任务已执行完

    详解如何判断Java线程池任务已执行完

    线程池的使用并不复杂,麻烦的是如何判断线程池中的任务已经全部执行完了,所以接下来,我们就来看看如何判断线程中的任务是否已经全部执行完吧
    2023-08-08
  • springboot中通过jwt令牌校验及前端token请求头进行登录拦截实战记录

    springboot中通过jwt令牌校验及前端token请求头进行登录拦截实战记录

    这篇文章主要给大家介绍了关于springboot中如何通过jwt令牌校验及前端token请求头进行登录拦截的相关资料,需要的朋友可以参考下
    2024-08-08

最新评论