美文网首页
JAVA当中变量什么时候需要初始化

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

作者: 弹钢琴的安徒生 | 来源:发表于2018-11-27 21:51 被阅读5次

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

默认值如下:

Boolean      false

Char           '\u0000'(null)

 byte            (byte)0

 short           (short)0

int               0

 long            0L

float            0.0f 

double        0.0d 

2. 局部变量声明之后,Java虚拟机就不会自动给它初始化为默认值,因此局部变量的使用必须先经过显式的初始化。

      但是需要声明的是:对于只负责接收一个表达式的值的局部变量可以不初始化,参与运算和直接输出等其它情况的局部变量需要初始化。

通过下面这个测试可以看到JVM对哪些数据初始化,哪写数据不初始化:

public class TestStatic {

static int x;//类的成员变量,JVM负责初始化

static int method()

{

int y=0;//此处必须自己初始化,它不属于类成员变量,是个method的局部变量,JVM不负责初始化

return y;

}       

public static void main(String[] args) {

TestStatic as=new TestStatic();

int z=0;//此处必须自己初始化,它不属于类成员变量,是个主函数里的局部变量,JVM不负责初始化

int aa=3;//此处aa参与了运算,所以必须初始化

aa=aa+2;

int a=1,b=2,max; //max只是负责接收表达式的值,不需要初始化

max=a>b?2:1;

System.out.println(max);//1

System.out.println(aa);//5

System.out.println("z="+z);//z=0

System.out.println("x="+as.x);//x=0

System.out.println("y="+as.method());//y=0

}

}

总结为一句话便是:

 类里定义的数据成员称为属性,属性可不赋初值,若不赋初值则JAVA会按上表为其添加默认值;方法里定义的数据成员称为变量,变量在参与运算之前必须赋初值。

相关文章

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

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

  • 各种面试问题汇总

    1.JAVA变量什么时候需要初始化? 像memo[][]这样的 类的成员变量不需要,因为JVM会自动给其赋值; 像...

  • Java变量运算符和表达式, 2021-08-14

    (2021.08.14 Sat) 变量 Java变量初始化时需要指定变量类型,如 Java中共有8种基本数据类型,...

  • JAVA变量(二) 9.29

    Java变量使用规则 1.Java中变量需要先声明后使用。 2.变量使用时,可声明同时进行初始化,也可以先声明后赋...

  • Java变量初始化

    Java的变量初始化 变量类型 + 变量名 + 值

  • 第45节:Java当中的变量,面向对象

    Java当中的变量 01 Java当中的实例变量和类变量 什么是实例变量和类变量呢? 实例变量为没有用static...

  • java 入门笔记

    变量 java中声明的局部变量(声明在方法,if, while, for)变量必须初始化,未经过初始化的变量直接使...

  • Java中变量的使用规则

    1、Java 中的变量需要先声明后使用 2、变量使用时,可以声明变量的同时进行初始化 , 也可以先声明后赋值 3、...

  • Kotlin 基础语法

    包 定义和引入Java一样,在文件开头, 行结束不需要” ; “ 变量 只读变量,val 开头,初始化后不能再赋值...

  • kotlin属性初始化和懒加载之lateinit、by lazy

    java属性的初始化 在说kotlin属性初始化之前我们先来看下java属性的初始化 大体分为成员变量初始化、静态...

网友评论

      本文标题:JAVA当中变量什么时候需要初始化

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