二维数组有两种初始化方式静态初始化和动态初始化;
静态初始化:int[][] arr = {{1,2,3},{4,5,6}}有三个一维数组,每个一维数组都已经初始化arr[1] = {1,2,3};arr[2] = {4,5,6};
指定每个数组元素的初始值,由系统决定数组长度。
动态初始化:int[][] arr = new int[2][]; 有两个一维数组,没有初始化一维数组,默认值为null
程序员只指定数组长度,由系统为数组元素分配初始值。
所以:
int[][] arr=new int[][]不被允许,你没有给数组arr进行初始化,不管是动态还是静态的
int[][] arr=new int[2][];被允许 :你进行了动态初始化,指定了一维数组的个数,但是没有指定一维数组中元素的个数 |