1. 定义二维数组
int[][] arr = new int[3][] ;
表示意思是:二维数组中有 3个一维数组,而每个一维数组中有多少个元素是未知的
3. 二维数组初始化及内存图如下
二维数组初始化及内存图2.png
分析上图可知:
System.out.println(arr); // 打印二维数组地址值
// 因为 new int[3][] 中的 [] 是空的,所以这个时候只有开辟了3个空间,还没有具体的一维数组,所以这3个一维数组 初始化值都是 null
System.out.println(arr[0]); // null
System.out.println(arr[1]); // null
System.out.println(arr[2]); // null
// 给一维数组初始化之后打印结果如下:
System.out.println(arr); // 二维数组地址值
System.out.println(arr[0]); // 第一个一维数组地址值
System.out.println(arr[1]); // 第二个一维数组地址值
System.out.println(arr[2]); // 第三个一维数组地址值
System.out.println(arr[0][2]); // 第一个一维数组的第3个元素 0
System.out.println(arr[1][2]); // 第二个一维数组的第3个元素 不存在
System.out.println(arr[2][2]); // 第三个一维数组的第3个元素 0