美文网首页程序员之家互联网科技程序员
Java变量初始化之后的默认值问题

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

作者: cb9841112785 | 来源:发表于2018-05-31 15:33 被阅读24次

1) 局部变量初始化(局部变量:函数、语句中的变量,只在所属区域内有效)

局部变量声明后,Java虚拟机不会自动给它初始化为默认值。

因此 对于局部变量,必须经过显示的初始化,才能使用它。

如果使用一个没有被初始化的局部变量,编译器会报错。

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

例:

2) 对于 类的成员变量,不管程序有没有显示的初始化,Java虚拟机都会先自动给它初始化为默认值。

对于数组, 数组引用类型的变量的默认值为null。当数组变量实例化后,如果没有显式地为每个元素赋值,Java会把该数组的所有元素初始化为相应类型的默认值。

这是因为所有对象实例以及数组是在堆上分配内存的。在内存分配完成后,虚拟机需要将分配到的内存空间都初始化为零值(不包括对象头)。

这一操作保证了对象的实例字段在java代码中可以不赋初值就直接使用,程序能访问这些字段的数据类型所对应的零值。

例1:

例2:

运行结果:

例3:

运行结果:

相关文章

  • Java变量的初始化

    Java变量默认值 Java变量的初始化,如果不赋值,将会有个默认值,对于基本类型,比如int,long是0, b...

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

    1) 局部变量初始化(局部变量:函数、语句中的变量,只在所属区域内有效) 局部变量声明后,Java虚拟机不会自动给...

  • JAVA当中变量什么时候需要初始化

    1、对于类的成员变量,不管程序有没有显式的进行初始化,Java虚拟机都会先自动给它初始化为默认值 默认值如下:Bo...

  • 静态数据的初始化

    Java静态变量初始化遵循以下规则: 静态变量会按照声明的顺序先依次声明并设置为该类型的默认值,但不赋值为初始化的...

  • 成员变量与局部变量

    成员变量:定义在类中的属性,可以被当前的所有方法访问,成员变量如果没有手动初始化,则java系统会分配默认值(引用...

  • MySQL几种变量的对比使用

    系统变量又分为全局变量与会话变量。全局变量在MYSQL启动的时候由服务器自动将它们初始化为默认值,这些默认值可以通...

  • [Kotlin]变量,函数和类型

    1.Kotlin 变量没有默认值,需要初始化 2.kotlin中的空安全 变量需要手动初始化,所以不初始化会标错 ...

  • dart基础

    变量 动态类型or静态类型 变量类型: 内置类型 变量声明和赋值: Tips没有初始化的变量, 默认值都是null...

  • 变量初始值

    局部变量没有默认值,如果在变量被初始化之前使用的话,编译器会报错。 实例变量永远都会有默认值。 数组也是对象,数组...

  • Eclipse打印Java的char默认值,出现方框原因

    众所周知,Java为char赋值默认值(只有成员变量才会赋值,对于局部变量,不会有默认值),默认值就是'\u000...

网友评论

    本文标题:Java变量初始化之后的默认值问题

    本文链接:https://www.haomeiwen.com/subject/sdyqsftx.html