二维数组初始化和遍历
程序员文章站
2024-03-16 12:55:04
...
二维数组示意图
/*
* 1 2 3
* 4 5 6
*/
二维数组定义:有行有列的数组,每获取一个元素值,都需要两个坐标点。
若将一维数组比作在数轴上排序,则二维数组则是在坐标轴上分布。
二维数组可以称作是数组(一维)的数组
二维数组中的一行就是一个一维数组
二维数组的定义和初始化
数据类型[ ][ ] 数组名 = new 数据类型[行数][列数]
int[ ][ ] array = new int[3][4];
二维数组动态初始化
int[][] array = new int[3][4];
array[0][1]= 1;
array[0][1] = 2;
array[0][2] = 3;
array[0][3] = 4;
二维数组一次为一行赋值,每一行都是一个一维数组
//二维数组名[行号];获取了二维数组中一行的数据(一维数组)
array[1] = new int[]{5,6,7,8};
array[2] = new int[]{9,10,11,12};
二维数组的静态初始化
int[][] arr = {{1,2},{3,4,5},{6,7}};
二维数组初始化(动静结合)
int[][] arra = new int[][]{{1,2}};
二维数组的遍历
注意:在一维数组中array.length表示数组的长度
在二维数组中array.length表示二维数组中的行数
for(int i = 0;i< array.length;i++){ //内侧循环遍历该行的每一列 int[] tmp = array[i]; for (int j=0;j< tmp.length;j++){ System.out.print(tmp[j]+" "); } System.out.println(); } //增强for循环的二维数组遍历 for (int[] tmp:array) { for (int w:tmp) { System.out.print(w+" "); } System.out.println(); }
二维数组的练习
要求输出如下
/*
* 1
* 1 1
* 1 1 1
* 1 1 1 1
*/
int[][] b =new int[4][]; // System.out.println(b[0]); // //由于每一行都是一个null,所以才需要先给行开辟新空间 // //b[0][0]=1; // b[0] = new int[1]; // b[0][0] = 1; // b[1] = new int[2]; // b[1][0] = 1; // b[1][1] = 1; // b[2] = new int[]{1,1,1}; // b[3] = new int[]{1,1,1,1}; // b[2][2] = 4;//改变二维数组中元素的值 // for(int[] tmp_2:b){ // for (int q:tmp_2){ // System.out.print(q+" "); // } // System.out.println(); // }