但是,如果用前导零检查Integer,则会发现问题是在jdk7发行之前进行的,因此其研究工作量较小。但是在jdk7中,对整数进行了一些更改和添加。以下是有关jdk7的最新答案。
我有一个代码:
class Test{ public static void main(String[] args){ int x=09; System.out.println(x); } }
编译时出现错误:整数太大:09
为什么这样做呢?
同样,如果我将代码更改为:
class Test{ public static void main(String[] args){ int x=012; System.out.println(x); } }
现在输出是10
为什么给输出10而不是12?
开头的数字0被认为是八 - 9不是一个八进制数字(但(传统)0-7)。
0
十六进制文字开头0x,例如0xA。
0x
0xA
直到Java 6为止,二进制文件都没有文字符号,您必须使用类似
int a = Integer.parseInt("1011011", 2);
第二个参数指定所需的基数。
Java7现在具有二进制文字。
在Java SE 7中,整数类型(字节,短型,整型和长型)也可以使用二进制数字系统表示。要指定二进制文字,请在数字前添加前缀0b或0B。
0b
0B