上回我们说完了二维数组的定义,这次我们就来说一说数组的初始化原理吧,希望看完本篇文章后你们能对数组有更加深入的了解。
一、什么是数组初始化?
Java中,数组定义完成之后使用之前都会需要初始化,这是源于数组的本质是引用类型,定义一个数组可以说只是定义了一个引用类型的变量而已,但如果这个指向了有效的数组对象的话,java就能够通过这个变量来访问对应数组元素。其实数组初始化就是让数组名指向数组对象的过程,这个过程会分为两个步骤:
1.初始化数组对象,即为数组元素分配内存空间和赋值,
2.初始化数组名,即为数组名赋值为数组对象的引用。
二、什么是数组静态初始化?
概念:
静态初始化就是指在定义时同时指定数组元素内容
实例:
int[] arr1 ={1,2,3,4,5}; String[] arr2 ={“tom”,“rose”,“sunny”}; String[][] arr3 ={{“tom”,“American”}, {“jack”,“England”}, {“张三”,“china”}};
在静态初始化时,不需要指定数组的大小,系统会根据指定的内容的数量自动分配大小。
三、什么是数组动态初始化?
概念:
动态初始化是指在定义时首先通过new关键字开辟指定大小的存储空间,然后再为存储单元指定内容
示例:
//初始化一维数组 int[] arr1 = new int[3]; arr1[0] = 10; arr1[1] = 20; arr1[2] = 30; //初始化二维数组 String[][] arr2 = new String[3][2]; arr2[0][0] = “tom”; arr2[0][1] = “American”; arr2[1][0] = “jack”; arr2[1][1] = “England”; arr2[2][0] = “张三”; arr2[2][1] = “china”; 在通过new关键字创建多维数组时, 不必指定每一维的大小, 而只需要指定最左边的维的大小即可。 如果指定了某一维的大小, 那么处于这一维左边的各维大小都需要指定, 否则将编译出错, 代码如下: //错误定义格式 String[][] arr = new String[][2]; //正确定义格式 String[][] arr = new String[3][]; //正确定义格式 String[][] arr = new String[3][2];
好了,这些就是数组初始化的一些原理了,想知道更多Java入门相关知识就请一直关注奇Q工具网吧。
推荐阅读: