黑马程序员技术交流社区

标题: 二维数组的定义问题 [打印本页]

作者: 天涯回望    时间: 2015-6-20 10:30
标题: 二维数组的定义问题
int [] arr=newint[10]{}这种定义方式正确吗?




作者: ww黑马    时间: 2015-6-20 10:36
首先你这是一维数组
作者: 13820056923    时间: 2015-6-20 10:36
既然你没有给数组元素赋值,那么那个大括号就没有意义吧 而且new和int要分开
作者: ww黑马    时间: 2015-6-20 10:38
二你这数组定义是错误的.数组有两种定义方式
int [] arr=new int[6]
或者int [] arr=new int []{1,2,3,4,5}这种等价于int [] arr={1,2,3,4,5}
作者: g552092947    时间: 2015-6-20 10:38
你这个好像是一维数组啊,二维数组是这样定义的 int[][] arr=new int[][];
作者: 天涯回望    时间: 2015-6-20 10:40
ww黑马 发表于 2015-6-20 10:36
首先你这是一维数组

请忽略细节,我是想问[]和{ }同时出现可以吗?
作者: guohaichang    时间: 2015-6-20 10:43
int [] arr=new int[10]{},错的。编译一下就知道了。定义数组,new空间时,要么直接指定元素个数要么用{}列出元素列表,两者都有指定元素个数的作用,同时用就冲突了。你这种写法相当于是,[10]制定了有10个元素,{}又指定说没有元素,矛盾。
作者: 天涯回望    时间: 2015-6-20 10:43
13820056923 发表于 2015-6-20 10:36
既然你没有给数组元素赋值,那么那个大括号就没有意义吧 而且new和int要分开 ...

请忽略细节,那也就是说[]和{}不能同时出现了?
作者: 天涯回望    时间: 2015-6-20 10:45
guohaichang 发表于 2015-6-20 10:43
int [] arr=new int[10]{},错的。编译一下就知道了。定义数组,new空间时,要么直接指定元素个数要么用{} ...

你这么说,我就能理解了,之前理解的有点偏差,谢谢
作者: ww黑马    时间: 2015-6-20 10:50
天涯回望 发表于 2015-6-20 10:40
请忽略细节,我是想问[]和{ }同时出现可以吗?

不能的,首先你[10]定义了数组的长度,{}中又没有值为空.这样定义数组根本不成立




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2