• Java中有默认值就不用初始化变量了吗?


    这是一个很常见的现象,不知道大家有没有注意到,直接上代码

    大家想想以下代码的运行情况会是什么

    public class Main {
        static int a;
        public static void main(String[] args) {
            int b;
            System.out.println(a);
            System.out.println(b);
        }
    }

    这段代码直接会编译错误,提示没有初始化变量b

    原因就在于我们在java类加载总结这篇博文中提到JVM在进行类加载的时候有一个准备阶段,这个阶段会给类变量赋“零”值,但是并不包括局部变量,所以在程序加载完成时,局部变量是没有初始值的,必须我们人为初始化,修改代码

    public class Main {
        static int a;
        public static void main(String[] args) {
            int b = 0;
            System.out.println(a);
            System.out.println(b);
        }
    }

    以上代码输出结果就是 0 0 。

    可见类变量会拥有默认值,局部变量不会拥有默认值。

  • 相关阅读:
    qt动态加载UI文件
    Qt常见控件和操作
    MySQL
    tomcat
    linux iptables基础
    linux 网络基础
    linux CA及OpenSSL学习
    k8s 访问控制
    k8s 存储卷
    docker 安装部署
  • 原文地址:https://www.cnblogs.com/dwwzone/p/12849620.html
Copyright © 2020-2023  润新知