数组是排队的数据
如果要记住全班 30 个同学的名字,建 30 个变量太累——用“数组”一个就够。
假设你要写程序记下全班 30 个同学的名字。如果用一个变量装一个名字,要建 30 个变量——太累啦!别怕,“数组”来帮忙:一个名字,装下一长串数据。数组是程序员最常用的好帮手,学会了它,你就能轻松管理一大堆数据。
你知道吗
你知道吗?在大多数编程语言里,数组的编号是从 0 开始的,不是 1。也就是说,第一个元素的编号是 0,第二个是 1。这叫“零索引”,是程序员要适应的第一个“奇怪习惯”。
一排有编号的小格子
数组就像一排连在一起的小格子,每个格子都有一个编号(叫“索引”)。你可以把数据一个一个放进格子里:第一个名字放 0 号格,第二个放 1 号格……要用的时候,只要喊“数组名 + 编号”,就能取出对应的数据。这就像学校的储物柜,每个柜子都有号码,放什么、取什么都很方便。
比如建一个叫“水果”的数组,里面放:[“苹果”, “香蕉”, “橘子”, “葡萄”]。想吃第三个,就喊“水果[2]”——咦,为什么是 2 不是 3?因为编号从 0 开始:苹果是 0,香蕉是 1,橘子就是 2!数组还能用循环遍历——让程序一个一个把每个格子都访问一遍,做同样的事。
为什么要从 0 开始编号呢?这其实有道理:编号表示“离起点有多远”。第一个元素离起点 0 步,第二个离起点 1 步,第三个离起点 2 步……所以编号就是“距离”。虽然一开始有点别扭,但习惯了就会觉得特别自然。这也让计算机算地址特别快,只要用“起点 + 编号”就能立刻找到任意一个格子。
- 数组是一组按顺序排列的数据
- 每个格子有编号,叫“索引”
- 编号从 0 开始,不是 1
- 用“数组名 + 编号”取数据
- 可以用循环把每个元素都访问一遍
数组能做什么?
数组能做的事可多了:可以装下一整班的考试成绩,然后算平均分;可以装下你最喜欢的歌曲清单,随机播放一首;可以装下游戏里怪物的位置,让它们一个个出现。数组和循环是“黄金搭档”——用循环走遍数组里每一个数据,就能批量处理一大堆信息,省时又省力。
动手试试
不插电小游戏:找 5 张小卡片,写上 5 种你喜欢的动物。把它们排成一排,从 0 开始编号。让家人喊“动物[3]”,你要快速拿出对应的卡片。再试着用循环的方式:“从 0 到 4,依次说出每种动物”。还可以玩“反向挑战”:家人拿出一张卡片,你要说出它的编号是几。
秩序是天国的第一法则。——亚历山大·波普


