java二维数组
1 二维数组的定义方式
二维数组的定义有很多方式
第一种方式:
int[][] arr = new int[3][4];
上面的代码相当于定义了一个3*4的二维数组,即二维数组的长度为3,二维数组中的每个元素又是一个长度为4的数组。
第二种方式:
int[][] arr = new int[3][];
第二种方式和第一种类似,只是数组中每个元素的长度不确定。
第三种方式:
int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};
上面的二维数组中定义了三个元素,这三个元素都是数组,分别为{1,2}、{3,4,5,6}、{7,8,9}
2 二维数组元素的访问
class ArrayDemo08 { public static void main(String[] args){ //定义二维数组的方式 int[][] arr = new int[3][4]; System.out.println( arr ); System.out.println("二维数组的长度: " + arr.length); //获取二维数组的3个元素 System.out.println( arr[0] ); System.out.println( arr[1] ); System.out.println( arr[2] ); System.out.println("打印第一个一维数组的元素值"); System.out.println( arr[0][0] ); System.out.println( arr[0][1] );//访问的为二维数组中第1个一维数组的第2个元素 System.out.println( arr[0][2] ); System.out.println( arr[0][3] ); System.out.println("打印第二个一维数组的元素值"); System.out.println( arr[1][0] ); System.out.println( arr[1][1] ); System.out.println( arr[1][2] ); System.out.println( arr[1][3] ); System.out.println("打印第三个一维数组的元素值"); System.out.println( arr[2][0] ); System.out.println( arr[2][1] ); System.out.println( arr[2][2] ); System.out.println( arr[2][3] ); } }
运行结果为:
3 二维数组的元素遍历与数组累加和
class ArrayDemo09 { public static void main(String[] args){ //一维数组的求累加和并遍历 int[] arr = {10,20,30,40,50}; int sum = 0; for (int i=0; i<arr.length; i++) { //System.out.println(arr[i]); sum += arr[i]; } System.out.println("sum= " + sum); System.out.println("---------------------"); //二维数组的求累加和并遍历 int[][] arr2 = { {1,2},{3,4,5},{6,7,8,9,10} }; int sum2 = 0; for (int i=0; i<arr2.length; i++) { for (int j=0; j<arr2[i].length; j++) { //System.out.println(arr2[i][j]) sum2 += arr2[i][j]; } } System.out.println("sum2= "+ sum2); } }
运行结果:
4 二维数组的练习
例如要统计一个公司三个销售小组中每个小组的总销售额以及整个公司的销售额。如下所示
l 第一小组销售额为{11, 12}万元
l 第二小组销售额为{21, 22, 23}万元
l 第三小组销售额为{31, 32, 33, 34}万元。
1 public class ArrayDemo10 { 2 public static void main(String[] args) { 3 int[][] arr = new int[3][]; // 定义一个长度为3的二维数组 4 arr[0] = new int[] { 11, 12 }; // 为数组的元素赋值 5 arr[1] = new int[] { 21, 22, 23 }; 6 arr[2] = new int[] { 31, 32, 33, 34 }; 7 8 int sum = 0; // 定义变量记录总销售额 9 for (int i = 0; i < arr.length; i++) { // 遍历数组元素 10 int groupSum = 0; // 定义变量记录小组销售总额 11 for (int j = 0; j < arr[i].length; j++) { // 遍历小组内每个人的销售额 12 groupSum = groupSum + arr[i][j]; 13 } 14 sum = sum + groupSum; // 累加小组销售额 15 System.out.println("第" + (i + 1) + "小组销售额为:" + groupSum + " 万元"); 16 } 17 System.out.println("总销售额为: " + sum + " 万元"); 18 } 19 }
运行结果为: