# 27. 认识变量和数组
# 1. 变量的基本逻辑
有定才有变。对计算机来说,固定的是地址,变化的是值。
# 2. 理解计算机如何使用内存,完成变量的功能
举个例子:
int a = 1;
int[] book = new int[10];
- 数组变量名
book
和基本类型变量名a
本质上是一样的,编译后本身是地址(栈地址),存储的是数据,只不过book
存储的数据是地址(堆地址),这个地址标识了另一块内存区域(堆内存)。 - 那么
book[0]
和book[1]
其实也是地址,与a
或book
不同的是,后者是编译时确定的绝对地址,而前者构建的是与book
的相对关系,与编译无关,即book[0]
与book
地址相同,book[1]
为book地址偏移1个int。这也解释了为什么数组第一个元素下标为0。
提示
地址和值就像一本书的目录和正文的关系
# 3. 多维数组
创建一个二维数组,二维数组是一维数组的自然延伸
例如:
double[][] scores = new double[3][6];