静态初始化:
Int[][] arr = new int[][]{
{1,2,3},{4,5},{6}
};
在二维数组中的显示为:
静态定义二维数组,是一边定义一边确定二维数组的大小,因为静态定义二维数组,在定义时就赋值了,已经知道了赋值的情况,所以不会出现数组范围开大的情况,数组范围开大情况不会出现,所以就不会出现系统将没赋值的位置初始值变为0的情况.开辟的数组空间与数组元素的多少,大小有关.总之开辟的空间会正正好好,不多不少.
动态初始化:
Int[][] arr = new int[3][3];
arr[0][1] = 1
arr[0][2] = 2
arr[0][3] = 3
arr[1][0] = 4
arr[1][1] = 5
arr[2][0] = 6
在二维数组中的显示:
动态定义二维数组时,在不知道所要赋值的情况下会提前确定二维数组的大小,在堆中开辟空间.
例如:
int[][] arr = new int[4][5];//定义一个长度为4的二维数组,里面每个一维数组的长度为5.没有赋值的位置,系统会自动初始化为0,如下图:
开辟的空间:
情况一:多出很多无用空间;
情况二:也有可能正正好好(3*3的矩形全部被人为赋予初值,这样就不会被系统赋为0了)