带有“_”符号的Java编号

时间:2018-01-12 09:41:00

标签: java

为什么Java编号允许您使用“_”符号书写? 什么是加号?不会使语言复杂化吗?

int a= 1_23_4_5_6;
double b=34_3.2_3;
float f=34_3_4.2_3f;
编辑:是的,我认为'_'符号适用于1_000_000,但适用于34_3_4.2_3f或34_3.2_3?我认为这真的很复杂。

3 个答案:

答案 0 :(得分:4)

这是一个Java 7 addition,允许您根据需要对数字进行分组。

例如,而不是写

int i = 1000000000;

你可以写出更易读的版本

int i = 1_000_000_000;

答案 1 :(得分:4)

来自Underscores in Numeric Literals

  

在Java SE 7及更高版本中,任意数量的下划线字符(_)都可以   出现在数字文字中的数字之间的任何位置。

     

例如,此功能可以分隔数字组   数字文字,可以提高代码的可读性。

答案 2 :(得分:0)

快速注意:来自Oracle Java SE 7 Specs

long creditCardNumber = 1234_5678_9012_3456L;
long socialSecurityNumber = 999_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;

现在说什么,它的可读性是否复杂,或者更容易使代码可读。

在实际应用中,在调试/失败时,这可以避免歧义,并帮助开发人员更轻松地搜索正确的罪魁祸首。