带下划线的数字文字在 Java 中如何工作?为什么将其添加到 jdk 1.7 中? [重复]

问题描述 投票:0回答:4

有人可以向我解释一下为什么在 JDK 7 中添加此功能以及它是如何工作的吗?

在了解 JDK 7 的新功能时,我发现了以下代码。

int i;
//Java 7 allows underscore in integer
i=3455_11_11;
java java-7
4个回答
99
投票

这用于对数字中的数字进行分组(例如信用卡等)

来自Oracle网站

在 Java SE 7 及更高版本中,任意数量的下划线字符 (_) 可以出现在数字文字中数字之间的任何位置。例如,此功能使您能够分隔数字文字中的数字组,这可以提高代码的可读性。

例如,如果您的代码包含多位数字,您可以 使用下划线字符分隔三个一组的数字, 类似于使用逗号等标点符号或 空格,作为分隔符。

总而言之,这只是为了可读性。


56
投票

请参阅数字文字中的下划线

在 Java SE 7 及更高版本中,任意数量的下划线字符 (_) 都可以 出现在数字文字中数字之间的任何位置。此功能 例如,使您能够分隔数字中的数字组 文字,可以提高代码的可读性。

试试这个:

int num = 111_222;
System.out.println(num); //Prints 111222

添加此功能是因为长数字有时难以阅读,因此您不必计算一个数字是一百万还是十万个“零”,而是可以这样做:

int myNum = 1_000_000;

现在很容易看出有两组3个零,显然数字是百万。比较一下:

int myNum = 1000000;

承认..在这里你必须数每个零..


8
投票

JDK 7

_
对于数字文字功能只是为了可读性。根据文档

在 Java SE 7 及更高版本中,任意数量的下划线字符 (_) 都可以 出现在数字文字中数字之间的任何位置。此功能 例如,使您能够分隔数字中的数字组 文字,可以提高代码的可读性。


6
投票

整数文字中下划线被完全忽略。例如,它可以添加到长数字中以 3 为一组的数字组中(就像在文本中所做的那样)。

© www.soinside.com 2019 - 2024. All rights reserved.