Java7 数字下划线增强

在 Java7 中,引入了在数字字面量中使用下划线(_)来增强数字的可读性。使用下划线可以将长数字分隔成更易读的部分,而不会影响数字的值。例如:

package com.hxstrive.jdk7.base;

/**
 * JDK7新特性之下划线
 * @author hxstrive.com
 */
public class UnderlineDemo1 {

    public static void main(String[] args) {
        // 1. 数字下划线
        int a = 1_000;
        System.out.println(a);

        // 2. 字符串下划线
        String str = "Hello, _World!";
        System.out.println(str);

        // 3. 浮点数下划线
        double b = 1_000.5;
        System.out.println(b);
    }

}

⚠️注意,下划线可以放在数字中的任何位置,但不能放在数字的开头或结尾,并且相邻的下划线是不允许的。例如:

int a = _10_2100; // 错误
int a = 10_2100_; // 错误

int b = 10__2100; // 正确
System.out.println(b); // 102100

int c = 10_2_100; // 正确
System.out.println(c); // 102100

如果我们将下划线和二进制字面值表示方法相结合,那么二进制字面量串看上去会更优雅,例如:

package com.hxstrive.jdk7.base;

/**
 * JDK7新特性之下划线
 * @author hxstrive.com
 */
public class UnderlineDemo2 {

    public static void main(String[] args) {
        int a = 0b0101_0100_0000_0111_0001_1101;
        int b = 0b0001_0000_0100_0010_0001_1101;
        System.out.println("a & b = " + (a & b));
        System.out.println("a | b = " + (a | b));
        System.out.println("a ^ b = " + (a ^ b));
        //结果:
        //a & b = 1049117
        //a | b = 5523229
        //a ^ b = 4474112
    }

}

上面示例中的 0b0101_0100_0000_0111_0001_1101 是不是比 0b010101000000011100011101 看上去更好阅读和优雅。

说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号