在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-39所示。
圖2-39中描述了變量x引用數組的情況。該數組中有100個元素,初始值都為0。數組中的每個元素都有一個索引(也可稱為角標),可以通過x[0],x[1],…,x[98],x[99]的形式訪問數組中的元素。需要注意的是,數組中最小的索引是0,最大的索引是“數組的長度-1”。在Java中,為了便于獲得數組的長度,提供了一個length屬性,在程序中可以通過“數組名.length”的方式獲得數組的長度,即元素的個數。
圖2-39 變量x在內存中的狀態變化