例题中如果把num1=91前加上int,num2=74前加上int,num3=83前加上int

来源:8-10 Java 中的 static 使用之静态初始化块

ARUKANA

2019-03-14 12:51

为什么执行结果显示num1,num2,num3值为0?

写回答 关注

3回答

  • 慕沐3429465
    2019-05-07 20:05:15

    你不加int来赋值就是给成员变量(全局变量)赋值,在main里用到该变量时就输出你赋的值;如果你加了int就相当于你在那个方法里又定义了一个局部变量(和全局变量同名,同类型),并且赋了值,这时局部变量有值了,但全局变量还没赋值,还是默认为0,这时main输出的肯定是那个没赋值的全局变量,就输出默认值0

    int num1=91;//是包括了定义一个变量并赋值两步

  • 慕仔6157324
    2019-05-06 15:30:44

    首先是成员变量,还是局部变量,不同变量作用域中,默认值和主动赋值作用域也不一样!

  • 恩宁哒
    2019-05-06 15:23:49

    因为你这样操作只在方法内部可以使用该变量,在最后的main方法中输出时使用的是全局变量,即一开始你所设定的变量,系统自动赋初值为0,所以你输出的都是0。

Java入门第二季 升级版

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

530644 学习 · 6091 问题

查看课程

相似问题