黑马程序员技术交流社区
标题:
二维数组小问题
[打印本页]
作者:
兜兜转转
时间:
2013-8-25 01:28
标题:
二维数组小问题
本帖最后由 forward 于 2013-8-26 21:32 编辑
int[][] arry =new int[3][];
此二维数组中含有
3
个一维数组,每个一维数组的默认初始化值都为
null
,每个一维数组中的元素值都为
0? 这种定义方法没一个一维数组怎么是null呢,为什么不是0?
每个一维数组中的元素值都为
0?
作者:
gulup
时间:
2013-8-25 01:48
这个问题很绕。我理解错的话,应该是数据类型默认值的问题。
数组是引用数据类型,默认值是null。
而int[]数组嘛,里面的元素都是int型,int型的默认值都是0。
就这样。
作者:
EYE_SEE_YOU
时间:
2013-8-25 07:14
这条定义中,只声明了arr有3个一维数组,但是一维数组里还没有明确定义,所以赋值为空,无角标
作者:
行如止水
时间:
2013-8-25 09:44
你这么做只是指定了二维数组中有三个一维数组,但是对于这三个一维数组中有什么内容则没有指定,所以系统会使用默认值。
这个问题你可以将他分解的简单一点:
int[] array = new int[]; //考虑一下这个array里有什么?
这个问题就和你这个问题差不多,array里的内容则是你的问题中一维数组中的内容,这么考虑就简单点。
作者:
薛鹏鹏
时间:
2013-8-25 11:10
如果您的问题已经解决
请更改分类未解决为已解决
保持队形,谢谢合作
详情参考
如何修改分类
作者:
张云飞
时间:
2013-8-25 11:14
import static java.lang.System.out;
class Sign{
public static void main(String args[]){
int[][] arry = new int[2][];
out.println(arry[0]);//null
//out.println(arry[0][0]);//这样写是运行错误的,空指针;所以不存在初始化为0这一说
}
}
复制代码
建议看一下毕向东视频,第4天13(二维数组)。下图仅供参考
二维数组初始化内存分配图.png
(11.8 KB, 下载次数: 4)
下载附件
2013-8-25 11:13 上传
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2