文章目录

  • Java中数值型字面量的表示
  • 二进制
  • 八进制
  • 十六进制
  • 十六进制可以表示小数
  • E(e)
  • 下划线


Java中数值型字面量的表示

二进制

在Java7开始,加上 0b或0B就可以写二进制 ,比如0b1001就是9。

八进制

数字以0开头即为表示8进制。 例如:八进制012,就是十进制的10,可以前缀0有多个,比如00022,表示十进制18.

十六进制

数字以0x或0X开头表示16进制。例如0x14,就是十进制的20。0xa0就是160。

十六进制可以表示小数

例如:0x1p-3就是十进制的0.125,0x2.8p0就是十进制的2.5,0x12.2p4是十进制的290。

p表示指数,基数是2。

计算规则,拿0x12.2p4举例,(1*161+2*160 + 2*16-1)*24

E(e)

对于double或float类型可以用e进行简化。比如1e9,就是109,34.2E-3,就是34.2*10-3(3.42E-4)

下划线

Java7开始,还可以利用 下划线来分割数字 ,使数字具有更好的可读性,例如:1_000_000 、0b11_1001等。byte,int,long,double,float,二进制,八进制,十六进制下都可以使用下划线。下划线除了在开头和末尾不能使用,可以在任意两数字中间使用,而且可以使用多个。最后Java编译器会在编译的时候把这些下划线去掉。