数字文字中的下划线– 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
。