但我们需要把数据分组管理的时候,就需要用到二维数组
(相关资料图)
格式:
数据类型[][]数组名 =new 数据类型[][]{{元素1,元素2},{元素1,元素2}};
eg:int [][] arr = new int[][]{{11,22},{33,44}}简化格式:数据类型[][]数组名 ={{元素1,元素2},{元素1,元素2}};
eg:int[][] arr = {{11,22},{33,44}}或者:(一般不建议用)
int arr [][] = {{11,22},{33,44}}例子:二维数组初始化package com.itheima.Method;//二维数组初始化public class 二维数组加遍历 { public static void main(String[] args) { //两种方式静态初始化数组 int[][] arr = new int[][]{{12, 25, 36}, {52, 74, 68}, {88, 32, 60}}; int[][] arr1 = {{12, 25, 36}, {52, 74, 68},{88, 32, 60}}; int[][] arr2 = { {12, 25, 36}, {52, 74, 68},//每一个一维数组其实是二维数组的元素中的元素,所以每一个一维数组之间都需要用逗号隔开 {88, 32, 60}//最后一个一维数组后面不需要加逗号 }; //获取数组// System.out.println(arr2[0]);//表示获取二维数组中的第一个一维数组 //arr2[0]:表示获取二维数组中的第一个一维数组 //arr2[0][0]:获取第1个一维数组中0索引的元素 System.out.println(arr2[0][0]);//12 System.out.println(arr[2][0]);//88运行结果:
1288
例子:二维数组遍历package com.itheima.Method;//二维数组初始化public class 二维数组加遍历 { public static void main(String[] args) { //两种方式静态初始化数组 int[][] arr = new int[][]{{12, 25, 36}, {52, 74, 68}, {88, 32, 60}}; int[][] arr1 = {{12, 25, 36}, {52, 74, 68},{88, 32, 60}}; int[][] arr2 = { {12, 25, 36}, {52, 74, 68},//每一个一维数组其实是二维数组的元素中的元素,所以每一个一维数组之间都需要用逗号隔开 {88, 32, 60}//最后一个一维数组后面不需要加逗号 }; //遍历二维数组 //外循环:遍历二维数组里面的一维数组 for (int i = 0; i < arr2.length; i++) { //i:表示二维数组中的每一个索引 //arr2[i]:表示以为数组中的每一个元素(一维数组) //内循环:遍历一维数组,得到里面的每一个元素 for (int j = 0; j < arr2[i].length; j++) { //j表示一维数组中的每一个元素 System.out.print(arr[i][j]+" "); } System.out.println();//换行 } }}运行结果:
12 25 3652 74 6888 32 60
2、动态初始化:格式:数据类型[][] 数组名 = new 数据类型[m][n] ;
m:表示这个二二维数组可以存放多少个一维数组
n:表示这每一个一维数组可以存放多少个元素
eg:int[][] arr = new int[2][3];该数组可以存放两个一维数组,每一个一维数组中可以存放三个int类型元素
例子:package com.itheima.Method;public class 二维数组动态初始化加遍历 { public static void main(String[] args) { 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(); } }}运行结果::
10 0 0 0 00 0 0 0 00 0 0 0 0
二维数组内存图:二维数组的特殊情况:特殊情况1:特殊情况2:二维数组练习二维数组的练习:计算出某商城每个季度的总营业额和全年的总营业额
package com.itheima.Method;/*二维数组的练习:计算出某商城每个季度的总营业额和全年的总营业额 */public class 二维数组练习 { public static void main(String[] args) { int[][] yearArr = { {22, 66, 44}, {77, 33, 88}, {25, 45, 65}, {11, 66, 99} };//定义一个二维数组 int yearSum = 0;//定义一个总营业额变量。 for (int i = 0; i < yearArr.length; i++) { int[] seasonArr = yearArr[i];//定义一个变量,存储每一个季度的营业额 int sum = sumSeasonArr(seasonArr);//调用每一个季度的营业额方法 System.out.println("第"+i+1+"个季度的营业额为:"+sum); yearSum +=sum;//全年总营业额 } System.out.println("全年总营业额为:"+yearSum); } //定义一个方法,计算每一个季度的营业额 public static int sumSeasonArr(int[] arr) { int sum = 0;//定义一个求和的变量 for (int i = 0; i < arr.length; i++) { sum += arr[i];//遍历每一个季度,并求每一个季度的和 } return sum;//返回变量 }}运行结果:
第01个季度的营业额为:132第11个季度的营业额为:198第21个季度的营业额为:135第31个季度的营业额为:176全年总营业额为:641
关键词:
Copyright 2015-2022 青年礼仪网 版权所有 备案号:皖ICP备2022009963号-20 联系邮箱:39 60 291 42@qq.com