二维数组是数组的数组。
二维数组基础
基本的定义方式有两种形式,如:
int [][] i = new int[2][3];(推荐)
int i[][] = new int[2][3];
变长的二维数组
public static void main(String[] args) {
int[][] a = new int[3][];
a[0] = new int[2];
a[1] = new int[3];
a[2] = new int[1];
//Error:不能空缺第一维大小
//列:int[][] b = new int [][3] 是错误的
}
}
二维数组的每个元素都是一个一维数组,这些数组不一定都是等长的。
声明二维数组的时候可以只指定第一维大小,空缺出第二维大小,之后再指定不同长度的数组。但是注意,第一维大小不能空缺(不能只指定列数不指定行数)。
二维数组也可以在定义的时候初始化,使用花括号的嵌套完成,这时候不指定两个维数的大小,并且根据初始化值的个数不同,可以生成不同长度的数组元素。
public class Aini {
public static void main(String[] args) {
int[][] a = new int[][]{{1,2,3},{4},{5,6,7,8}};
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
System.out.print(a[i][j]+"");
}
System.out.println("");
}
}
}
注:多维数组同理