在Java中使用下划线分隔数的字面值的用法讲解
在JavaSE7中新增了以二进制形式的字面值表示方式,你可以像使用十进制一样,方便地使用二进制形式的字面值来表示数值。
例如:
//一个8位的byte值: byteaByte=0b100001; //一个16位的short值: shortaShort=0b1010010100101; //一个32位的int值: intanInt1=0b101000010100010110100101000101; //一个64位的long值(注意末尾的后缀「L」) longaLong=0b101000010L; //二进制字面值以0b或0B开头,不区分大小写 intanInt2=0B101;
在JavaSE7中,还支持以下划线作为分隔符联接的数值表示方式:
//十进制形式 intanInt1=123_45_6; //二进制、十六进制等形式也支持 intanInt2=0b10_0110_100; intanInt3=0xFF_EC_DE_5E; //小数形式也支持 floatpi=3.14_15F; doubleaDouble=3.14_15; //多个下划线相连 intchain=5______2____0;
不过以下几种书写形式是错误的:
//下划线不能放在最后 intx=52_;//错误 //下划线不能邻近小数点(邻近小数点前后都不行) floatpi1=3_.1415F;//错误 floatpi2=3._1415F;//错误 //下划线不能紧放在后缀「L」或「F」的前面 floatpi3=3.1415_F;//错误 longaLong1=999_99_9999_L;//错误 //下划线不能放在表示进制的前缀字符之间 intx5=0_x52;//错误
此外,还要注意下面这种,将下划线放在最前面的情况:
int_52=120;//在Java中,变量名称不能以数字开头,但可以下划线开头 intx=_52;//所以,这里的_52并不是一个数字的字面值形式,而是一个变量标识符(变量名)