首页 > 技术文章 > java 二维数组

ty-v 2017-12-13 11:11 原文

二维数组

多维数组可以简单地理解为在数组中嵌套数组

二维数组的定义格式

二维数组的定义有很多方式

第一种方式

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

 创建的数组实际上是在堆内存中创建了一块空间存放值,并生成一个地址,这个地址指向这个数组

二维数组:实质就是存储是一维数组。

推荐阅读