📜  在Java中的数值字面量中使用下划线

📅  最后修改于: 2022-05-13 01:55:09.063000             🧑  作者: Mango

在Java中的数值字面量中使用下划线

引入Java时,不允许在数字字面量中使用下划线,但从Java 1.7 版开始,我们可以在数字字面量的数字之间使用 '_' 下划线符号。您只能在数字之间放置下划线。请记住,有些地方我们不能放置下划线,如下所示:

  • 在数字的开头或结尾
  • 与浮点字面量中的小数点相邻
  • 在 F 或 L 后缀之前
  • 在需要字符串数字的位置
  • 如果我们使用,我们只能在数字之间使用下划线符号,否则我们会得到一个编译时错误。

让我们讨论插图以证明上述说法如下:

图 1:数字字面量中下划线的有效用法 

Input  : int i = 12_34_56; 
Output : 123456

Input  : double db = 1_2_3.4_5_6
Output : 123.456

插图 2:数字字面量中的无效用法

int i = _12345; // Invalid as this is an identifier, not a numeric literal
double db = 123._456; // Invalid as we cannot put underscores adjacent to a decimal point
double db 123_.456_; // Invalid as we cannot put underscores at the end of a number 

现在geek你一定想知道为什么引入它,所以基本上这种方法的主要优点是代码的可读性将得到提高。在编译时,这些下划线符号将被自动删除。我们也可以在数字之间使用多个下划线符号。例如,以下是一个有效的数字字面量,如下所示:

int x4 = 5_______2;        // OK (decimal literal)

实现:确保在编写代码之前,我们确实有Java 1.7 及更高版本,如标题本身所述。为了检查,打开终端并编写以下命令,如果没有,请安装最新的Java版本,如果已经更新,我们很高兴。

java -version  

例子:

Java
// Java program to illustrate
// using underscore in Numeric Literals
 
// Main class
// UnderScoreSymbols
class GFG {
 
    // Main driver method
    public static void main(String[] args)
    {
 
        // Declaring and initializing numeric literals
        int i = 12_34_5_6;
        double db = 1_23.45_6;
        // Literal with underscore
        int x4 = 5_______2;
 
        // Simply printing and displaying above literals
        System.out.println("i = " + i);
        System.out.println("db = " + db);
        System.out.println("x4 = " + x4);
    }
}


输出
i = 123456
db = 123.456
x4 = 52