1.数组是元素的容器

您可能听说过计算机可以处理大量信息。当然,条件语句 ( if-else) 和循环 ( for, while) 在这里大有帮助。但他们只能带你到此为止。毕竟,您处理的数据需要以某种方式存储。

与几乎所有编程语言一样,Java 通过提供称为数组Array类)的伟大事物来促进数据处理。它们有时也称为表。

数组是一种特殊的对象,它允许您存储的不是一个值,而是多个

Java数组

之前我们将变量比作一个盒子(您可以在其中存储任何值)。继续这个类比,我们可以把数组想象成一个有内部隔间的盒子。“盒子”(数组)中的每个隔间都有一个编号。当然,编号是从零开始的……

或者我们可以再打个比方。让我们比较一下普通住宅和高层公寓楼。普通的房子住的是单户人家,高层的公寓楼却分成公寓。如果你想寄信给住在普通房子里的家庭,你会指明这所房子的唯一地址。要给住在公寓里的家庭寄一封信,您需要指明建筑物的唯一地址和公寓号。

数组变量就像高层变量。它不能存储一个值,而是多个值。这样的变量有几个公寓(单元格)。它们中的每一个都可以通过它们的编号(索引)来寻址。

为此,在变量名称之后,指明要寻址的单元格的索引,将索引括在方括号中。这很简单:

array[index] = value;

其中array是数组变量的名称,index是数组中的单元格编号,value是我们要放入指定单元格的值。

但首先,让我们了解如何创建数组。


2. 在 Java 中创建元素数组

在 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. 以此类推。

例子:

代码 解释
int[] a = new int[10];
a[2] = 4;
a[7] = 9;
a[9] = a[2] + a[5];
创建一个元素数组10 int
将值分配4给具有索引的单元格2
将值分配9给具有索引的单元格7
在索引为 的单元格中,写下存储在单元格(存储值)和(存储值) 中的值9的总和。2450

这是执行此代码后将存储在内存中的内容:

使用 int 数组的单元格 2

左侧的列(灰色)表示单元格编号(索引)。单元格存储分配的值:4,94。创建数组时,其单元格全部填充为零。

这个很重要。数组中的所有单元格都具有相同的数据类型。如果我们创建一个 s 数组String,它的单元格中只能存储字符串。数组的数据类型在创建时指定。以后不能更改数据类型和数组的长度。