数字文字中的下划线– Java 7功能
时间:2020-02-23 14:35:38 来源:igfitidea点击:
Java 7的功能之一是在数字文字中加下划线。
您可以在任何数字文字的数字之间放置下划线,例如int,byte,short,float,long,double。
在数字文字中使用下划线将使您可以将其分为几组,以提高可读性。
数字文字中的下划线
让我们来看一下实际使用的数字文字下划线:
package com.theitroad.util;
public class UnderscoreNumericLiterals {
public static void main(String[] args) {
long ccNumber = 1234_5678_9012_3456L;
long ssn = 999_99_9999L;
float pi = 3.14_15F;
long hexadecimalBytes = 0xFF_EC_DE_5E;
long hexadecimalWords = 0xCAFE_BABE;
long maxOfLong = 0x7fff_ffff_ffff_ffffL;
byte byteInBinary = 0b0010_0101;
long longInBinary = 0b11010010_01101001_10010100_10010010;
int add = 12_3 + 3_2_1;
System.out.println("ccNumber="+ccNumber);
System.out.println("ssn="+ssn);
System.out.println("pi="+pi);
System.out.println("hexadecimalBytes="+hexadecimalBytes);
System.out.println("hexadecimalWords="+hexadecimalWords);
System.out.println("maxOfLong="+maxOfLong);
System.out.println("byteInBinary="+byteInBinary);
System.out.println("longInBinary="+longInBinary);
System.out.println("add="+add);
}
}
上面的程序编译正常,这是输出:
ccNumber=1234567890123456 ssn=999999999 pi=3.1415 hexadecimalBytes=-1253794 hexadecimalWords=-889275714 maxOfLong=9223372036854775807 byteInBinary=37 longInBinary=-764832622 add=444
数字文字下划线的提示
下划线只能放在数字之间。
您不能在小数点,L/F后缀或者基数前缀旁边添加下划线。
因此3._14、110_L,0x_123无效,将导致编译错误。数字之间允许有多个下划线,因此12___3是有效数字。
下划线不能放在下划线。
因此123_无效并导致编译时错误。将下划线放在数字文字的前面时,会将其视为标识符,而不是数字文字。
所以不要混淆它。在期望带数字的字符串时,不能使用下划线。
例如Integer.parseInt(" 12_3");将抛出java.lang.NumberFormatException。

