黑马程序员技术交流社区
标题:
java二尾数组
[打印本页]
作者:
伍仪华
时间:
2011-7-29 18:36
标题:
java二尾数组
int a[][] = new int[3][2];
a[0] = {1,6};
报错:第二句是非法表达式。为什么?我是初学者,我想为这个三维数组的第一维赋值,哪位高手能指出我的程序到底错在哪了,为什么不能这样赋值?问题补充:
高手能不能详细解释一下:我写的为什么不对。
作者:
匿名
时间:
2011-7-29 22:55
int a[][] = new int[3][2]; 创建二维数组后,a[0], a[1], a[2]可以看成是一维数组名,a【0】={1,6}是把数值传给一个数组名,这显然无法赋值。a【0】={1,6}的赋值方式只能在创建数组时使用,表示一维数组包含1,6并且数组名是a【0】.不知道这样理解是否正确?
作者:
杨武刚
时间:
2011-7-30 12:07
标题:
回复 楼主 的帖子
李德国已经解释,int a[][] = new int[3][2]; 创建二维数组后,a[0], a[1], a[2]可以看成是一维数组名,是把数值传给一个数组名,这显然无法赋值。
也即是说,创建了三个一维数组,a[0][ ](这里面有两个元素a[0][0],a[0][1]), a[1][ ](这里面有两个元素a[1][0],a[1][1]), a[2][ ](这里面有两个元素a[2][0],a[2][1])
总之,Java中没有真正意义的二维数组
赋值方式:
a[0][0]=1; a[0][1]=6; ...
另外,楼主可不可以把错别字纠正了,是二维数组,不是二尾数组,谢了,那样看起来顺眼点
[
本帖最后由 杨武刚 于 2011-07-30 12:10 编辑
]
作者:
李龙
时间:
2011-7-30 12:12
其实 你可以这么赋值
int a[][] = new int[3][];
int b[] ={1,2};
a[0] = b;
复制代码
[
本帖最后由 李龙 于 2011-07-30 12:13 编辑
]
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2