出处: 度娘知道
答案由用户{ heitianba }提供。
Q:
int a[][] = new int[3][2];
a[0] = {1,6};
报错:第二句是非法表达式。为什么?
A:
int a[][]=new int[3][2];列举出来就是
a[0][0],a[0][1]
a[1][0],a[1][1]
a[2][0],a[2][1]
在JAVA中定义数组一般要给出大小的而你给的是[3][2]则有6个 3*2
也就是第一维分别是0,1,2不包含3.
第2维是分别是,0,1不包含2.
而你的
int a[][] = new int[3][2];
a[0] = {1,6};
是想直接一次给2个值.
而a[0]其实也是一个数组 你在a[0] = {1,6};把一个集合给了一个数组
范了数据类型不匹配的错误.
int a[][] = new int[3][2];
a[0][0]=1;
int b[]={1,6};
a[0]=b;
这样子就先把1,和6变成数组,在把数组给数组,这样数据类型就符合了.