二维数组:
二维数组格式:
①数据类型[][] 数组名 = new 数据类型[m][n] ;
m:代表当前二维数组中有多少个一维数组;
n:代表每一个一维数组中的长度;
②数据类型[][] 数组名 = new 数据类型[m][] ;
只给定有m个一维数组,每一个一维数组长度动态给定;
③静态初始化:数据类型[][] 数组名称 = {{元素1,元素2,元素3},{....}} ;
数据类型[] 数组名[] = new 数据类型[m][n];
数据类型 数组名[][] = new 数据类型[m][n];
注意:不管是一维数组还是二维数组,都需要统一格式,最好不要混着用,以免造成不必要的错误;
举例:
package org.westos.array;
/**
* 关于二维数组的遍历
* 给定一个二维数组,静态初始化,遍历其中每个元素;
*/
public class ArrayTest {
public static void main(String[] args) {
//定义一个二维数组,静态初始化
int[][] arr = {{1,2,3},{4,5,6},{7,8,9}};
//谁代表{1,2,3}
for(int x = 0 ; x < arr[0].length ; x ++) {
System.out.println(arr[0][x]);
}
System.out.println("---------------------");
//{4,5,6}
for(int x = 0 ; x < arr[1].length ; x ++) {
System.out.println(arr[1][x]);
}
System.out.println("---------------------");
//{7,8,9}
for(int x = 0 ; x < arr[2].length ; x ++) {
System.out.println(arr[2][x]);
}
System.out.println("----------------------------");
//改进:通过外循环,arr.length :外层循环是二维数组的长度
for(int x = 0 ; x < arr.length ; x ++) {
for(int y = 0 ; y < arr[x].length; y++) {
System.out.print(arr[x][y]+" ");
}
System.out.println();
}
System.out.println("----------------------------");
//最终版代码:定义一个遍历二维数组的功能方法
printArray2(arr);
}
/**
* 两个明确:
* 1)明确返回值类型:void
* 2)明确参数类型:int[][] arr
*/
public static void printArray2(int[][] arr) {
for(int x = 0 ; x < arr.length ; x ++) {
for(int y = 0 ; y < arr[x].length ; y++) {
System.err.print(arr[x][y]+" ");
}
}
}
}