为什么09的整数“太大”?
但是,如果用前导零检查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)。
十六进制文字开头0x
,例如0xA
。
直到Java 6为止,二进制文件都没有文字符号,您必须使用类似
int a = Integer.parseInt("1011011", 2);
第二个参数指定所需的基数。
Java7现在具有二进制文字。
在Java SE 7中,整数类型(字节,短型,整型和长型)也可以使用二进制数字系统表示。要指定二进制文字,请在数字前添加前缀
0b
或0B
。
以上是 为什么09的整数“太大”? 的全部内容, 来源链接: utcz.com/qa/407278.html