如果Java源代码中有一个很长的数值字面量,开发人员在阅读这段代码时需要很费力地去分辨数字的位数,以知道其所代表的数值大小。在现实生活中,当遇到很长的数字的时候,我们采取的是分段分隔的方式。比如数字500000,我们通常会写成500,000,即每三位数字用逗号分隔。利用这种方式就可以很快知道数值的大小。这种做法的理念被加入到了Java 7中,不过用的不是逗号,而是下划线“_”。

在Java 7中,数值字面量,不管是整数还是浮点数,都允许在数字之间插入任意多个下划线。这些下划线不会对字面量的数值产生影响,其目的主要是方便阅读。一些典型的用法包括每三位数字插入一个下划线来分隔,以及多行数值的对齐

在数值字面量中使用下划线的示例public static void main(String[] args) {

int a = 10000_0000;

double b = 11_230.0_1;

float c = 11_230.0_1f;

System.out.println(a);

System.out.println(b);

System.out.println(c);

}

输出

100000000

11230.01

11230.01

虽然下划线在数值字面量中的应用非常灵活,但有些情况是不允许出现的。最基本的原则是下划线只能出现在数字中间,也就是说前后都必须是数字。所以“_100”、“120_”、“0b_101”、“0x_da0”这样的使用方式都是非法的,无法通过编译。这样限制的动机在于降低实现的复杂度。有了这个限制之后,Java编译器只需要在扫描源代码的时候,将所发现的数字中间的下划线直接删除就可以了。这样就和没有使用下划线的形式是相同的。如果不添加这个限制,那么编译器需要进行语法分析才能做出判断。比如“_100”可能是一个整数字面量100,也可能一个变量名称。这就要求编译器的实现做出更加复杂的改动。

java 下划线 变量_Java数值类型变量带下划线相关推荐

  1. java的环境变量_java学习册|JDK|环境变量

    每一个学java的小伙伴遇到的第一个拦路虎就是配置环境变量,而且关于环境变量,已经写过了不少文章,今天,我们不炒冷饭,我们来深入探讨下 往期文章 首先还是把什么是环境变量,如何配置环境变量讲一下,参考 ...

  2. java语言环境变量_JAVA语言环境变量的设置教程

    本文主要向大家介绍了JAVA语言环境变量的设置教程,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助. 安装JDK到目录,我这里是C:\Java 右键点击计算机属性 在系统变量里面建 JA ...

  3. 怎样配置java的环境变量_java配置环境变量步骤

    在完成了JDK的安装后,环境变量设置是其安装后的首要操作,有人会问为什么要设置这个,要理解这个你首先要明白环境变量的涵义,它可以简单的理解为路径导向. . JAVA_HOMEC:\Usr\Java\j ...

  4. java 取系统环境变量_java获取和设置系统变量(环境变量)

    一.Java获取环境变量 Java 获取环境变量的方式很简单: System.getEnv()  得到所有的环境变量 System.getEnv(key) 得到某个环境变量 Map map = Sys ...

  5. python中定义变量为啥要用下划线_关于python中带下划线的变量和函数 的意义

    核心风格:避免用下划线作为变量名的开始. 因为下划线对解释器有特殊的意义,而且是内建标识符所使用的符号,我们建议程序员避免用下划线作为变量名的开始. 一般来讲,变量名_xxx被看作是"私有 ...

  6. java字符串转换小数_java怎么将带小数的字符串 转换可以计算的数值类型

    展开全部 String str="4444.1122"; double num; java.text.DecimalFormat myformat=new java.text.De ...

  7. java 数组下标 变量_Java基础语法:数组

    一.简介 描述: 数组是相同类型数据的有序集合. 其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 基本特点: 数组的长度是确定的.数组一旦被创建,它的大小就是不可以改变的. ...

  8. java异常对象引用变量_Java面向对象编程-异常处理

    第九章 异常处理 异常情况会改变正常的流程,导致恶劣的后果,为了减少损失,应该事先充分预料所有可能出现的异常,然后采取以下措施: 首先考虑避免异常,彻底杜绝异常的发生:如果不能完全避免,则尽可能地减少 ...

  9. java自动化初始变量_Java自动化测试-01.环境准备(JDK/环境变量/Intellij IDEA安装)

    Window 系统下 Java 环境搭建 1.1.JDK 下载 如果你是 32 位系统下载 jdk-8u241-windows-i586.exe(32 位) 如果你是 64 位系统下载 jdk-8u2 ...

  10. java jar 环境变量_java-jar jar包带环境变量(参数)启动

    需求 java工程我们可以编译成jar也可以翻译成war,一般地,war包我会丢到tomcat容器里,启动tomcat来访问服务,端口.SSL证书.日志等等,都托给tomcat. 如果打的是jar包, ...

最新文章

  1. html漂浮广告随页面移动代码,JS漂浮广告代码,慢慢漂移的广告JS代码
  2. LeetCode 626. Exchange Seats
  3. python可以处理什么文件夹_Python处理文件和文件夹的10条命令
  4. SourceTree查找Github修改记录的技巧
  5. .NET Core开发日志——OData
  6. VoLTE技术中的会话持续性-eSRVCC
  7. 深入理解前端跨域问题的解决方案——前端面试
  8. Hadoop1.x HDFS系统架构
  9. 深度学习 --- 优化入门三(梯度消失和激活函数ReLU)
  10. 29.优化 MySQL Server
  11. sql server2000远程访问
  12. ubuntu安装搜狗拼音输入法及安装后没有中文解决办法
  13. bgp状态idle什么原因_BGP - 2,BGP报文和BGP状态(转)
  14. 斯坦福发布3D街景数据集:8个3D城市模型+2500万图像+1.18亿图像配对
  15. (15)[ICML13] Momentum: On the importance of initialization and momentum in deep learning
  16. PCI与PCIe学习一——硬件篇
  17. 防止学生机退出电子教室软件的方法
  18. Asan快速定位内存越界、内存泄漏
  19. DB Browser for sqlite
  20. 批量读取和写出excel数据#R语言#

热门文章

  1. 数学建模学习(93):方差分析、T检验、卡方分析(检验)
  2. Linux下线程经典问题(生产者消费者问题,哲学家问题...)
  3. 电子科技大学计算机学院图章,桂林电子科技大学印章管理暂行规定
  4. 【渝粤教育】电大中专电商运营实操 (24)作业 题库
  5. 英文写作——动词过去式和现在分词
  6. [开源] PLC梯形图转指令表的算法源代码
  7. 投影仪与计算机连接方式,【投影网教程】投影仪连接电脑的方法
  8. 80286/286/Intel286 架构/流水线及其优化
  9. 学生网页设计作品 dreamweaver作业静态HTML网页设计模板 篮球网页作业制作
  10. GitHub 和 gitlab 的使用