Java中二维数组的动态初始化

java中二维数组的动态初始化:

使用new关键字实例化,并且指定一次维度,而不是直接等于{{“hello”, “world”}, {“I”, “am”, “coming”}}

测试代码:

public class ArrayTest07 {

    public static void main(String[] args) {
        //先看看二维数组作为参数时应该怎么写
        //静态初始化一个二维数组
        String[][] strArray = {
                {"hello", "world"},
                {"I", "am", "coming"}
        };

        //打印二维数组
        printStringArray(strArray);
        System.out.println("-----------------------------------------");

        //错误的写法
        /*printStringArray({
                {"hello", "world"},
                {"I", "am", "coming"}
        });*/

        //可以这样写:动态初始化
        printStringArray(new String[][]{
                {"aa", "bb", "cc"},
                {"ddd", "eee", "fff"}
        });
        System.out.println("-----------------------------------------");

        //可以这样写:动态初始化
        printStringArray(new String[3][4]);  //3行4列,全是null

        //错误的写法
        /*printStringArray(new String[2][3]{
                {"aa", "bb", "cc"},
                {"ddd", "eee", "fff"}
        });*/
        //注意:维度 和 初始化不能同时出现
    }

    //静态方法,打印二维数组
    static void printStringArray(String[][] arr) {
        for (int i = 0; i < arr.length; i++) {
            for (int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j] + "  ");
            }
            System.out.println();
        }
    }
}

总结:
二维数组的动态初始化:

String[][] strArr = new String[][] {
		{"aa", "bb", "cc"},
		{"ddd", "eee", "fff"}
 })

或者这样也行:

String[][] strArr = new String[3][4];  //3行4列

错误的写法:

strArr = new String[2][3] {  //这里已经指定了显示维度2,3
		{"aa", "bb", "cc"},
		{"ddd", "eee", "fff"}  //这里又被系统算出了隐式维度2,3
});

注意:
二维数组动态初始化中:
使用new关键字实例化,并且指定一次维度。
显示维度 和 隐式维度 不能同时出现。

你可能感兴趣的:(JavaSE)