Java SE7新特性之在数值型的字面值中使用下划线

来源:互联网 发布:mac电脑 照片 编辑:程序博客网 时间:2024/04/28 17:15

JDK1.7的发布已经介绍了一些有用的特征,尽管大部分都是一些语法糖,但仍然极大地提高了代码的可读性和质量。其中的一个特征是介绍字面常量数字的下划线。从Java7开始,你就可以在你的Java代码里把长整型数字比如10000000000写成一个更具可读性10_000_000_000。在字面常量数字中加下划线的一个重要的原因是避免一些难以通过看代码来发现的细微的错误。对比10000000000 和1000000000,我们很难发现少了一个0或多了一个0,但对于10_000_000_000和1_000_000_000却不然。所以如果你在Java源码中要处理大数字,你可以在数字中加入下划线来提高可读性。使用的时候要注意:在字面常量数字里加下划线是有一定规则的,下划线只能在数字之间,在数字的开始或结束一定不能使用下划线。在本章节的以下部分,我们将学习如何在字面常量数字中使用下划线,以及在字面常量数字中使用它们的规则。


float pi1 = 3_.1415F; // 无效的; 不能在小数点之前有下划线float pi2 = 3._1415F; // 无效的; 不能在小数点之后有下划线long socialSecurityNumber1 = 999_99_9999_L; //无效的,不能在L下标之前加下划线int a1 = _52; // 这是一个下划线开头的标识符,不是个数字int a2 = 5_2; // 有效int a3 = 52_; // 无效的,不能以下划线结尾int a4 = 5_______2; // 有效的int a5 = 0_x52; // 无效,不能在0x之间有下划线int a6 = 0x_52; // 无效的,不能在数字开头有下划线int a7 = 0x5_2; // 有效的 (16进制数字)int a8 = 0x52_; // 无效的,不能以下划线结尾int a9 = 0_52; // 有效的(8进制数)int a10 = 05_2; // 有效的(8进制数)int a11 = 052_; // 无效的,不能以下划线结尾

long creditCardNumber = 6684_5678_9012_3456L; // 在编码的时候,最好永远不要这么做long socialSecurityNumber = 333_99_9999L; // 在编码的时候,最好永远不要这么做float pi = 3.14_15F;long hexBytes = 0xFF_EC_DE_5E;long hexWords = 0xCAFE_BABE;long maxLong = 0x7fff_ffff_ffff_ffffL;byte nybbles = 0b0010_0101;long bytes = 0b11010010_01101001_10010100_10010010;

使用下划线后,你会发现你的代码比以前可读性更强。顺便说一句,在java中应该一直用L去表示一个长整型数字。尽管用小写的l表示长整型数也是合法的,但他看起来太像1了,所以应该永远都不要用它。告诉我你能不能再 12l和121之间找出差别,我猜能找到的人不多吧。但是在 12L与121之间呢?

总之,要养成在数字中使用下划线的习惯,尤其是对长整型数来说,这样能增加它的可读性。我知道这个功能只是从Java1.7开始才有效,还没有被广泛的使用。但鉴于Java1.8的现状,我期望Java8在Java社区中传播比Java7更加迅速更加广泛。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 幼儿孩子被打怎么办 老是忍不住打孩子怎么办 孩子不爱学汉字怎么办 小孩心里有阴影怎么办 性格固执的小孩怎么办 看见小孩子就烦怎么办 孩子吃饭不专心怎么办 上课不专心听怎么办 做作业总是走神怎么办 做事注意力不集中怎么办 做事注意力不能集中怎么办 幼儿争抢玩具老师怎么办 孩子不专心学习怎么办 一年级孩子学习边学边忘怎么办 对爱不专心怎么办 孩子脑子不灵活怎么办 小孩写作业心慌怎么办 4岁写数字怎么办 孩子做事太慢怎么办 小孩子做事不认真怎么办 员工做事不认真怎么办 做事总是不认真怎么办 孩子上课老是讲话怎么办 孩子上课总讲话怎么办 孩子不求上进怎么办 孩子只知道吃完怎么办 孩子演出前紧张怎么办 儿童写字不专心怎么办 孩子上课没精神怎么办 小孩写字太慢怎么办 儿童上课不集中怎么办 突然头晕迷糊眼花怎么办 自己上课不专心怎么办 颈椎病头晕怎么办才好 孩孑记忆力不好怎么办 上课的时候困怎么办 小学生写字太慢怎么办 一年级小学生写字慢怎么办 小学生写字太用力怎么办 专注力不集中怎么办 一年级孩子写字慢怎么办