黑马程序员技术交流社区

标题: 二维数组小问题 [打印本页]

作者: 兜兜转转    时间: 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
  1. import static java.lang.System.out;
  2. class Sign{
  3.         public static void main(String args[]){
  4.                 int[][] arry = new int[2][];
  5.                 out.println(arry[0]);//null
  6.                 //out.println(arry[0][0]);//这样写是运行错误的,空指针;所以不存在初始化为0这一说       
  7.         }
  8. }
复制代码
建议看一下毕向东视频,第4天13(二维数组)。下图仅供参考





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