首頁(yè)技術(shù)文章正文

Java培訓(xùn):數(shù)組的定義

更新時(shí)間:2022-10-18 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  假如現(xiàn)在需要統(tǒng)計(jì)某公司員工的工資情況,例如,計(jì)算員工平均工資、最高工資等。假設(shè)該公司有50名員工,用前面所學(xué)的知識(shí),程序首先需要聲明50個(gè)變量分別存儲(chǔ)每位員工的工資,這樣做會(huì)比較麻煩。在Java中,可以使用一個(gè)數(shù)組存儲(chǔ)這50名員工的工資。數(shù)組,是指一組類型相同的數(shù)據(jù)的集合,數(shù)組中的每個(gè)數(shù)據(jù)稱為元素。數(shù)組可以存放任意類型的元素,但同一個(gè)數(shù)組里存放的元素必須類型一致。數(shù)組有一維數(shù)組和多維數(shù)組之分,下面展開(kāi)說(shuō)下數(shù)組的定義。

  在Java中,聲明數(shù)組的方式有以下兩種。

  第一種方式:

數(shù)組類型[] 數(shù)組名 = null;

  第二種方式:

數(shù)據(jù)類型[]數(shù)組名;
數(shù)組名 = new數(shù)據(jù)類型[長(zhǎng)度];

  這兩種語(yǔ)法本身沒(méi)有任何區(qū)別,下面以第二種方式聲明一個(gè)數(shù)組,如下所示:

int[] x;          // 聲明一個(gè)int[]類型的變量
x = new int[100]; // 為數(shù)組x分配100個(gè)元素空間

  上述語(yǔ)句就相當(dāng)于在內(nèi)存中定義了100個(gè)int類型的變量,第一個(gè)變量的名稱為x[0],第二個(gè)變量的名稱為x[1],依次類推,第100個(gè)變量的名稱為x[99],這些變量的初始值都是0。

  第一行代碼聲明了一個(gè)變量x,該變量的類型為int[],即聲明了一個(gè)int類型的數(shù)組。變量x會(huì)占用一塊內(nèi)存單元,它沒(méi)有被分配初始值。變量x的內(nèi)存狀態(tài)如圖2-38所示。

  第二行代碼x = new int[100];創(chuàng)建了一個(gè)數(shù)組,將數(shù)組的地址賦值給變量x。在程序運(yùn)行期間可以使用變量x引用數(shù)組,這時(shí)變量x在內(nèi)存中的狀態(tài)會(huì)發(fā)生變化,如圖2-39所示。

  圖2-39中描述了變量x引用數(shù)組的情況。該數(shù)組中有100個(gè)元素,初始值都為0。數(shù)組中的每個(gè)元素都有一個(gè)索引(也可稱為角標(biāo)),可以通過(guò)x[0],x[1],...,x[98],x[99]的形式訪問(wèn)數(shù)組中的元素。需要注意的是,數(shù)組中最小的索引是0,最大的索引是“數(shù)組的長(zhǎng)度-1”。在Java中,為了便于獲得數(shù)組的長(zhǎng)度,提供了一個(gè)length屬性,在程序中可以通過(guò)“數(shù)組名.length”的方式獲得數(shù)組的長(zhǎng)度,即元素的個(gè)數(shù)。

1666057438258_變量x的內(nèi)存狀態(tài).jpg

  圖2-38 變量x的內(nèi)存狀態(tài)

1666057462373_變量x在內(nèi)存中的狀態(tài)變化.jpg

  圖2-39 變量x在內(nèi)存中的狀態(tài)變化

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!