数组的维度
在Java中数组可以多维声明 那么什么是维度呢?
以二维为例 声明一个含有三个元素二维数组 等于声明了三个一维数组
在Java语言里提供了支持多维数组的语法,但如果从数组底层的运行机制上来看声明多维数组的实质便是一次性声明多个一维数组。
二维数组使用示例
二维数组的三种声明使用方式
第一种
//多个[]的使用即为多维数组 有几个[]即为几维数组
比如int num[][] = new int[3][3];
本质上是声明了三个数组长度为三的一维数组
在二维数组中 num.length 表示二维数组的长度 num[i].length表示一位数组的长度
因此我们可以使用for循环对数组进行使用 如以下示例
Scanner scanner = new Scanner(System.in);
//第一种
int num[][] = new int[3][3];//本质上是声明了三个数组长度为三的一维数组
for (int i = 0; i < num.length; i++) {
for (int j = 0; j < num[i].length; j++) {
System.out.println("请输入数据:");
num[i][j] = scanner.nextInt();
System.out.println(num[i][j]);
}
}
第二种
{}的嵌套可以直接对多维数组赋值 :int num1[][] = {
{1,2,3,},{4,5,6},{7,8,9}};
//第二种
int num1[][] = {
{
1,2,3,},{
4,5,6},{
7,8,9}};
for (int j = 0; j < num1.length; j++) {
for (int k = 0; k < num1[j].length; k++) {
System.out.println(num1[j][k]);
}
}
第三种
二维数组的本质是声明多个一维数组
比如:int num2[][] = new int[3][];
本质便是声明了三个一维数组 分别为 num2[0],num2[1],num[2]
//第三种
int num2[][] = new int[3][];//可以直接声明一个不包含一维数组长度的二维数组
int num3[] = new int[5]; //声明一个数组长度为5的一维数组
int num4[] = {
5,3,6};//声明一个含有数据的一位数组
num2[0] = num3; //num2[0] 本质是一个一位数组 可以直接将别的数组的空间分配给它
num2[1] = num4; //同样也可以直接将其他一维数组的空间和数组赋给它
num2[2] = new int[3];//可以进行正常的空间分配