字面量(literal)
指的是在源代码中直接表示一个固定的值。比如基本类型字面量:包括整数、浮点数、字符串和布尔值等。
支持的数字字面量表示
- 十进制:默认的
- 八进制:整数之前加数字0来表示
- 十六进制:整数之前加“0x”或“0X”
- 二进制(新加的):整数之前加“0b”或“0B”
在数值字面量中使用下划线
在java 7中,数值字面量,不管是整数还是浮点数,都允许在数字之间插入任意多个下划线。这些下划线不会对字面量的数值产生影响,目的就是方便阅读。
比如:
1_500_000
5_6.3_4
89_3___1
注意
- 下划线只能出现在数字中间,前后必须是数字。所以“_100”、“0b_101“是不合法的,无法通过编译。
这样限制的动机就是可以降低实现的复杂度。有了这个限制,Java编译器只需在扫描源代码的时候将所发现的数字中间的下划线直接删除就可以了。如果不添加这个限制,编译器需要进行语法分析才能做出判断。比如:_100,可能是一个整数字面量100,也可能是一个变量名称。这就要求编译器的实现做出更复杂的改动。