Java SE 7 新特性:在数值类型字面值中使用下划线分隔

来源:互联网 发布:广东人长相知乎 编辑:程序博客网 时间:2024/05/30 05:14

原文地址:http://www.365mini.com/page/8.htm

在Java SE 7中,还支持以下划线作为分隔符联接的数值表示方式:

  1. //十进制形式
  2. int anInt1 = 123_45_6;
  3. //二进制、十六进制等形式也支持
  4. int anInt2 = 0b10_0110_100;
  5. int anInt3 = 0xFF_EC_DE_5E;
  6. //小数形式也支持
  7. float pi = 3.14_15F;
  8. double aDouble = 3.14_15;
  9. //多个下划线相连
  10. int chain = 5______2____0;

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

  1. //下划线不能放在最后
  2. int x = 52_;                //错误
  3. //下划线不能邻近小数点(邻近小数点前后都不行)
  4. float pi1 = 3_.1415F;       // 错误
  5. float pi2 = 3._1415F;       //错误
  6. //下划线不能紧放在后缀「L」或「F」的前面
  7. float pi3 = 3.1415_F;       //错误
  8. long aLong1 = 999_99_9999_L;//错误
  9. //下划线不能放在表示进制的前缀字符之间
  10. int x5 = 0_x52;             //错误

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

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