日期:2014-05-20  浏览次数:20637 次

java 基础
int x=3;
public static void main(String[] args) {
int x=012;
System.out.println(x); \\这里输出的是10为什么 ?

}

------解决方案--------------------
首先要确定x用的是哪个值,是main方法外的3还是main方法里的012?局部变量优先于全局变量,所以x的值为012。
Java中八进制的数以0开头,那么012就等于十进制的8*1+2*1=10。
------解决方案--------------------
数字前面+了0的,比如:012就是8进制等于10,06就是6。
012计算出10进制就是10了。
int x=012;是局部变量,会优先使用。
如果楼主要使输出结果为3,可以这样写:System.out.println(this.x);
那么结果就是3了