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

什么是多維數(shù)組?怎樣定義多維數(shù)組?

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

多維數(shù)組可以簡(jiǎn)單地理解為在數(shù)組中嵌套數(shù)組。在程序中,比較常見(jiàn)的多維數(shù)組是二維數(shù)組,接下來(lái)本節(jié)將針對(duì)二維數(shù)組進(jìn)行詳細(xì)講解,我們以統(tǒng)計(jì)學(xué)校各個(gè)班級(jí)學(xué)生的考試成績(jī),來(lái)實(shí)現(xiàn)。

二維數(shù)組可以被看作是特殊的一維數(shù)組,其定義有很多方式,接下來(lái)針對(duì)幾種常見(jiàn)的方式進(jìn)行詳細(xì)講解,具體如下。

第一種方式,指定二維數(shù)組的長(zhǎng)度和每個(gè)數(shù)組的元素個(gè)數(shù),其基本語(yǔ)法格式如下:

int[][] arr=new int[3][4];

上面的代碼相當(dāng)于定義了一個(gè)3*4的二維數(shù)組,這個(gè)二維數(shù)組的長(zhǎng)度為3,我們可以將它看成3個(gè)int[]類型的一維數(shù)組,每個(gè)一維數(shù)組中的元素又是一個(gè)長(zhǎng)度為4的一維數(shù)組。接下來(lái)通過(guò)一個(gè)圖來(lái)表示這種情況,如下圖所示。

1667370235867_31.png

第二種方式,只指定二維數(shù)組的長(zhǎng)度,不確定每個(gè)數(shù)組的元素個(gè)數(shù),其基本語(yǔ)法格式如下:

int[][] arr =new int[3][];

第二種方式和第一種類似,只是數(shù)組中每個(gè)元素的長(zhǎng)度不確定,接下來(lái)通過(guò)一個(gè)圖表來(lái)表示示這種情況,如下圖所示。

1667373223932_32.png

第三種方法,直接使用嵌套大括號(hào){},對(duì)二維數(shù)組初始化賦值,其基本語(yǔ)法格式如下:

int[][] arr ={{1,},{3,4,5,6},{7,8,9}};

上面的二維數(shù)組定義了三個(gè)元素,這三個(gè)元素都是數(shù)組,分別為{1,2}、{3,4,5,6}、{7,8,9},接下來(lái)通過(guò)下圖來(lái)表示這種情況:
1667373581091_33.png

對(duì)二維數(shù)組中元素的操作是通過(guò)角標(biāo)的方式來(lái)完成的,具體示例代碼如下:

arr[0][1];                        //獲取二維數(shù)組中第一個(gè)元素瓶的第二個(gè)元素
arr[0][1=1];                      //對(duì)二推數(shù)組中第一個(gè)元家組的第二個(gè)元索賦值成修改

接下來(lái)通過(guò)一個(gè)統(tǒng)計(jì)公司三個(gè)銷售小組中每個(gè)小組的總銷售額,以及整個(gè)公司銷售額的案例來(lái)熟悉二維數(shù)組的使用,如下所示。

Example25.java

public class Example25 {
    public static void main(String[] args) {                        //定義一個(gè)長(zhǎng)度為3的二維數(shù)組
        int[][] arr =new int[3][];                                  //為數(shù)組的元素賦值
        arr[0] =new int[] {11, 12 } ;
        arr[1] =new int[] { 21, 22, 23 };
        arr[2] =new int[] {31,32,33, 34};
        int sum =0;                                                 //定義變量記錄總銷售額

        for (int i<arr.length;i++) {                                //遍歷數(shù)組元素
            int groupSum =0;                                        //定義變量記錄小組銷售總額
            for (int j =0; j <arr[i].length; j++) {
                groupSum +=arr[i][j];
            }
            sum +=groupSum;                                         //累加小組銷售額
            System.out.println("第“+(i+1)+"小組銷售額為:"
                     +groupSum+"萬(wàn)元。");
        }
        System.out.println(”總銷售額為:“+sum+”萬(wàn)元,“);
    }
}





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