有如下两种定义方式:

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

int[][] b = new int[5][5];

那么其不同在哪里呢?

1. out(arr[2][1]);会越界;其他值未赋值;不可对空的元素(如arr[2][1])再赋值。

2. 未显式赋值,out(b[1][1]);会输出0,有默认值;

3. 内存分配。

待补充。