# 27. 认识变量和数组

# 1. 变量的基本逻辑

有定才有变。对计算机来说,固定的是地址,变化的是值。

# 2. 理解计算机如何使用内存,完成变量的功能

举个例子:

int a = 1;
int[] book = new int[10];
  1. 数组变量名book和基本类型变量名a本质上是一样的,编译后本身是地址(栈地址),存储的是数据,只不过book存储的数据是地址(堆地址),这个地址标识了另一块内存区域(堆内存)。
  2. 那么book[0]book[1]其实也是地址,与abook不同的是,后者是编译时确定的绝对地址,而前者构建的是与book的相对关系,与编译无关,即book[0]book地址相同,book[1]为book地址偏移1个int。这也解释了为什么数组第一个元素下标为0。

提示

地址和值就像一本书的目录和正文的关系

# 3. 多维数组

创建一个二维数组,二维数组是一维数组的自然延伸

例如:

double[][] scores = new double[3][6];