Java一维数组和二维数组元素默认初始化值的判断方式
作者:oneMoe
这篇文章主要介绍了Java一维数组和二维数组元素默认初始化值的判断方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
一、数组与数组元素
- Java中数组是引用类型
- 数组的元素可以是基本类型也可以是引用类型,弄清数组元素的类型可以帮助我们去理解数组元素默认初始化
二、一维数组
一维数组元素默认初始化值的情况分为两种,元素为基本数据类型和引用数据类型
1.元素为基本数据类型时
- 整型类型(byte、short、int、long) 默认的初始值都为0
- 浮点类型(float、double) 默认的初始值都为0.0
- 布尔型(boolean) 默认的初始值为flase
- 字符类型(char) 默认的初始值为0(空字符)
注意这里的0不同于整型类型的0更不是字符’0’,这指的是下图ASCII码表中十进制的0
现在我们测试如下代码加深理解
public class Test { public static void main(String[] args) { char[] a = new char[2]; if(a[0] == 0) { System.out.println("这是判断0的" + a[0] + "测试!"); } if(a[0] == '0') { System.out.println("这是判断字符'0'的" + a[0] + "测试!"); } } }
运行结果如下
通过结果我们发现a[0]的值判断为0而非字符’0’,打印输出时a[0]其实是一个空字符(这不是空格!!!)
2. 数组元素为引用类型时
元素为引用类型时默认的初始值都为null
三、二维数组
Java中二维数组其实用一维数组作为数组的元素来构成的
二维数组默认初始化值的判读分为两种情况(下面两种情况的书写格式用int表示,int可以换成其他的数据类型)
1. int[][] arr = new int[2][2]
- ①外层元素(arr[0],arr[1]):地址值
- ②内层元素(arr[0][0]):利用一维数组默认初始值判断
2. int[][] arr = new int[2][]
- ①外层元素(arr[0],arr[1]):地址值
- ②内层元素(arr[0][0]):空指针异常
我们结合下面的图来理解,因为二维数组其实是数组的数组,外层保存的是地址值,内层自然就可以按照一维数组判断
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。