为什么Java7开始在数字中使用下划线(Java7怎样在数字中使用下划线)
2014-09-20 14:05
211 查看
本文转载自
ImportNew,原文链接: javacodegeeks 翻译: ImportNew.com - 刁
文阳 译文链接: http://www.importnew.com/12998.html
JDK1.7的发布已经介绍了一些有用的特征,尽管大部分都是一些语法糖,但仍然极大地提高了代码的可读性和质量。其中的一个特征是介绍字面常量数字的下划线。从Java7开始,你就可以在你的Java代码里把长整型数字比如10000000000写成一个更具可读性10_000_000_000。在字面常量数字中加下划线的一个重要的原因是避免一些难以通过看代码来发现的细微的错误。对比10000000000 和1000000000,我们很难发现少了一个0或多了一个0,但对于10_000_000_000和1_000_000_000却不然。所以如果你在Java源码中要处理大数字,你可以在数字中加入下划线来提高可读性。使用的时候要注意:在字面常量数字里加下划线是有一定规则的,下划线只能在数字之间,在数字的开始或结束一定不能使用下划线。在本章节的以下部分,我们将学习如何在字面常量数字中使用下划线,以及在字面常量数字中使用它们的规则。
正如我之前说的,这不过是个语法糖,非常像字符串在 switch 场景下的实现,这也是使用编译器的帮助下实现的。编译期间,编译器把这些下划线移除,并把真实的数字赋值给变量。比如在编译期间10_000_000将会被转化成10000000。既然CPU在处理长数字上毫无压力,对于我们这些可怜的在处理长数字上有困难的人类来说,就不用为它烦恼了。这个特征尤其在需要处理大数额金钱、信用卡号码、银行账号以及其它需要长账号的银行和金融领域更有用。尽管在写Java文件里写敏感信息很让人沮丧,我们应该永远不要在编码的时候这么做。但在数字中用下划线让我们的生活比以前变得更加简单了。
Java编码语言对给数值型的字面值加下划线有严格的规定。如上所述,你只能在数字之间用下划线。你不能用把一个数字用下划线开头,或者已下划线结尾。这里有一些其它的不能在数值型字面值上用下划线的地方:
在数字的开始或结尾
对浮点型数字的小数点附件
F或L下标的前面
该数值型字面值是字符串类型的时候
这里有一些例子,来表现哪些地方加给数字加下划线有效,哪些地方给数字加下划线无效
下面是一些在数字中用下划线的其它示例:
使用下划线后,你会发现你的代码比以前可读性更强。顺便说一句,在java中应该一直用L去表示一个长整型数字。尽管用小写的l表示长整型数也是合法的,但他看起来太像1了,所以应该永远都不要用它。告诉我你能不能再 12l和121之间找出差别,我猜能找到的人不多吧。但是在 12L与121之间呢?
总之,要养成在数字中使用下划线的习惯,尤其是对长整型数来说,这样能增加它的可读性。我知道这个功能只是从Java1.7开始才有效,还没有被广泛的使用。但鉴于Java1.8的现状,我期望Java8在Java社区中传播比Java7更加迅速更加广泛。
ImportNew,原文链接: javacodegeeks 翻译: ImportNew.com - 刁
文阳 译文链接: http://www.importnew.com/12998.html
JDK1.7的发布已经介绍了一些有用的特征,尽管大部分都是一些语法糖,但仍然极大地提高了代码的可读性和质量。其中的一个特征是介绍字面常量数字的下划线。从Java7开始,你就可以在你的Java代码里把长整型数字比如10000000000写成一个更具可读性10_000_000_000。在字面常量数字中加下划线的一个重要的原因是避免一些难以通过看代码来发现的细微的错误。对比10000000000 和1000000000,我们很难发现少了一个0或多了一个0,但对于10_000_000_000和1_000_000_000却不然。所以如果你在Java源码中要处理大数字,你可以在数字中加入下划线来提高可读性。使用的时候要注意:在字面常量数字里加下划线是有一定规则的,下划线只能在数字之间,在数字的开始或结束一定不能使用下划线。在本章节的以下部分,我们将学习如何在字面常量数字中使用下划线,以及在字面常量数字中使用它们的规则。
怎样在Java中有效的给数字使用下划线
正如我之前说的,这不过是个语法糖,非常像字符串在 switch 场景下的实现,这也是使用编译器的帮助下实现的。编译期间,编译器把这些下划线移除,并把真实的数字赋值给变量。比如在编译期间10_000_000将会被转化成10000000。既然CPU在处理长数字上毫无压力,对于我们这些可怜的在处理长数字上有困难的人类来说,就不用为它烦恼了。这个特征尤其在需要处理大数额金钱、信用卡号码、银行账号以及其它需要长账号的银行和金融领域更有用。尽管在写Java文件里写敏感信息很让人沮丧,我们应该永远不要在编码的时候这么做。但在数字中用下划线让我们的生活比以前变得更加简单了。
在Java中给数字加下划线的规则
Java编码语言对给数值型的字面值加下划线有严格的规定。如上所述,你只能在数字之间用下划线。你不能用把一个数字用下划线开头,或者已下划线结尾。这里有一些其它的不能在数值型字面值上用下划线的地方:
在数字的开始或结尾
对浮点型数字的小数点附件
F或L下标的前面
该数值型字面值是字符串类型的时候
这里有一些例子,来表现哪些地方加给数字加下划线有效,哪些地方给数字加下划线无效
总之,要养成在数字中使用下划线的习惯,尤其是对长整型数来说,这样能增加它的可读性。我知道这个功能只是从Java1.7开始才有效,还没有被广泛的使用。但鉴于Java1.8的现状,我期望Java8在Java社区中传播比Java7更加迅速更加广泛。
相关文章推荐
- 为什么Java7开始在数字中使用下划线
- 为什么Java7开始在数字中使用下划线
- 为什么Java7开始在数字中使用下划线
- 开始 网络广告 研究之旅--怎样使用网络广告赚钱?
- 字符串转换为数字---使用java7的装箱功能
- 为什么要去了解虚拟机是怎样使用内存的?
- Pycharm里面使用PIL库之后,为什么调用Image的方法不能弹出代码提示,怎样能让代码提示弹出?
- 什么是挂载?为什么在Linux系统下U盘要先挂载才能使用?挂载步骤是怎样的?
- 账户名只能使用数字字母下划线
- 什么是外键?为什么要使用外键?如何来用?不用会怎样?
- 为什么很多公司都开始去oracle而使用mysql?(整理)Oracle和MySQL的主要区别 Oracle:客户端和命令窗口,都是由用户决定内容-> conn user_name/password;
- 为什么HikariCP被号称为性能最好的Java数据库连接池,怎样配置使用
- 数字货币开发讲解如何使用“双重支付”问题,怎样解决?
- 开始 网络广告 研究之旅--怎样使用网络广告赚钱?
- Java7特性:数字中的下划线
- 为什么linux物理内存还有很多,却开始使用swap? NUMA - 罪魁祸首
- 为什么 preparedstatement 很重要, 以及怎样"正确"使用他们. (prepareStatement 第二讲)
- 【电脑使用】怎样让优酷视频在指定时间开始播放
- 使用FindBugs改善你的代码质量—为什么使用以及怎样使用
- shell 脚本中获取变量时控制开始字符位置--使用冒号加数字