首页 > 代码库 > Java 数组

Java 数组

理解数组

数组(如:int[])也是一种数据类型,它本身是一种引用类型。Java 的数组要求所有数组元素具有相同的数据类型。因此,在一个数组中,数组元素的类型是唯一的,不能存储多种数据类型的数据。


因为 Java 语言是面向对象的语言,能很好地支持类与类之间的继承关系,这样可能产生一个数组里可以存放多种数据类型的假象:例如有一个水果数组,要求每个数组元素都是水果,实际上数组元素既可是苹果,也可以是香蕉,但这个数组的数组元素的类型还是唯一的,只能是水果类型。这里体现出的继承思想就是:可以说子类一定是父类(苹果一定是水果,香蕉一定是水果),却不能说父类一定是子类(水果一定是苹果,水果一定是香蕉)。


数组初始化

一旦为数组的每个数组元素分配了内存空间,每个内存空间里存储的内容就是该数组元素的值,即使这个内存空间存储的内容是空,这个空也是一个值(null)。不管以哪种方式来初始化数组,只要为数组元素分配了内存空间,数组元素就具有了初始值,初始值的获得由两种形式:一种有系统自动分配,一种有程序员指定。


一旦数组的初始化完成,数组在内存中所占的空间将被固定下来,因此数组的长度将不可改变。即使把某个数组元素的数据清空,但它所占的空间依然被保留,依然属于该数组,数组的长度依然不变。


静态初始化:程序员为数组元素分配初始值,系统决定数组长度。

动态初始化:程序员指定数组长度,系统为数组元素分配初始值。

静态初始化和动态初始化不要同时使用,也就是说不要在进行数组初始化时,既指定数组的长度,也为每个数组元素分配初始值。

Java 数组