二维数组
多维数组可以简单地理解为在数组中嵌套数组
二维数组的定义格式
二维数组的定义有很多方式
第一种方式
1 int[][] arr = new int[3][4];
上面的代码相当于定义了一个3*4的二维数组,即二维数组的长度为3,二维数组中的每个元素又是一个长度为4的数组
第二种方式
1 int[][] arr = new int[3][];
第二种方式和第一种类似,只是数组中每个元素的长度不确定
第三种方式
1 int[][] arr = {{1,2},{3,4,5,6},{7,8,9}};
上面的二维数组中定义了三个元素,这三个元素都是数组,分别为{1,2}、{3,4,5,6}、{7,8,9}
对二维数组中元素的访问也是通过角标的方式,例如访问二维数组中第一个元素数组的第二个元素
1 arr[0][1];
二维数组元素的访问
如何获取二维数组中元素值
例:
1 class ArrayDemo08 { 2 public static void main(String[] args){ 3 4 //定义二维数组的方式 5 int[][] arr = new int[3][4]; 6 7 System.out.println( arr ); 8 System.out.println("二维数组的长度: " + arr.length); 9 //获取二维数组的3个元素 10 System.out.println( arr[0] ); 11 System.out.println( arr[1] ); 12 System.out.println( arr[2] ); 13 14 System.out.println("打印第一个一维数组的元素值"); 15 System.out.println( arr[0][0] ); 16 System.out.println( arr[0][1] ); //访问的为二维数组中第1个一维数组的第2个元素 17 System.out.println( arr[0][2] ); 18 System.out.println( arr[0][3] ); 19 20 System.out.println("打印第二个一维数组的元素值"); 21 System.out.println( arr[1][0] ); 22 System.out.println( arr[1][1] ); 23 System.out.println( arr[1][2] ); 24 System.out.println( arr[1][3] ); 25 26 System.out.println("打印第三个一维数组的元素值"); 27 System.out.println( arr[2][0] ); 28 System.out.println( arr[2][1] ); 29 System.out.println( arr[2][2] ); 30 System.out.println( arr[2][3] ); 31 }
二维数组元素遍历与数组元素累加和
1 class ArrayDemo09 { 2 public static void main(String[] args){ 3 //一维数组的求累加和并遍历 4 int[] arr = {10,20,30,40,50}; 5 int sum = 0; 6 for (int i=0; i<arr.length; i++) { 7 //System.out.println(arr[i]); 8 sum += arr[i]; 9 } 10 System.out.println("sum= " + sum); 11 System.out.println("---------------------"); 12 13 //二维数组的求累加和并遍历 14 int[][] arr2 = { {1,2},{3,4,5},{6,7,8,9,10} }; 15 int sum2 = 0; 16 for (int i=0; i<arr2.length; i++) { 17 for (int j=0; j<arr2[i].length; j++) { 18 //System.out.println(arr2[i][j]) 19 sum2 += arr2[i][j]; 20 } 21 } 22 System.out.println("sum2= "+ sum2); 23 } 24 } 25 结果:sum=150 26 sum2=55
创建的数组实际上是在堆内存中创建了一块空间存放值,并生成一个地址,这个地址指向这个数组
二维数组:实质就是存储是一维数组。