使用下划线来提高可读性
从 Java 7 开始,可以使用一个或多个下划线(_)来分隔原始数字文字中的数字组,以提高它们的可读性。
例如,这两个声明是等效的:
Version >= Java SE 7
int i1 = 123456;
int i2 = 123_456;
System.out.println(i1 == i2); // true
这可以应用于所有原始数字文字,如下所示:
Version >= Java SE 7
byte color = 1_2_3;
short yearsAnnoDomini= 2_016;
int socialSecurtyNumber = 999_99_9999;
long creditCardNumber = 1234_5678_9012_3456L;
float piFourDecimals = 3.14_15F;
double piTenDecimals = 3.14_15_92_65_35;
这也可以使用二进制,八进制和十六进制基数的前缀:
Version >= Java SE 7
short binary= 0b0_1_0_1;
int octal = 07_7_7_7_7_7_7_7_0;
long hexBytes = 0xFF_EC_DE_5E;
关于下划线的规则有一些禁止它们放置在以下位置:
- 在数字的开头或结尾(例如
_123
或123_
是不是有效) - 毗邻小数点的浮点文字(如
1._23
或1_.23
是不是有效) - 前一个 F 或 L 后缀(例如
1.23_F
或9999999_L
是不有效) - 在一串数字有望位置(例如
0_xFFFF
是不是有效)