在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