java数组初始化原理有哪些?java初始化数组原理介绍

TheDisguiser 2020-05-15 21:38:35 java常见问答 8165

上回我们说完了二维数组的定义,这次我们就来说一说数组的初始化原理吧,希望看完本篇文章后你们能对数组有更加深入的了解。

一、什么是数组初始化?

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工具网吧。

推荐阅读:

Java数组初始化为0怎么做?具体方法是什么?

java数组长度可以改变吗?与数组下标有何异同?