更新時間:2022-10-18 來源:黑馬程序員 瀏覽量:
假如現在需要統計某公司員工的工資情況,例如,計算員工平均工資、最高工資等。假設該公司有50名員工,用前面所學的知識,程序首先需要聲明50個變量分別存儲每位員工的工資,這樣做會比較麻煩。在Java中,可以使用一個數組存儲這50名員工的工資。數組,是指一組類型相同的數據的集合,數組中的每個數據稱為元素。數組可以存放任意類型的元素,但同一個數組里存放的元素必須類型一致。數組有一維數組和多維數組之分,下面展開說下數組的定義。
在Java中,聲明數組的方式有以下兩種。
第一種方式:
數組類型[] 數組名 = null;
第二種方式:
數據類型[]數組名; 數組名 = new數據類型[長度];
這兩種語法本身沒有任何區別,下面以第二種方式聲明一個數組,如下所示:
int[] x; // 聲明一個int[]類型的變量 x = new int[100]; // 為數組x分配100個元素空間
上述語句就相當于在內存中定義了100個int類型的變量,第一個變量的名稱為x[0],第二個變量的名稱為x[1],依次類推,第100個變量的名稱為x[99],這些變量的初始值都是0。
第一行代碼聲明了一個變量x,該變量的類型為int[],即聲明了一個int類型的數組。變量x會占用一塊內存單元,它沒有被分配初始值。變量x的內存狀態如圖2-38所示。
第二行代碼x = new int[100];創建了一個數組,將數組的地址賦值給變量x。在程序運行期間可以使用變量x引用數組,這時變量x在內存中的狀態會發生變化,如圖2-39所示。
圖2-39中描述了變量x引用數組的情況。該數組中有100個元素,初始值都為0。數組中的每個元素都有一個索引(也可稱為角標),可以通過x[0],x[1],...,x[98],x[99]的形式訪問數組中的元素。需要注意的是,數組中最小的索引是0,最大的索引是“數組的長度-1”。在Java中,為了便于獲得數組的長度,提供了一個length屬性,在程序中可以通過“數組名.length”的方式獲得數組的長度,即元素的個數。
圖2-38 變量x的內存狀態
圖2-39 變量x在內存中的狀態變化