Java二维数组
猿界的小皮皮 人气:0本文章主要讲二维数组定义,用法。
1.什么是二维数组
在二维数组多个元素为一维数组的数组就称为二维数组
2.定义格式
格式一:
元素的数据类型[][] 数组的名字 = new 元素的数据类型[二维数组的长度][一维数组的长度];
int[][] a = new int[3][2];
解释: 这个二维数组中还有3个一维数组,每个一维数组中有两个元素。
格式二:
元素的数据类型[][] 数组的名字 = new 元素的数据类型[二维数组的长度][];
int[][] a = new int[3][];
解释: 这个二维数组中还有3个一维数组,每个一维数组中元素个数不确定。
格式三:
元素的数据类型[][] 数组的名字 = {{元素1,元素2,…}, {元素1,元素2,…}, …};
int[][] a = {{1,2,3},{4,5},{5,6,7,8}};
解释: 这个二维数组中还有3个一维数组,每个一维数组中元素个数都不一样。
- 第一个一维数组含有3个元素。
- 第二个一维数组含有2个元素。
- 第三个一维数组含有4个元素。
3.二维数组的使用
package shuzu; public class erwei { public static void main(String[] args) { int[][] a = new int[3][]; System.out.println(a);//[[I@7852e922 ,输出数组a的地址 //由于未初始化每个数组,所以这三个数组为null. System.out.println(a[0]);//null System.out.println(a[1]);//null System.out.println(a[2]);//null int[] a_1 = {1,2,3}; //定义一个a_1一维数组。 a[0] = a_1; //把a_1数组值赋给数组a第一个一维数组。 int[] a_2 = {4,5}; //定义一个a_2一维数组。 a[1] = a_2; //把a_2数组值赋给数组a第二个一维数组。 int[] a_3 = {6,7,8,9}; a[2] = a_3; System.out.println(a[0]);//[I@4e25154f ,输出第一个一维数组的地址 System.out.println(a[1]);//[I@70dea4e ,输出第二个一维数组的地址 System.out.println(a[2]);//[I@5c647e05 ,输出第三个一维数组的地址 //下面程序是输出数组的元素: System.out.println(a[0][0]);//1 输出的是第一个数组第一个元素 System.out.println(a[0][1]);//2 输出的是第一个数组第二个元素 System.out.println(a[0][2]);//3 输出的是第一个数组第三个元素 System.out.println(a[1][0]);//4 同理输出的是第二个数组第一个元素 System.out.println(a[1][1]);//5 System.out.println(a[2][0]);//6 同理输出的是第三个数组第一个元素 System.out.println(a[2][1]);//7 System.out.println(a[2][2]);//8 System.out.println(a[2][3]);//9 } }
4.二维数组的遍历
for each循环语句不能自动处理二维数组中每一个元素,因为它会处理行,而每一个一维数组就是一个行,所以要循环二维数组每一个元素就要使用两个嵌套的循环,如下所示:
实例一:
// 使用格式: for (double[] row : a) for(double value : row) do something with value //实例: double[][] arr = {{1,2,5,4},{4,2,5,7},{3,6,9,4}}; for (double[] row : arr) //循环有多少个元素,这里的元素指的是一维数组,这点要搞清楚。 { for(double b : row) //循环有多少个元素,这里的元素指的是每个一维数组里的元素。 System.out.print(b+" "); //打印出每个数组的元素。 System.out.println(); //换行 }
//输出结果:
1.0 2.0 5.0 4.0
4.0 2.0 5.0 7.0
3.0 6.0 9.0 4.0
实例二:
int[][] a = {{1,2,3}, {4,5}, {5,6,7,8}}; for(int i = 0; i < a.length; i++) //这个结构原理跟上面的大致相同,不同的是对元素的下标有限制。 { for(int j = 0; j < a[i].length; j++) //循环第i数组的元素。 System.out.print(a[i][j] + " "); //输出第i数组第j个元素。 System.out.println(); //换行。 }
//输出结果:
1 2 3
4 5
5 6 7 8
加载全部内容