今天被问到Java中boolean的默认值是啥?脑子里浮现的是false,但是不知道大家有没有注意到,其实虽然基本类型有默认值但是,如果不初始化直接使用或输出是编译不通过的,直接上代码:
直接编译错误,提示没有初始化不能使用:原因是没有初始化变量a。
因为JVM在进行类加载时是不会给局部变量赋值的,只会给静态(static)成员变量赋值,所以在类加载完成时,局部变量是没有初始值的,我们必须认为的为他初始化。
编译成功,输出默认值:false
今天被问到Java中boolean的默认值是啥?脑子里浮现的是false,但是不知道大家有没有注意到,其实虽然基本类型有默认值但是,如果不初始化直接使用或输出是编译不通过的,直接上代码:
直接编译错误,提示没有初始化不能使用:原因是没有初始化变量a。
因为JVM在进行类加载时是不会给局部变量赋值的,只会给静态(static)成员变量赋值,所以在类加载完成时,局部变量是没有初始值的,我们必须认为的为他初始化。
编译成功,输出默认值:false