在Java中使用下划线分隔数的字面值的用法讲解
程序员文章站
2024-03-08 23:49:40
在java se 7中新增了以二进制形式的字面值表示方式,你可以像使用十进制一样,方便地使用二进制形式的字面值来表示数值。
例如:
// 一个8位的byte值:...
在java se 7中新增了以二进制形式的字面值表示方式,你可以像使用十进制一样,方便地使用二进制形式的字面值来表示数值。
例如:
// 一个8位的byte值: byte abyte = 0b100001; // 一个16位的short值: short ashort = 0b1010010100101; // 一个32位的int值: int anint1 = 0b101000010100010110100101000101; // 一个64位的long值(注意末尾的后缀「l」) long along = 0b101000010l; // 二进制字面值以0b或0b开头,不区分大小写 int anint2 = 0b101;
在java se 7中,还支持以下划线作为分隔符联接的数值表示方式:
//十进制形式 int anint1 = 123_45_6; //二进制、十六进制等形式也支持 int anint2 = 0b10_0110_100; int anint3 = 0xff_ec_de_5e; //小数形式也支持 float pi = 3.14_15f; double adouble = 3.14_15; //多个下划线相连 int chain = 5______2____0;
不过以下几种书写形式是错误的:
//下划线不能放在最后 int x = 52_; //错误 //下划线不能邻近小数点(邻近小数点前后都不行) float pi1 = 3_.1415f; // 错误 float pi2 = 3._1415f; //错误 //下划线不能紧放在后缀「l」或「f」的前面 float pi3 = 3.1415_f; //错误 long along1 = 999_99_9999_l;//错误 //下划线不能放在表示进制的前缀字符之间 int x5 = 0_x52; //错误
此外,还要注意下面这种,将下划线放在最前面的情况:
int _52 = 120; //在java中,变量名称不能以数字开头,但可以下划线开头 int x = _52; //所以,这里的_52并不是一个数字的字面值形式,而是一个变量标识符(变量名)