1.数组是元素的容器
您可能听说过计算机可以处理大量信息。当然,条件语句 ( if-else
) 和循环 ( for
, while
) 在这里大有帮助。但他们只能带你到此为止。毕竟,您处理的数据需要以某种方式存储。
与几乎所有编程语言一样,Java 通过提供称为数组(Array
类)的伟大事物来促进数据处理。它们有时也称为表。
数组是一种特殊的对象,它允许您存储的不是一个值,而是多个。
之前我们将变量比作一个盒子(您可以在其中存储任何值)。继续这个类比,我们可以把数组想象成一个有内部隔间的盒子。“盒子”(数组)中的每个隔间都有一个编号。当然,编号是从零开始的……
或者我们可以再打个比方。让我们比较一下普通住宅和高层公寓楼。普通的房子住的是单户人家,高层的公寓楼却分成公寓。如果你想寄信给住在普通房子里的家庭,你会指明这所房子的唯一地址。要给住在公寓里的家庭寄一封信,您需要指明建筑物的唯一地址和公寓号。
数组变量就像高层变量。它不能存储一个值,而是多个值。这样的变量有几个公寓(单元格)。它们中的每一个都可以通过它们的编号(索引)来寻址。
为此,在变量名称之后,指明要寻址的单元格的索引,将索引括在方括号中。这很简单:
array[index] = value;
其中array
是数组变量的名称,index
是数组中的单元格编号,value
是我们要放入指定单元格的值。
但首先,让我们了解如何创建数组。
2. 在 Java 中创建元素数组
假设您的程序需要100
在某处存储整数。数组将是一个很好的选择。你如何创造一个?
如果我们想存储单个整数,这种int
类型会适合我们。但是如果我们想存储100
整数,我们可能需要一个s数组int
。这是创建一个代码的样子:
int[] array = new int[100];
让我们探讨一下这个说法。
您可能已经猜到了,在等号的左边,我们声明了一个array
类型为 的变量int[]
。类型int
后跟方括号,暗示这种类型的“盒子”不能存储一个值,而是多个值。
在等号的右边,我们有一个“对象创建”(关键字new
)的例子来获取100
类型为int的元素(单元格)。这里没有什么太难的。
同样,如果我们想创建一个包含20 个单元格的数组来存储实数,那么我们的代码将如下所示:
double[] vals = new double[20];
数组中的单元格数称为数组的大小或数组的长度。又因为数组可以存储很多值,所以也被称为容器。
这是一个重要的事实:数组创建后不能更改其大小。
您可以创建一个新容器,但无法更改现有容器的长度。
3. 使用数组的单元格
好的,我们已经学会了如何创建数组。现在我们如何与他们合作?
好吧,几乎与普通变量相同。唯一的区别是在数组变量的名称之后,我们必须指明我们正在使用的单元格的编号。
数组中单元格的编号始终从零开始。如果我们有一个元素数组10
,那么它的单元格的数字(索引)是0..9
。如果数组包含200
元素,则索引为0..199
. 以此类推。
例子:
代码 | 解释 |
---|---|
|
创建一个元素数组10 int 。将值分配 4 给具有索引的单元格2 。将值分配 9 给具有索引的单元格7 。在索引为 的单元格中,写下存储在单元格(存储值)和(存储值) 中的值 9 的总和。2 4 5 0 |
这是执行此代码后将存储在内存中的内容:
左侧的列(灰色)表示单元格编号(索引)。单元格存储分配的值:4
,9
和4
。创建数组时,其单元格全部填充为零。
这个很重要。数组中的所有单元格都具有相同的数据类型。如果我们创建一个 s 数组String
,它的单元格中只能存储字符串。数组的数据类型在创建时指定。以后不能更改数据类型和数组的长度。
GO TO FULL VERSION