为什么要有二维数组,一个学校有很多班级存这个班级需要一个数组,然后这个数组中的每个元素又代表一个班级,班级下有很多学生,使用二维数组就可以很好得存储这样的数据
示例如下
如下图,刚刚定义好的二维数组在内存中的存储形式如下,方格里的为其值,下面的为下标
看看如下代码,注释部分为其输出,想想为什么(必须要先思考,然后看下面我的解释)
上图代码解析:打印arr结果为地址值,从上面的二维数组内存图可以看出,这里不多说
打印每个一维数组结果都为空,想想把一维数组看成班级,现在仅仅定义了班级的名字,而它的大小(其下数组的长度)
还没定义,也就是默的0,那么它还没赋值,一维数组是引用类型(不懂没关系,后面会学)没赋值就是null。
然后后面赋值后,就有了班级里的学生,怎么进行关联的呢,此时班级会指向其下学生的一维数组来进行关联,如上面二维数组内存图,然后我们所说的“学生”其实在这里只是一个个整数,而没赋值的整数为0,所以输出为0。
懂了后再看看下图图版解析
示例如下
练习一:用静态赋值方式定义一个二维数组并进行遍历
改进后,把第一次第二次遍历的次数都改为数组长度,如下(不可能你定义了一万多个数你还去数他的具体长度吧)
练习二
练习三
分析给了,答案就不给了,这道题主要考的是一个思维逻辑以及对二维数组的遍历的综合