java高手:java定义二维数组问题

int a[][] = new int[3][2];
a[0] = {1,6};
报错:第二句是非法表达式。为什么?我是初学者,我想为这个三维数组的第一维赋值,哪位高手能指出我的程序到底错在哪了,为什么不能这样赋值?
高手能不能详细解释一下:我写的为什么不对。

int a[][] = new int[3][2]; 表示定义一个三行二列的二维数组,但是a[0] = {1,6}; 是对一维数组进行赋值,而a是二维数组无法使用一维数组的赋值方法,所以程序会报错。

该代码的正确方法应该是:

int a[][] = new int[3][2]; 

a[0][0]=1;

a[0][1]=6;

扩展资料

java定义二维数组的方法:

1、动态初始化

数据类型 数组名 [ ][ ] = new 数据类型[m][n]

数据类型 [ ][ ]  数组名 = new 数据类型[m][n]

数据类型 [ ]   数组名 [ ] = new 数据类型[m][n]

举例:int [ ][ ]  arr=new  int [5][3];  也可以理解为“5行3例”

2、 静态初始化

数据类型 [ ][ ]   数组名 = {{元素1,元素2....},{元素1,元素2....},{元素1,元素2....}.....};

举例:int [ ][ ]  arr={{22,15,32,20,18},{12,21,25,19,33},{14,58,34,24,66},}

参考资料来源:百度百科——二维数组

温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-11-27
因为你写的第一句是定义一个二维数组,第二句是一个一位数组赋值,而且你第二句是一维数组赋值语句的话是a[0]=1或a[0]=6,如果是给二维数组赋值的话是a[0][0]=1;a[0][1]=6;
第2个回答  2008-11-27
你要搞清楚java中的数组名是引用,二维数组中,第一维中存着第二维的引用,类似于C中的指针,第二维中才放着数据。而如果第二维中放的数据是引用数据类型的话,那第二维中放的也是引用,指向存放引用数据类型的地址。
第3个回答  2008-11-27
compiler会认为你在试图把a 看做一个一维数组。
正确是a[0][0] = 1; a[0][1] = 6
第4个回答  2008-11-27
定义的是3行2列的数组啊!
为第一行赋值:
int a[][] = new int[3][2];
a[0][0]=100;
a[0][1]=200;
a[0][2]=300;
相似回答