• Java变量初始化之后的默认值问题


    1) 局部变量初始化(局部变量:函数、语句中的变量,只在所属区域内有效)
    局部变量声明后,Java虚拟机不会自动给它初始化为默认值。
    因此对于局部变量,必须经过显示的初始化,才能使用它。
    如果使用一个没有被初始化的局部变量,编译器会报错。

    局部变量存储于虚拟机栈的局部变量表中
    例:

    2) 对于类的成员变量,不管程序有没有显示的初始化,Java虚拟机都会先自动给它初始化为默认值。
    对于数组,数组引用类型的变量的默认值为null。当数组变量实例化后,如果没有显式地为每个元素赋值,Java会把该数组的所有元素初始化为相应类型的默认值。
    这是因为所有对象实例以及数组是在堆上分配内存的。在内存分配完成后,虚拟机需要将分配到的内存空间都初始化为零值(不包括对象头)。这一操作保证了对象的实例字段在java代码中可以不赋初值就直接使用,程序能访问这些字段的数据类型所对应的零值。

    例1:

    例2:

    运行结果:

    例3:

    运行结果:

  • 相关阅读:
    11.2
    11.1
    10.31JS中级
    10.24
    动画运动
    操作js的样式
    js
    js元素属性
    js轮播
    js计时器
  • 原文地址:https://www.cnblogs.com/zeroingToOne/p/9100818.html
Copyright © 2020-2023  润新知