二维数组的遍历 这个程序的运行过程 i<book.length是什么j<book[i].length这个又是指哪个长度

二维数组的遍历 能否解释一下 这个程序的运行过程 i<book.length是什么j<book[i].length这个又是指哪个长度
public static void main(String[] args) {
// TODO Auto-generated method stub
String[][] book=new String [4][2];
book[0]=new String[]{"红楼梦","曹雪芹"};
book[1]=new String[]{"三国演义","罗贯中"};
book[2]=new String[]{"水浒传","施耐庵"};
book[3]=new String[]{"西游记","吴承恩"};
for(int i=0;i<book.length;i++)
{
for(int j=0;j<book[i].length;j++)
{
System.out.print(book[i][j]+" ");

}
System.out.println();
}
}

book.length指的是book数组的长度,现在你的book数组是由4个子数组组成的,当然长度就是子数组的个数4.
book[i].length指的是book的第i个子数组的长度,你的book的每个子数组都包含两个字符串,一个是书名,如“红楼梦”,一个是作者,如“曹雪芹”,所以这一个子数组的长度就是2。
明白了吗?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-26
i<book.length 就是你的书本的个数,也就是有多少本书,按这些个数循环一遍

也就是第一本书,第2本书……

j<book[i].length 就是你每本书的字符串数,把每个字符串循环一遍,输出,

也就是第一个字段:"红楼梦"
第二个字段:"曹雪芹"
之后就跳到外部循环,到下一本书去了本回答被网友采纳