java中给int赋值开头为0的数字的情况分析
在java中,定义int i=09;是错误的。
但定义int b=012;则是正确的。而且在输出b时,结果是10,而不是12.
其原因是因为java 把0开头的数字认定为8进制数。9>8.所以会报错。而012是8进制的12,等于十进制的10.

java中给int赋值开头为0的数字的情况分析
在java中,定义int i=09;是错误的。
但定义int b=012;则是正确的。而且在输出b时,结果是10,而不是12.
其原因是因为java 把0开头的数字认定为8进制数。9>8.所以会报错。而012是8进制的12,等于十进制的10.