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,它的單元格中只能存儲字符串。數組的數據類型在創建時指定。以後不能更改數據類型和數組的長度。