PDF 课件和源代码下载地址:
https://github.com/geektime-geekbang/LetsJava
作者回复:
就是这么个感觉。组合成一个复杂的东西,然后把这个复杂的东西当作一个整体,再去在更高的层面组合成更复杂的东西。
就好像水泥钢筋和砖头,分别都是独立的单位,他们一起组成墙;然后把墙看成一个独立的单位,和别的单位一起,组成建筑;然后把建筑看成一个独立的单位,和花园,道路等等可以组成园区。
作者回复:
矩阵乘法用多位数组计算基本上就是直接套公式。一个二维数组天然就是一个矩阵,按照公式定义好结果矩阵(二维数组)的大小,然后对输入的两个矩阵嵌套循环,套公式计算,给结果矩阵对应的元素赋值就可以了。
作者回复: 嗯呐,理解到位。
补充一点就是a[0]作为a[][]的数组元素,它的地址(不是它存储的值,而是地址)和a[1]是连续的。这样就更好理解多位数组是一位维数组的延续。
作者回复: 拿得花不老少钱买本子,哈哈。理解了就好,理解数组了就算是程序员了。
我最多只能操控到三维数组,再多脑子就转不过来了,得上辅助,比如用纸写写画画。对于Java语言善于解决得问题领域来说,其实很少会用到超过二维数组。否则很可能是设计上有问题。
再多说一句,Java数组的事实就是,除了一维数组以外(当然一维数组也可以是引用),高维数组都是指向别的数组的引用,引用指向的是下一维度的数组实体,当然下一维度的数组可能也还非一维的,那么继续是引用,继续指向别的数组。