二维数组遍历

/*
        二维数组遍历
        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();
        }
    }
}