怎么理解java的二维数组,

public class Main
{
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.println(a[i][j]);
}
System.out.println();
}

}
}
输出是
0000
0000
0000
怎么理解?
求告知,多谢了。
好人有好报,一生都要人爱。

第1个回答  2019-07-20
public class Main
{
public static void main(String[] args)
{
//新建一个3行4列的二维数组,new关键字会将所有元素(12个)都初始化为默认值0
int a[][]=new int [3][4];
//用i遍历数组的行(行下标从0到2),a.length返回的是行数3
for(int i=0;i<a.length;i++)
{
//用j遍历数组的下标为i的行的列(因为每行的列数相同,所以列下标都是从0到2),a[i].length返回的是下标为i的行的列数3
for (int j=0;j<a[i].length;j++)
{
//输出行下标为i,列下标为j的元素的值
System.out.print(a[i][j]);
//你的代码有个小问题,要输出结果像你的一样,不能用println,所以改成用上面的print,注释掉这行
//System.out.println(a[i][j]);
}
//每输出1行,就换行
System.out.println();
}
}
}
第2个回答  2019-07-20
int型数组在没有被赋值的情况下,默认值是零
在二维数据当中,a.length是读取有几行
a[i].length是读取该行有几个元素,
你可以自己编写代码测试一下,直接输出a.length和a[i].length不要用循环赋值
第3个回答  2019-06-04

你没给数组赋值。

a[i][j]=i+j;//加上这句就不是0了
System.out.println(a[i][j]);

本回答被提问者和网友采纳
第4个回答  2019-07-20
还是要看各自的赋值的。
相似回答