JAVA中的数组初始化

来源:百度知道 编辑:UC知道 时间:2024/05/09 18:18:44
数组在被创建后,其元素被系统自动初始化了。字符元素被初始化为‘\u0000’,而对于对象数组都被初始化为null。
这句话中:对于对象数组都被初始化为null。
我没理解到!
还有像这段代码:
int[][] matrix = new int[5][];
// 第6步: 将这个矩阵构成三角形
for ( int i = 0; i < matrix.length; i++ ) {
matrix[i] = new int[i];
for ( int j = 0; j < i; j++ ) {
matrix[i][j] = i * j;
}
}
为什么定义的matrix是二维数组,而matrix[i] = new int[i],使用的是一维的呢?

给的例子中

简单的讲就是
matrix[0] ---- null
matrix[1] ----只有一个数据的数组
matrix[2] ----只有两个数据的数组 访问的时候matrix[2][0],matrix[2][1]

matrix[3] ----只有三个数据的数组

那应该从二维数组方面去考虑了
二维数组本质来讲还是一维数组,只不过这个一位数组的每一个元素又是一个一位数组。
matrix[i] = new int[i]; 这句话的意思就是为最大的那个一位数组赋初值,初值是一个新的一位数组。

不知道我说得是否清楚???

看来不理解多维数组的本质.

二维本来就可以看着是一维..