为什么执行结果显示num1,num2,num3值为0?
你不加int来赋值就是给成员变量(全局变量)赋值,在main里用到该变量时就输出你赋的值;如果你加了int就相当于你在那个方法里又定义了一个局部变量(和全局变量同名,同类型),并且赋了值,这时局部变量有值了,但全局变量还没赋值,还是默认为0,这时main输出的肯定是那个没赋值的全局变量,就输出默认值0
int num1=91;//是包括了定义一个变量并赋值两步
首先是成员变量,还是局部变量,不同变量作用域中,默认值和主动赋值作用域也不一样!
因为你这样操作只在方法内部可以使用该变量,在最后的main方法中输出时使用的是全局变量,即一开始你所设定的变量,系统自动赋初值为0,所以你输出的都是0。