1. 程式人生 > 其它 >Java學習筆記33——二維陣列遍歷

Java學習筆記33——二維陣列遍歷

二維陣列遍歷

/*
        二維陣列遍歷
        int[][] arr = {{1,2},{11,22,33},{100,200,300},{10,20,30,40}};

        分析:
            1、先獲取每一個一維陣列
            2、一次遍歷每一個一維陣列中的元素值
 */
public class Array2Test1 {
    public static void main(String[] args) {
        //定義一個二維陣列
        int[][] arr = {{1,2},{11,22,33},{100,200,300},{10,20,30,40}};

        System.out.println(arr[0][0]);
        System.out.println(arr[0][1]);

        System.out.println(arr[1][0]);
        System.out.println(arr[1][1]);
        System.out.println(arr[1][2]);

        System.out.println(arr[2][0]);
        System.out.println(arr[2][1]);
        System.out.println(arr[2][2]);

        System.out.println(arr[3][0]);
        System.out.println(arr[3][1]);
        System.out.println(arr[3][2]);
        System.out.println(arr[3][3]);

        System.out.println("===========for迴圈巢狀列印二維陣列=========================");

        //使用上面一個一個元素的列印確實可以將每一個元素輸出
        //但是呢,當資料量特別大的時候,
        // 你怎麼知道有多少個一維陣列以及一維陣列中有多少個元素呢?
        //按照上面的輸出很有可能發生陣列下標索引越界以及空指標的異常
        //我們之前學一維陣列的時候,結合for迴圈以及陣列的length屬性可以對一維陣列
        //進行遍歷,所以,我們想一想,這個方式能不能遍歷二維陣列呢?
        //經過分析,發生是可以的
        //需要兩個for迴圈,一個for迴圈遍歷獲取的是每一個一維陣列
        //內部for迴圈遍歷的是獲取到的每一個一維陣列中每個元素值
        for(int i=0;i<arr.length;i++){
            //針對獲取到的每一個一維陣列進行遍歷
            for(int j=0;j<arr[i].length;j++){
                if(j==0){
                    System.out.print("二維陣列中第"+(i+1)+"個一維陣列:["+arr[i][j]+",");
                }else if(j==arr[i].length-1){
                    System.out.print(arr[i][j]+"]");
                }else {
                    System.out.print(arr[i][j]+",");
                }
            }
            System.out.println();
        }
    }
}