二维数组的静态初始化和动态初始化(重点)
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了)
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了)
相关文章推荐
- Java中一维二维数组的静态和动态初始化
- 二维数组的定义(动态初始化、静态初始化)、初始化格式及其操作、java中的参数传递方式,面向对象的基本概念
- java二维数组初始化(动态,静态)
- JavaSE7基础 一维数组的初始化 静态与动态方式
- (转)java二维数组的深度学习(静态与动态)
- 动态申请 二维数组 以及初始化、 赋值
- C++中静态初始化数组与动态初始化数组
- 对象数组的初始化 分为 静态初始化 和动态初始化
- 如何将二维数组(静态的和动态的)作为函数的参数传递
- 数组的初始化之---静态初始化和动态初始化
- 【Oracle 真2系列】初始化参数是静态 & 动态
- 二维数组的动态分配(new)、初始化(…
- C++ 静态二维数组与new出来的动态二维数组,存储结构的差别
- C++中静态初始化数组与动态初始化数组详解
- java 静态初始化,动态初始化,以及构造器执行的顺序
- 二维数组的动态分配(new)、初始化(…
- 静态二维数组和动态二维数组(C语言)
- 动态开辟二维数组,初始化二维数组指针
- 二维数组的动态分配(new)、初始化(memset)和撤销(delete)
- java 动态初始化和静态初始化的区别