为什么要有二维数组,一个学校有很多班级存这个班级需要一个数组,然后这个数组中的每个元素又代表一个班级,班级下有很多学生,使用二维数组就可以很好得存储这样的数据


示例如下

如下图,刚刚定义好的二维数组在内存中的存储形式如下,方格里的为其值,下面的为下标


看看如下代码,注释部分为其输出,想想为什么(必须要先思考,然后看下面我的解释)

上图代码解析:打印arr结果为地址值,从上面的二维数组内存图可以看出,这里不多说
打印每个一维数组结果都为空,想想把一维数组看成班级,现在仅仅定义了班级的名字,而它的大小(其下数组的长度)
还没定义,也就是默的0,那么它还没赋值,一维数组是引用类型(不懂没关系,后面会学)没赋值就是null。
然后后面赋值后,就有了班级里的学生,怎么进行关联的呢,此时班级会指向其下学生的一维数组来进行关联,如上面二维数组内存图,然后我们所说的“学生”其实在这里只是一个个整数,而没赋值的整数为0,所以输出为0。
懂了后再看看下图图版解析


示例如下


练习一:用静态赋值方式定义一个二维数组并进行遍历

改进后,把第一次第二次遍历的次数都改为数组长度,如下(不可能你定义了一万多个数你还去数他的具体长度吧)

练习二

练习三


分析给了,答案就不给了,这道题主要考的是一个思维逻辑以及对二维数组的遍历的综合
本文通过一个学校的班级和学生数据为例,介绍了二维数组的作用及其在内存中的存储方式,并提供了静态赋值二维数组及遍历的练习。
627

被折叠的 条评论
为什么被折叠?



