一、定义
/*
二维数组:元素是一维数组的数组
语句定义格式1:
数据类型[][] 数组名 = new 数据类型[m][n];
举例:int[][] arr = new int[2][3];
表示创建了一个元素是int类型的二维数组,其中二维数组中有两个一维数组,每一个一维数组中的元素个数是3。
语句定义格式2:
数据类型[][] 数组名 = new 数据类型[m][];
举例:int[][] arr = new int[2][];
arr[0] = new int[]{11,22,33,44};
arr[1] = new int[]{100,200};
语句定义格式3:
数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2,...},{元素1,...},...};
举例:int[][] arr = new int[][]{{11,22,33,44},{100,200}};
简化写法:数据类型[][] 数组名 = {{元素1,元素2,...},{元素1,...},...};
举例:int[][] arr = {{11,22,33,44},{100,200}};
今后可能会遇见的写法:
1、int[] arr[] = {{11,22,33,44},{100,200}}; √
2、int arr[][] = {{11,22,33,44},{100,200}}; √
3、int [] [] arr = {{11,22,33,44},{100,200}}; √
4、int[][] arr = new int[][]{{11,22,33,44},{100,200}}; √【规范写法】
5、int[][] arr = new int[2][]{{11,22,33,44},{100,200}}; ×
*/
public class Array2Demo4 {
public static void main(String[] args) {
int[][] arr = new int[2][3];
System.out.println(arr); // 二维数组的地址值
System.out.println(arr[0]); // 二维数组中第一个一维数组的地址值
System.out.println(arr[1]); // 二维数组中第二个一维数组的地址值
System.out.println(arr[0][0]); // 二维数组中第一个一维数组的第1个元素值
}
}
二、二维数组的遍历
/*
二维数组的遍历
*/
public class Array2Test1 {
public static void main(String[] args) {
//创建一个二维数组
int[][] arr = {{11, 22, 33, 44}, {100, 200}};
for (int i = 0; i < arr.length; i++) { // 外层循环遍历到每一个一维数组
for (int j = 0; j < arr[i].length; j++) { //内层循环遍历的是每一个一维数组的元素
System.out.println(arr[i][j]);
}
}
}
}
三、练习
/*
公司年销售额求和
某公司按照季度和月份统计的数据如下:单位(万元)
第一季度:22,66,44
第二季度:77,33,88
第三季度:25,45,65
第四季度:11,66,99
*/
public class Array2Test2 {
public static void main(String[] args) {
int[][] arr = {{22, 66, 44}, {77, 33, 88}, {25, 45, 65}, {11, 66, 99}};
int sum = 0;
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i].length; j++) {
sum += arr[i][j];
}
}
System.out.println("该公司年销售总额为:" + sum);
}
}