学习要点
- 二维数组的定义
- 二维数组内存数据结构
- 不规则二维数组
二维数组的定义
语法格式
格式一
数据类型[][] 数组名 = new 数据类型[m][n];
m:表示这个二维数组有多少个一维数组。
n:表示每一个一维数组的元素有多少个。
注意:以下格式也可以表示二维数组
数据类型 数组名[][] = new 数据类型[m][n];
数据类型[] 数组名[] = new 数据类型[m][n];
格式二
基本格式:
数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}};
简化版格式:
数据类型[][] 数组名 = {{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}};
示例代码
// 定义二维数组 int[][] arrs = new int[3][3]; //二维数组赋值 arrs[0] = new int[] { 1, 2, 3 }; arrs[1] = new int[] { 4, 5, 6 }; arrs[2] = new int[] { 7, 8, 9 }; //输出二维数组元素:外层遍历行,内层遍历每一行的列 for(int i=0;i<arrs.length;i++){ for(int j=0;j<arrs[i].length;j++){ System.out.print(arrs[i][j]+" "); } System.out.println(); }
二维数组内存数据结构
数组属于引用类型数据,默认值为null。定义二维数组时,栈空间存储着数组的引用地址;堆空间存储着数组的数据。定义二维数组时,必须明确一维长度。
不规则二维数组
语法格式
数据类型[][] 数组名 = new 数据类型[m][];
m:表示这个二维数组有多少个一维数组。
列数没有给出,可以动态的给。这一次是一个变化的列数。
示例代码
// 定义二维数组 int[][] arrs = new int[3][]; // 二维数组赋值 arrs[0] = new int[] { 1, 2, 3 }; arrs[1] = new int[] { 4, 5, 6, 7, 8, 9 }; arrs[2] = new int[] { 7, 8, 9, 10, 11, 12, 13 }; // 输出二维数组元素 for (int i = 0; i < arrs.length; i++) { for (int j = 0; j < arrs[i].length; j++) { System.out.print(arrs[i][j] + " "); } System.out.println(); }