JDK1.7新特性-下划线分割数值字面量

JDK7开始为了提高代码可读性,对数值字面量做了一些调整:

  • 可以用二进制来表示整数(byte、short、int、long)并进行赋值,以方便被编译器解析

  • 下划线字符’_'能够出现在数值字面量的数字之间的任何位置

    这个功能可以用来对整型、浮点型 数值字面量根据位数分组,提高数值可读性

public static void main(String[] args) {
   int a = 1_0000_0000;
   //下划线不会输出,只是为了增强对数值的阅读性
   System.out.println("a = " + a);
   //结果: a = 100000000

   int b = 1024_2048;
   System.out.println("b = " + b);
   //结果: b = 10242048

   //在jdk7中提供了以'0b'或'0B'开头的二进制整数类型数值表达方式
   int c = 0b00_0001; //表示二进制的 '1'
   System.out.println("c = " + c);
   //结果: c = 1

   //这种书写方法与上面的书写方法效果完全相同,程序员编写时更加清晰而已.
   //0b开头代表二进制数,因为int 为四字节,每个字节八位,所以最多不能超过32位。
   int d = 0b000_0000_0000_0000_0000_0000_0000_0000_1;
   System.out.println("d = " + d);
   //结果: d = 1

   //一个9位'byte'值,但是前几位是‘0’,大小没超过该数值范围,不需要强转
   //byte数值范围一字节,每字节八位,最多不能超过八位。
   byte e = 0b00000_0001;
   System.out.println("e = " + e);
   //结果: e = 1

   //一个64位的'long'值. long数值范围内可以不用'L'或'l'结尾:
   long f = 0b0000_0001L;
   System.out.println("f = " + f);
   //结果: f = 1

   //数字'0'开头表示八进制,打印输出默认十进制
   int g = 010;
   System.out.println("g = " + g);
   //结果: g = 8

   //数值以'0x'或'0X'开头表示十六进制数值。(打印输出默认十进制)
   int h = 0x0001;
   System.out.println("h = " + h);
   //结果: h = 1

   int add = 1_0000 + 10;
   System.out.println("add = " + add);
   //结果: add = 10010

   int subtract = 1_0000 - 10;
   System.out.println("subtract = " + subtract);
   //结果: subtract = 9990

   int multiply = 1_0000 * 10;
   System.out.println("multiply = " + multiply);
   //结果: multiply = 100000

   int divide = 1_0000 / 10;
   System.out.println("divide = " + divide);
   //结果: divide = 1000

   //浮点类型默认为double类型,如需使用其他浮点类型需要在尾部添加'F'或'f'强转(float)
   //float可能会损失精度
   double pi = 3.14_15_92_65_36;
   System.out.println("pi = " + pi);
   //结果: pi = 3.1415926536

   double height = 8_8_4_8.23;
   System.out.println("height = " + height);
   //结果: 8848.23

   //基本类型转换
   float i = (float) 0.1;
   //尾部加'f'或'F'强制类型转换
   float j = 0.1f;
   System.out.println("i = " + i);
   //结果: i = 0.1
   System.out.println("j = " + j);
   //结果: j = 0.1
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值