哈夫曼树_ 2023-03-13 16:40 采纳率: 57.7%
浏览 27
已结题

Java 为什么此处x默认为0?


public class AAA {
    int x;   // 0
    public static void main(String[] args) {
        int y;
        AAA a = new AAA();
        // y = 3 / a.x;   // ArithmeticException
        System.out.println(a.x);
    }
}

我预想的结果是报错:尚未初始化变量x,但是最后结果是说x = 0。 为什么此处x默认为0,是因为x是全局变量吗?

  • 写回答

4条回答 默认 最新

  • 於黾 2023-03-13 16:55
    关注

    在java中,局部变量不初始化会报错
    而全局变量和成员变量会有默认值
    这里x是类AAA 的成员变量,不是全局变量

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月21日
  • 已采纳回答 3月13日
  • 创建了问题 3月13日

悬赏问题

  • ¥50 silvaco GaN HEMT有栅极场板的击穿电压仿真问题
  • ¥15 谁会P4语言啊,我想请教一下
  • ¥20 win11无法启动 持续蓝屏且系统还原失败,无法开启系统保护
  • ¥15 哪个tomcat中startup一直一闪而过 找不出问题
  • ¥15 这个怎么改成直流激励源给加热电阻提供5a电流呀
  • ¥50 求解vmware的网络模式问题 别拿AI回答
  • ¥24 EFS加密后,在同一台电脑解密出错,证书界面找不到对应指纹的证书,未备份证书,求在原电脑解密的方法,可行即采纳
  • ¥15 springboot 3.0 实现Security 6.x版本集成
  • ¥15 PHP-8.1 镜像无法用dockerfile里的CMD命令启动 只能进入容器启动,如何解决?(操作系统-ubuntu)
  • ¥30 请帮我解决一下下面六个代码