两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

在Java中,二維數(shù)組被看作數(shù)組的數(shù)組,即二維數(shù)組是一個特殊的一維數(shù)組,二維數(shù)組的每個元素都是一個一維數(shù)組。

1.二維數(shù)組的定義

1)格式一:

元素的數(shù)據(jù)類型[][] 數(shù)組的名字 = new 元素的數(shù)據(jù)類型[二維數(shù)組的長度][一維數(shù)組的長度];

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

以上這種情況代表有3個一維數(shù)組,且每個一維數(shù)組有2個元素。

2)格式二:

元素的數(shù)據(jù)類型[][] 數(shù)組的名字 = new 元素的數(shù)據(jù)類型[二維數(shù)組的長度][];

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

以上這種情況代表有3個一維數(shù)組,但每個一維數(shù)組的元素個數(shù)不確定,且每個一維數(shù)組的元素個數(shù)可以不一樣。

3)格式三:

元素的數(shù)據(jù)類型[][] 數(shù)組的名字 = {{元素1,元素2,…},{元素1,元素2,…},…};

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

以上這種情況代表有3個一維數(shù)組,第一個一維數(shù)組中有3個元素,第二個一維數(shù)組中有2個元素,第三個一維數(shù)組中有4個元素,每個一維數(shù)組的元素個數(shù)可以不一樣。

2.二維數(shù)組的聲明

聲明二維數(shù)組有下列兩種格式:

數(shù)組的元素類型 數(shù)組名[][];

數(shù)組的元素類型 [][] 數(shù)組名;

例如:

char cat[][];
char [][] cat;

3.二維數(shù)組的初始化

二維數(shù)組的初始化同一維數(shù)組一樣,有兩種方式:動態(tài)初始化和靜態(tài)初始化。

(1) 靜態(tài)初始化

1)先聲明再靜態(tài)初始化

元素的數(shù)據(jù)類型[][] 二維數(shù)組名;
二維數(shù)組名 = new 元素的數(shù)據(jù)類型[][]{{元素1,元素2,元素3,…},{第二行的值列表},…,{第n行的值列表}};

2)聲明的同時靜態(tài)初始化

元素的數(shù)據(jù)類型[][] 二維數(shù)組名 = new 元素的數(shù)據(jù)類型[][]{{元素1,元素2,元素3,…},{第二行的值列表},…,{第n行的值列表}};

注意:右邊“new 元素的數(shù)據(jù)類型[][]”中“[][]”中不能寫數(shù)字,因為行數(shù)和列數(shù)由{}中的元素個數(shù)決定。

3)聲明的同時靜態(tài)初始化的簡化寫法

元素的數(shù)據(jù)類型[][] 二維數(shù)組名 = {{元素1,元素2,元素3,…},{第二行的值列表},…,{第n行的值列表}};

例如:

public class Main {
    public static void main(String[] args) {
        int[][] arr = {{1,2,3},{4,5},{6}}; //定義數(shù)組
        System.out.println(arr[0][0]); //1
        System.out.println(arr[1][0]); //4
        System.out.println(arr[2][0]); //6
        System.out.println(arr[0][1]); //2
        System.out.println(arr[1][1]); //5
        System.out.println(arr[2][1]); //越界
    }
}

(2) 動態(tài)初始化

動態(tài)初始化創(chuàng)建可以不用聲明里面一維數(shù)組的長度,因此,它每個一維數(shù)組長度可以不一樣,所以,就有了下面兩種初始化方式。

1)動態(tài)初始化一:規(guī)則二維表

程序員指定數(shù)組的長度,后期再賦值,一開始系統(tǒng)會先給定元素默認初始值,規(guī)則二維表也就意味著每一行的列數(shù)是相同的,其一般格式如下,首先確定行數(shù)和列數(shù):

元素的數(shù)據(jù)類型[][] 二維數(shù)組名 = new 元素的數(shù)據(jù)類型[m][n];

其中m表示這個二維數(shù)組有多少個一維數(shù)組,或者說二維表一共有幾行;n表示每個一維數(shù)組的元素有多少個,或者說每行有幾個單元格。

此時創(chuàng)建完數(shù)組,行數(shù)列數(shù)確定,而且元素也都有默認值,再為元素賦新值:

二維數(shù)組名[行下標][列下標] = 值;

例如:

public class Main {
    public static void main(String[] args) {
        int[][] arr = new int[3][2];
        /*
        定義一個二維數(shù)組arr
        這個二維數(shù)組有3個一維數(shù)組的元素
        每個一維數(shù)組有2個元素
        */
        System.out.println(arr); //輸出二維數(shù)組名稱
        System.out.println(arr[0]); //輸出二維數(shù)組的第一個元素一維數(shù)組的名稱
        System.out.println(arr[0][0]); //輸出二維數(shù)組的元素
    }
}

2)動態(tài)初始化二:不規(guī)則二維表

不規(guī)則二維表也就意味著每一行的列數(shù)可能不一樣,其一般格式如下,首先確定總行數(shù):

元素的數(shù)據(jù)類型[][] 二維數(shù)組名 = new 元素的數(shù)據(jù)類型[總行數(shù)][];

此時只是確定了總行數(shù),每一行里面現(xiàn)在是null,然后再確定每一行的列數(shù),創(chuàng)建每一行的一維數(shù)組:

二維數(shù)組名[行下標] = new 元素的數(shù)據(jù)類型[該行的總列數(shù)];

此時通過new的行的元素就有默認值,沒有通過new的行還是null,最后為元素賦值:

二維數(shù)組名[行下標][列下標] = 值;

注意:不規(guī)則二維表,聲明后,初始化內部一維數(shù)組時不能簡寫。

//不規(guī)則二維表定義二維數(shù)組
int[][] arr = new int[3][]; //3行,未知的列
//初始化二維數(shù)組內的元素值
arr[0] = new int[]{1}; //此處不能簡寫為arr[0] = {1}
arr[1] = new int[]{2,3};
arr[2] = new int[]{4,5,6};

4.二維數(shù)組的遍歷

二維數(shù)組的遍歷和一維數(shù)組一樣,區(qū)別就是,首先要在外循環(huán),遍歷每個一維數(shù)組,其一般格式如下:

for(int i=0;i<二維數(shù)組名.length;i++) {
    for(int j=0;j<二維數(shù)組名[i].length;j++) {
        System.out.print(二維數(shù)組名[i][j]);
    }
    System.out.println();
}


點贊(0)

C語言網提供由在職研發(fā)工程師或ACM藍橋杯競賽優(yōu)秀選手錄制的視頻教程,并配有習題和答疑,點擊了解:

一點編程也不會寫的:零基礎C語言學練課程

解決困擾你多年的C語言疑難雜癥特性的C語言進階課程

從零到寫出一個爬蟲的Python編程課程

只會語法寫不出代碼?手把手帶你寫100個編程真題的編程百練課程

信息學奧賽或C++選手的 必學C++課程

藍橋杯ACM、信息學奧賽的必學課程:算法競賽課入門課程

手把手講解近五年真題的藍橋杯輔導課程

Dotcpp在線編譯      (登錄可減少運行等待時間)