多维数组可以看成以数组为元素的数组。
可以有二维、三维、甚至更多维数组,但是实 际开发中用的非常少。最多到二维数组(工作中我们一般使用容器,二维数组用的都很少,但是开发中依旧会用到)。
个人理解:
将数组当作对象看待 , 数组的元素也可以是数组
比如
1.学生是一个数组(对象) 学生的名字年龄性别是元素(属性)
2.现在有个总的学生表(对象) 学生表中的系院信息和学生也是元素(属性)
3.从1可以知道学生就是一个数组,从2也可以知道学生总表也是一个数组,学生总表包含学生,就构成了一个数组包含另一个数组,从而形成了多维数组
二维数组的声明
public class Test {
public static void main(String[ ] args) {
// Java中多维数组的声明和初始化应按从低维到高维的顺序进行
int[ ][ ] a = new int[3][ ];
a[0] = new int[2];
a[1] = new int[4];
a[2] = new int[3];
// int a1[ ][ ]=new int[ ][4];//非法
}
}
二维数组的静态初始化
public class Test {
public static void main(String[ ] args) {
int[ ][ ] a = { { 1, 2, 3 }, { 3, 4 }, { 3, 5, 6, 7 } };
System.out.println(a[2][3]);
}
}
二维数组的动态初始化
import java.util.Arrays;
public class Test {
public static void main(String[ ] args) {
int[ ][ ] a = new int[3][ ];
// a[0] = {1,2,5}; //错误,没有声明类型就初始化
a[0] = new int[ ] { 1, 2 };
a[1] = new int[ ] { 2, 2 };
a[2] = new int[ ] { 2, 2, 3, 4 };
System.out.println(a[2][3]);
System.out.println(Arrays.toString(a[0]));
System.out.println(Arrays.toString(a[1]));
System.out.println(Arrays.toString(a[2]));
}
}
获取数组长度
/获取的二维数组第一维数组的长度。
System.out.println(a.length);
//获取第二维第一个数组长度。
System.out.println(a[0].length);