A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 程有愿 中级黑马   /  2012-8-26 15:56  /  1274 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天看了毕老师一个视频里
int [] [] a=new int[3][];
结果说a[0]=null;这个是为什么啊;
还有点疑惑就是a【0】【0】是不是为默认的0呢?

3 个回复

倒序浏览
              
不是,a[0][0]表示的是角标你可以想象一下,如图:
回复 使用道具 举报
二维数组就是数组中的每个元素又是一个数组,对于二维数组中的每一个一维数组的默认初始化值都是 null,所以,对于 a[0]、a[1]、a[2]的初始值都是 null 。

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

这里如果指定了其中一位数组的维数,即int[][] a = new a[3][2];  它的 a[0][0] 就和一维数组是一样的,默认初始值都是 0
回复 使用道具 举报
二维数组
其实就是一维数组中的每一个元素是一维数组。
**实体中的变量都有默认初始化值
***byte,short,int,long -- 0
***float,double -- 0.0
***boolean -- false
***char -- '\u0000' 空字符
如果你打印a[0]的话就应该是空指针异常
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马