
👀專欄介紹
【Java】 目前主要更新Java,一起學習一起進步。
👀本期介紹
本期主要介紹數組定義和通路及數組原理記憶體圖
文章目錄
1. 數組定義和通路
1.1 容器概述
案例分析
現在需要統計某公司員工的工資情況,例如計算平均工資、找到最高工資等。假設該公司有
50
名員
工,用前面所學
的知識,程式首先需要聲明
50
個變量來分别記住每位員工的工資,然後在進行操作,這樣做會顯得
很麻煩,而且錯
誤率也會很高。是以我們可以使用容器進行操作。将所有的資料全部存儲到一個容器中,統一操
作。
容器概念
容器:
是将多個資料存儲到一起,每個資料稱為該容器的元素。
生活中的容器:
水杯,衣櫃,教室
1.2 數組概念
數組概念:
數組就是存儲資料長度固定的容器,保證多個資料的資料類型要一緻。
1.3 數組的定義
方式一
格式:
數組定義格式詳解:
數組存儲的資料類型: 建立的數組容器可以存儲什麼資料類型。
[] : 表示數組。
數組名字:為定義的數組起個變量名,滿足辨別符規範,可以使用名字操作數組。
new :關鍵字,建立數組使用的關鍵字。
數組存儲的資料類型: 建立的數組容器可以存儲什麼資料類型。
[ 長度
]
:數組的長度,表示數組容器中可以存儲多少個元素。
注意:數組有定長特性,長度一旦指定,不可更改。
和水杯道理相同,買了一個 2
升的水杯,總容量就是
2
升,不能多也不能少。
舉例:
定義可以存儲 3
個整數的數組容器,代碼如下:
方式二
格式:
舉例:
定義存儲 1 ,
2
,
3
,
4
,
5
整數的數組容器。
方式三
格式:
舉例:
定義存儲 1 , 2
,
3
,
4
,
5
整數的數組容器
1.4 數組的通路
索引:
每一個存儲到數組的元素,都會自動的擁有一個編号,從
開始,這個自動編号稱為
數組索
引
(index)
,可以通過數組的索引通路到數組中的元素。
格式:
數組的長度屬性:
每個數組都具有長度,而且是固定的,
Java
中賦予了數組的一個屬性,可以獲
取到數組的
長度,語句為: 數組名 .length ,屬性 length
的執行結果是數組的長度,
int
類型結果。由次可以推
斷出,數組的最大索引值為 數組名 .length - 1 。
索引通路數組中的元素:
數組名 [ 索引 ]= 數值,為數組中的元素指派
變量 = 數組名 [ 索引
]
,擷取出數組中的元素
2. 數組原理記憶體圖
2.1 記憶體概述
記憶體是計算機中的重要原件,臨時存儲區域,作用是運作程式。我們編寫的程式是存放在硬碟中
的,在硬碟中的程式是不會運作的,必須放進記憶體中才能運作,運作完畢後會清空記憶體。
Java 虛拟機要運作程式,必須要對記憶體進行空間的配置設定和管理。
2.2 Java虛拟機的記憶體劃分
為了提高運算效率,就對空間進行了不同區域的劃分,因為每一片區域都有特定的處理資料方式和
記憶體管理方式。
JVM 的記憶體劃分:
2.3 數組在記憶體中的存儲
一個數組記憶體圖
以上方法執行,輸出的結果是 [I@5f150435 ,這個是什麼呢?是數組在記憶體中的位址。 new 出來的
内容,都是在堆記憶體中存儲的,而方法中的變量arr 儲存的是數組的位址。
輸出
arr[0]
,就會輸出
arr
儲存的記憶體位址中數組中
索引上的元素