黑马程序员技术交流社区

标题: 2维数组的疑惑 [打印本页]

作者: 程有愿    时间: 2012-8-26 15:56
标题: 2维数组的疑惑
今天看了毕老师一个视频里
int [] [] a=new int[3][];
结果说a[0]=null;这个是为什么啊;
还有点疑惑就是a【0】【0】是不是为默认的0呢?


作者: 全海波    时间: 2012-8-26 16:13
              
不是,a[0][0]表示的是角标你可以想象一下,如图:

作者: 孔肖    时间: 2012-8-26 16:19
二维数组就是数组中的每个元素又是一个数组,对于二维数组中的每一个一维数组的默认初始化值都是 null,所以,对于 a[0]、a[1]、a[2]的初始值都是 null 。

由于其中的一维数组均为null,所以 a[0][0] 默认值不是0,会发生NullPointerException。

这里如果指定了其中一位数组的维数,即int[][] a = new a[3][2];  它的 a[0][0] 就和一维数组是一样的,默认初始值都是 0
作者: 方志亮    时间: 2012-8-26 16:40
二维数组
其实就是一维数组中的每一个元素是一维数组。
**实体中的变量都有默认初始化值
***byte,short,int,long -- 0
***float,double -- 0.0
***boolean -- false
***char -- '\u0000' 空字符
如果你打印a[0]的话就应该是空指针异常




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