00:00
那么初始化完成以后呢,我们接着往后看啊,说如何去调用这个二维数组指定位置上的元素。这个呢,相较于我们因速度就更复杂一些。看一下。说一下啊,比如说上边的这个。上面的这个哈,这个的话呢,假设我们现在想调用一下这个二啊。我想把这个二输出,你说这个时候我们该怎么去写。想把它整出来啊。我们这时候呢,A221。哎,二位数度肯定它有俩中括号了,所以这块呢先写一个。谢记啊零对,因为整个它是不是第零项。哎,这是零,然后呢。诶,这写个一,就是D0项先定位到这儿,然后这里边儿的第二个元素。哎,就是我们输出的这个二。
01:03
执行一下。哎,这不就出来了。哎,就是这样的情况。哎,这是这样的情况啊。那咱们来看这个啊。看这个这个。哎,我这AR2。哎,我呢想输入它的,比如说第二行的第二个元素吧。第二行。这写一呗。第二个元素。60个亿。他这是不是有三行两列。对这个呢,其实你可以这样去理解啊,三行。嗯,那你要分一下,它可以这样理解是吧。这三呢,你比如它有三行两列啊两个列,我现在呢,想找的是第二行的第二元素,想找这个。那这个时候结果是多少?没复过职。
02:00
那就说没讲过,实际上是讲过了。对,这不就是具体里边的一个string没有负过值的情况吗?不就是闹呗。哎,是一个闹来。执行一下。这不就闹?哎,就这样子的啊。可能稍微有点晕是吧。呃,就是一维,大家一维的清楚以后呢,二维呢,比一维呢要复杂一点,其实呢,嗯,没有太多这个新知识,就是这个结构上呢,看着稍微复杂了啊。那么看这个。看这个哈。这个注意我们光写了这个行。啊,没有指明说这个数是多少。那你想想我这个时候呢,你要是很生猛的这样来一个说一呃零,你觉得这时候呢,会有什么情况出现。
03:00
对,这时候呢,就报错了,就。报什么错呢?这个咱们在这一章最后呢,给大家去总结,先看一眼哈。他报了一个叫做空指针的一个异常。叫longer exception。第41行这儿。哎,怎么叫控制人异常呢?诶咱们一会儿讲内存解析的时候呢,大家就能够领这个理解这个问题了啊,诶先知道这样还不能这样去写,那也就是说呢,咱们广指明它有三行了,你具体每一个元素是什么,还没有指定过。那咱们要想调,你得在这个调用之前,是不是得指定一下。或者说附上值吧。目前呢,在内存里边,我们这个情况哈,在堆里边,只是呢,现在先有一个三个元素。先空出来了,但是每一个位置上呢,都没有东西呢,还。每一个位置呢,又知道是一个一位数组,所以你下一步是不是可以给每一个位置的去一位数组赋一个值啊。
04:05
附上值,以后你再掉不就有了吗?那怎么赋值呢?我现在叫AR3。我们为了保证比如它不报错哈,那我就给它这一行去赋值,它是一嘛。给它是吧,它呢,这是咱们从外层速度来讲哈,它是一个呃,外层数度是个二维的了,然后呢,它对应的这一个元素实际上是一个一维的,这时候这个一维的话呢,我们去给它扭一下。String的。比如说有四个元素。这块呢,有点难度。看看能看懂不?哎,其实这块呢,它的整个理解呢,都依赖于大家对呃这个内存结构的一个理解,诶内存结构要是不清楚的话呢,这块呢,还是有点难度的哈。
05:01
嗯,还是有点难度的。嗯。这样。这是一个站,这是一个堆站,这里边呢叫A23。堆里边我们先指定了它是三,相当于呢,这块呢,先是有这样的一个三个元素,把这个地址呢给到它,它指过来。这里边儿没有指定,它就意味着这块呢,其实都是空的。对,在空的情况下呢,你想调接下来的这一行的,呃,就是第一行的啊的第一个元素应该叫第二行第一个元素了啊,这没有嘛,控制针嘛。哎,那咱们这一行代码做的事儿呢。就是扭了一下,我这呢,相当于是不是就造了一个四个元素的一个数组啊。对,然后把这个地址呢,我就附到这了。哎,这样的话呢,它就直过来了。哎,它指过来以后,接下来呢,你这个A23 a23这个是一,那再通过它呢,再找到这第一个元素,这不就找到了吗。
06:00
这个时候这个指针你看这不就有了,所以它就不空指针了。哎,就是这个意思啊。哎,这块呢,确实是有一点难度,让大家去体会一下啊。一会儿呢,咱们再画这个内存解析。哎,这是咱们说的这个第二个说如何调用数组的指定位置的元素。啊,这个时候呢,你就得看它是想调的内层的这个元素,还是调到这个外层的啊,你要外层的话呢,就是写一个中括号就行。然后内侧呢,就是两个中行。哎,那如果要是三维数组呢。是就三个中国号呗。哎,所以你定义的时候呢,三个三位数字就是三个中号啊,这也是三个中号,哎。然后调的时候呢,具体最里边那个就是也是三个中号调就行啊。诶,这是我们的一个叫调用。
我来说两句