服务器之家

服务器之家 > 正文

在Java中使用下划线分隔数的字面值的用法讲解

时间:2020-04-11 13:28     来源/作者:goldensun

在Java SE 7中新增了以二进制形式的字面值表示方式,你可以像使用十进制一样,方便地使用二进制形式的字面值来表示数值。

例如:

?
1
2
3
4
5
6
7
8
9
10
// 一个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中,还支持以下划线作为分隔符联接的数值表示方式:

?
1
2
3
4
5
6
7
8
9
10
//十进制形式
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;

不过以下几种书写形式是错误的:

?
1
2
3
4
5
6
7
8
9
10
//下划线不能放在最后
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;    //错误

此外,还要注意下面这种,将下划线放在最前面的情况:

?
1
2
int _52 = 120; //在Java中,变量名称不能以数字开头,但可以下划线开头
int x = _52;  //所以,这里的_52并不是一个数字的字面值形式,而是一个变量标识符(变量名)

 

标签:

相关文章

热门资讯

沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部