您的位置:首页 > 其它

二维数组的静态初始化和动态初始化(重点)

2017-10-10 22:25 190 查看
静态初始化:           
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了)




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: