《零基础学 Java》 FAQ 之 17- 怎么理解 Java 中的数组
来自@Rˋ﹏搁浅ゝ 的问题,从https://time.geekbang.org/course/detail/181-96370 (27 | 认识变量和数组(上))提出的问题。
int book =new int[10];
老师按照本子来理解,book指向一个长度为10的int数组,如果说book赋值为35,那么本子第35页就是这个数组的名!往后数(第三声)十页就是数组的实!
我这么写好了。
int b =new int[10];
我不用book了,因为跟本子容易混淆,我用b来代替。
可以这么理解这个过程。b也是本子里的一页,比如说b本身是在第3页,那么b就代表第3页,第3页就是b,他们现在是一个东西。
好,那么接着看new int[10];,new int[10]就是说,创建了一个数组的实体,它是连续的10张纸,这10张纸的第一张的编号是25,那么这个实体就是第25到34这10张纸的整体。
然后再看这个等号,等号就是赋值操作,给b赋值就是往b代表的纸上写内容。
左边是一张纸b,右边是一沓纸,那么怎么赋值呢?其实这个赋值操作呢,是把右边这一沓纸的 第一张纸的 地址 取出来,给了b,也就是25。所以这行执行完毕后:
b=就代表第3张纸
程序里有一沓纸,一种10张,被捆绑在了一起作为一个整体,也就是数组的实。这个实体的第1张纸的页码是25
第3张纸上上的内容被写成了数组实体的第一张纸的页码,也就是25。
这篇文章来自极客时间推出的《零基础学Java》中的FAQ。除了在每节视频课下方回答大家的问题之外,针对大家提出的优质问题或者普遍问题,如果需要更大篇幅的文章解答,则会在FAQ中以文章的方式给出回答。带你零基础入门,夯实Java,课程地址:https://time.geekbang.org/course/intro/181
版权声明: 本文为 InfoQ 作者【臧萌】的原创文章。
原文链接:【http://xie.infoq.cn/article/1cf816b6bd9a38b870ab6155e】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论