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