为了账号安全,请及时绑定邮箱和手机立即绑定

有误。

回答中有错误,不能删除问题,勿看,免得造成困扰。

正在回答

2 回答

Hi boy,although we never see each other,but we scan the imocc together.


1 回复 有任何疑惑可以回复我~

二维数组:就是两个一维数组的在一个盒子里的数组,就叫二维数组。


int[][] arr=new int[][]那么右边两个空格是嘛意思呢?比如第一个格里面输入一个1,如下:


int[][] arr=new int[1][]这个左边格子1代表的是什么呢?

代表的是:这个二维数组的空间长度是2(别忘了int类型的默认值是从0开始数的,不是1,所以长度单位是[0.1]两个空间,也就是两个长度) 这个二维数组里面的第一个一维数组。(具体看是声明还是引用。)

int[][] arr=new int[1][0]那么右边格子的0代表的是什么呢? 

代表的是:这个二维数组里面的两个一维数组的空间长度为1,也就是第一个一维数组二个一维数组空间长度都是1,也就是只有一个值

两个一维数组的长度都为1(就是两个一维数组里面都只有一个值),组成的二维数组可以这样写:

int[][] arr=new int[1][0];

那长度不相等的一维数组想组合成二维数组怎么写呢?比如第一个一维数组里面有一个值,第二个有两个值,第三个有三个值。如下:

int[][]={{1},{2,3},{4,5,6}};

我想用:int[][]=new int[][];这样的格式如何表达呢?

这个时候就只能写第一个空格了,如下:

int[][]=new int[2][];

为什么不能写第二空格呢?因为第二个空格的含义是一维数组空间长度,都不相等了,怎么写?

如果非要写,也可以,只能往大写,不能往小写,比如:

原式:int[][]={{1},{2,3},{4,5,6}};

变式:int[][]=new int[2][2] ;意思是:名字叫arr整数类型的二维数组的空间长度是3(就是有三个一维数组组成的),里面三个一维数组的长度是3(就是每个一维数组都有3个值

那么问题来了?我的第一个一维数组和第二个一维数组没有3个值啊?

arr[0][0]=1;(意思是:arr这个二维数组里面的第一个一维数组第一个值为1)

arr[0][1]=?;现在如果我要输出arr这个二维数组的第一个一维数组第二个值呢?之前我们都没有写啊,就只有一个值:1。那么会输出什么呢?

arr[0][1]=0;会输出0,为什么呢?因为int类型的默认值为0,当你没有赋值的时候,会默认为0。

所以长度不相等的一维数组想组成二维数组不建议int[][] arr=new int[][]用这种方法,会有默认值的出现。

不知道大家有没有理解二维数组呢?

2 回复 有任何疑惑可以回复我~
#1

宝慕林4014199 提问者

不好意思,上面有些错误。int[] arr=new int[1][];这个表达式是格子里面写多少,数组长度就为多少,不需要+1.
2018-03-27 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)
  • 参与学习       1169052    人
  • 解答问题       18759    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号