public static void main(String[] args) {
int[][] array = new int[3][2]; //定义一个二维数组长度3,每个小数组里有2个元素
array[0][0]=1; //把1赋值给 第一个小数组中的第1个元素
array[0][1]=2; //把2赋值给 第二个小数组中的第2个元素
array[1]=array[0]; //把第一个小数组的元素赋值给第二个小数组
array[0]=new int[4]; //我记得数组的长度不是不能改变么?这条语句是什么意思呢?
array[0][0]=10; //把10赋值给第一个小数组中的第一个元素
System.out.println(array[1][0]);
}
麻烦懂的朋友给我解释一下第5条语句的意思,小白在这里多谢了!!!
数组长度不能改变,但是你这个是new出来的,是一个新的数组
public static void main(String[] args) { int[][] array = new int[3][2]; //定义一个二维数组长度3,每个小数组里有2个元素 array[0][0]=1; //把1赋值给 第一个小数组中的第1个元素 array[0][1]=2; //把2赋值给 第二个小数组中的第2个元素 array[1]=array[0]; //把第一个小数组的元素赋值给第二个小数组 array[0]=new int[4]; //我记得数组的长度不是不能改变么?这条语句是什么意思呢? System.out.println(JSON.toJSONString(array)); array[0][0]=10; //把10赋值给第一个小数组中的第一个元素 System.out.println(array[1][0]); }
输出结果:[[0,0,0,0],[1,2],[0,0]],懂了吧,创建一个新的数组[0,0,0,0]
Java语言中,由于把二维数组看作是数组的数组,数组空间不是连续分配的,所以不要求二维数组每一维的大小相同。
array[0]=new int[4]; 是为它这一维重新分配空间。
这跟C里面二维数组的空间是连续的 不同,所以Java中可以有下面的语句:
int intArray[ ][ ]={{1,2},{2,3},{3,4,5}};