二维数组的遍历操作、二维数组的动态初始化、二维数组内存图

1.案例


这样写过于死板,为了灵活,我们加上形参

2.案例


3.二维数组的动态初始化格式


如图,我们输入了的数组打印出的就是我们要的元素,而其他未赋值的数组则是按照默认值打印

但是这样一个一个输入过于麻烦,能否将创建好的一维数组,存入二维数组? 如图


答案是可以

.

我们通过内存图来分析上图的流程

main进栈,有new进堆,长度为2,所以有两个格子,二维数组存的是一维数组,而数组是引用类型变量,所以格子里的是null。

又因为指定了每一个一维数组可以存3个元素,得有地方才可以存,接下来还会创建两个一维数组的空间

前面说了,二维数组存的是一维数组的地址值,先创建第一个一维数组,把地址给0号索引,再创建一维数组,把地址给1号索引

这个时候,才把二维数组的地址给主方法

继续逻辑,arr1,有new进堆,给地址。arr2,有new进堆,给地址

arr的0号索引,根据arr地址找到0号索引,锁定到该格子

锁定到该格子,arr1赋过去了,arr0号索引地址进行替换

arr的1号索引也是如此

posted @ 2024-10-08 12:21  直実  阅读(5)  评论(0编辑  收藏  举报