二维数组的应用场景
当我们需要把数据分组管理的时候,就要用到二维数组
二维数组的初始化
静态初始化
格式:数据类型[][] 数组名 = new 数据类型[][]{{1,2}{1,2}};
int[][] arr = new int[][]{{1,2},{1,2}};
简化格式:数据类型[][] 数组名 = {{1,2},{1,2}};
int[] [] arr2 = {{1,2},{1,2}}; 为了便于阅读,可以这么写
int[][] arr1 = { {-1, -2, -3}, {1, 2, 3, 4, 5} };
System.out.println(arr1[0]);//表示获取二维数组中第一个一维数组
System.out.println(arr1[0][0]);//打印0 //如果要获取5 System.out.println(arr1[1][4]);
arr[i][j]
arr:表示二维数组
i:表示二维数组的索引,获取出来的是一维数组
j:表示一维数组的索引,获取出来的是一维数组中的元素
//遍历二维数组 //遍历二维数组,得到里面的一维数组 for (int i = 0; i < arr.length; i++) { //i表示二维数组中的索引 //arr[i]表示二维数组中每一个元素 //遍历一维数组,得到里面的每一个元素 for (int j = 0; j < arr[i].length; j++) { System.out.print(arr[i][j] + " "); } System.out.println(); }
动态初始化
格式:数据类型[][] 数组名 = new 数据类型[m][n]
m表示这个二维数组可以存放几个一维数组
n表示一维数组,可以存放多少个元素
int[][] arr = new int [2][3];
表示有2个一维数组,每个可以存放3个元素
//创建二维数组 int[][] arr = new int[3][5]; //给二位数组赋值一个元素 arr[0][0] = 10; for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr[i].length; j++) { System.out.print(arr[i][j] + " "); } System.out.println(); }
求公司每个季度的营业额以及总营业额
int[][] yearArrArr = { {22, 66, 44}, {23, 46, 54}, {28, 64, 74}, {29, 36, 34} }; //全年的营业额 int yearSum = 0; //遍历二维数组,得到每一个一维数组 for (int i = 0; i < yearArrArr.length; i++) { //得到每一个季度的一维数组 int[] quarterArr = yearArrArr[i]; //求每一个一维数组的总额 int sum = getSum(quarterArr); System.out.println("第" + (i + 1) + "个季度的营业额" + sum); yearSum = yearSum + sum; } //总营业额 System.out.println(yearSum); } //定义一个方法,求每个季度的营业额 public static int getSum(int[] arr) { int sum = 0; for (int i = 0; i < arr.length; i++) { sum = sum + arr[i]; } return sum; } }