java 中二维数组的问题

public class Number {
public static void main(String[] args) { // 主方法
int a[][] = new int[3][4]; // 定义二维数组
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(); // 输出空格
}
关于这段代码的for循环部分不太理解 for (int i = 0; i < a.length; i++)
for (int j = 0; j < a[i].length; j++) 这里a.length和a[i].length的意义是什么,为什么这么写

int a[][]=new int[3][4];//这句话是声明并创建了一个3行4列的二维数组a
这里的二维数组a由3个一维数组组成,分别为a[0],a[1],a[2]
数组有一个属性是length,只可读,用于显示数组长度,这里a.length是二维数组a的长度,即由三个一维数组组成,长度为3,而a[i].length是一维数组a[0],a[1],a[2]的各自长度,这里是4.
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-04-07
把二位数组比作一个表,那么a.length就是它的行,a[i].length就是它的列,你要取表里的值,那么首先是遍历第一行的每一列,因此是a[0][j],第二行a[1][j],一次类推
第2个回答  2011-04-07
a.length = 你的数组的行数
a[i].length =你数组的第i行的列数

这样写,可以很好的防止数组越界
第3个回答  2011-04-07
a.length是a第一维的长度,可以理解为“行数”
a[i].length是a[i]这一行的元素个数,可以理解为“列数”
第4个回答  2011-04-07
java的二维数组实际上可以看成是一个一维数组,其中每一个元素是一个数组,a.length是这个一维数组的长度,a[i].length的值实际上是上述一维数组第i个元素的长度,各个a[i]所包含的元素个数不一样,因此需要这么写。
相似回答