“嗨,阿米戈!”
“嗨,艾莉。”
“今天,我要给你介绍一个有趣的新实体:数组。数组是一种数据类型,可以存储多个值,而不仅仅是一个值。”
“让我们从一个比喻开始。我们来比较房屋和公寓楼。一套普通房屋通常只住一个家庭,但一栋公寓楼可以分为很多套公寓。要将信件送给居住在房屋中的家庭,需要指出房屋的唯一地址。要将信件送给居住在公寓楼中的家庭,需要写明公寓楼的唯一地址和公寓号。”
“到目前为止,一切似乎都很清楚。”
“数组变量就像一个公寓楼变量。可以在其中存储很多(而不仅仅是一个)值。此类变量有多个公寓(元素),可以使用公寓号(索引)来引用它们。要执行此操作,请在数组变量名称后的方括号中指出要访问的数组元素的索引。非常简单。”
“但愿如此,艾莉。”
“公寓楼变量(数组变量)可以包含任何类型的元素。你只需写入‘TypeName[] variable_name’而不是‘TypeName variable_name’。”
下面是一些示例:
代码 | 说明 |
---|---|
|
创建包含 5 个元素的 String 数组 |
|
将显示五个‘null’值。
要访问特定数组元素的值,请使用方括号和元素索引。 |
|
将值 5 赋给 listCount ,这是 list 数组中元素的数量。list.length 存储数组长度(元素数量)。 |
|
将对象分配给数组元素时,需要在方括号中指出元素索引。 |
|
在屏幕上显示所有数组元素的值。 |
“太有趣了!”
“数组变量需要额外的初始化。”
—?
“对于常规变量,只需声明变量并赋予不同值。而对于数组,则稍微有点复杂。”
“必须先创建一个容纳 N 个元素的容器,然后才能开始将值放入容器中。”
代码 | 说明 |
---|---|
|
list 数组变量为 null。它只能存储对包含元素的容器的引用。你必须单独创建容器。 |
|
创建包含 5 个元素的容器,并分配对 list 变量的引用。此容器包含编号为 0、1、2、3 和 4 的 5 个公寓(元素)。 |
|
创建包含 1 个元素的容器,并分配对 list 变量的引用。要向此容器内放入内容,我们要编写类似 list[0] = "哟!"; 的代码。 |
|
创建包含 0 个元素的容器,并分配对 list 变量的引用。不能在此容器中存储任何内容。 |
“我明白了。现在越来越清楚了。”
“下面是一些有关数组的基本情况:”
1) 数组由很多元素构成。
2) 要访问某个元素,请指出其编号(索引)。
3) 所有元素都属于同一类型。
4) 所有元素的初始值都为 null;对于原始类型的数组,初始值为 0、0.0(对于小数)或 false(对于 boolean 值)。它与不在数组中的未初始化变量完全相同。
5) String[] list 仅声明一个变量。你需要先创建一个数组(容器),放入一些内容,然后才能使用它(请参见下面的示例)。
6) 创建数组(容器)对象时,需要指出其长度或元素数量。使用 new TypeName[n]; 执行此操作
下面是一些示例:
代码 | 说明 |
---|---|
|
s 等于 nulllist 等于 null |
|
list 变量存储对象的引用 – 一个 10 元素字符串数组n 等于 10 |
|
现在,list 包含一个 0 元素数组。数组存在,但不能存储字符串。 |
|
这将抛出异常(运行时错误),并且程序将异常终止:list 包含 null 引用。 |
|
这将抛出异常(运行时错误):数组索引超出范围。
如果 |
GO TO FULL VERSION