聊聊java变量的初始化之后的默认值
变量初始化后的默认值
对于类的成员变量
不管程序有没有显示的初始化,Java 虚拟机都会先自动给它初始化为默认值。
1、整数类型(byte、short、int、long)的基本类型变量的默认值为0。
2、单精度浮点型(float)的基本类型变量的默认值为0.0f。
3、双精度浮点型(double)的基本类型变量的默认值为0.0d。
4、字符型(char)的基本类型变量的默认为 “/u0000”。
5、布尔性的基本类型变量的默认值为 false。
6、引用类型的变量是默认值为 null。
7、数组引用类型的变量的默认值为 null。当数组变量的实例后,如果没有没有显示的为每个元素赋值,Java 就会把该数组的所有元素初始化为其相应类型的默认值。
数组例子:
1) int[] a; //声明,没有初始化默认值是null
2) int[] a=new int[5]; //初始化为默认值,int型为0
局部变量初始化
局部变量声明以后,Java 虚拟机不会自动的为它初始化为默认值。
因此对于局部变量,必须先经过显示的初始化,才能使用它。
如果编译器确认一个局部变量在使用之前可能没有被初始化,编译器将报错。
例如:
Java 默认初始化的简单总结
一、数组的默认初始化
1.一维数组的默认初始化
(1)数组元素是整型的默认初始化值为0
(2)数组元素是浮点型的的默认初始化值为0.0
(3)数组元素是char型的默认初始化值为0或者'\u0000',而非‘0'
(4)数组元素是boolean型的默认初始化值是false
(5)数组元素是引用类型的默认初始化值是null
2.二维数组的默认初始化
二维数组分为外层数组的元素和内层数组的元素
例如:int[ ][ ]arr=new int[6][8];
外层元素:arr[0],arr[1],arr[3]等
内层元素:arr[0][0],arr[1][2]等
数组元素的默认初始值
(1)初始化方式一:int[ ][ ]arr=new int[6][8]
外层元素的初始化值:地址值
内层元素的初始化值:与一维数组初始化情况相同
(2)初始化方式二:
外层元素的初始化值:null
内层元素的初始化值:不能调用,调用报错
二、类的属性的默认初始化
(1)数组元素是整型(byte,short,int,long)的默认初始化值为0
(2)数组元素是浮点型(float,double)的的默认初始化值为0.0
(3)数组元素是字符型(char)的默认初始化值为0或者'\u0000',而非‘0'
(4)数组元素是布尔型(boolean)的默认初始化值是false
(5)数组元素是引用类型(类,数组,接口)的默认初始化值是null