课程
/后端开发
/Java
/Java入门第二季 升级版
为什么执行结果显示num1,num2,num3值为0?
2019-03-14
源自:Java入门第二季 升级版 8-10
正在回答
你不加int来赋值就是给成员变量(全局变量)赋值,在main里用到该变量时就输出你赋的值;如果你加了int就相当于你在那个方法里又定义了一个局部变量(和全局变量同名,同类型),并且赋了值,这时局部变量有值了,但全局变量还没赋值,还是默认为0,这时main输出的肯定是那个没赋值的全局变量,就输出默认值0
int num1=91;//是包括了定义一个变量并赋值两步
首先是成员变量,还是局部变量,不同变量作用域中,默认值和主动赋值作用域也不一样!
因为你这样操作只在方法内部可以使用该变量,在最后的main方法中输出时使用的是全局变量,即一开始你所设定的变量,系统自动赋初值为0,所以你输出的都是0。
举报
课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙
2 回答The constructor Student(int, String, int, int, int, String) is undefined
2 回答为什么有的在调用方法时不用加int?这里要加?
3 回答为什么类的加载过程会是静态变量num3在最前面?
1 回答int newScore = mi.getScore();
2 回答public static int num=10;&static public int num=10;