数组概述和特点
数组的定义:数组是相同类型数据的有序集合。
数组描述的是相同类型的若干个数据按照一定的先后次序排列组合而成。其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们。
数组的四个基本特点:
1.其长度是确定的。数组一旦被创建,它的大小就是不可以改变的。
2.其元素必须是相同类型,不允许出现混合类型。
3.数组中的元素可以是任何数据类型,包括基本类型和引用类型。
4.数据变量属引用类型,数组也可以看成对象,数组中的每个元素相当于该对象的成员变量。数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对
象类型,数组对象本身是在堆中的。
创建数组
int[] a;//推荐使用该中方式创建数组对象
int b[];
a=new int[3];
b=new int[4];
注:
1.声明的时候并没有实例化任何对象,只有在实例化数组对象时,jvm才分配空间,这时才与长度有关。因此,声明数组时不能指定其长度(数组中元素的个数),例如:int c[10];//此方法是错误的
2.声明一个数组的时候并没有数组被正真的创建。
3.构造一个数组,必须指定长度。
数组的三种初始化方式
1.默认初始化
数组是引用类型,它的元素相当于类的实例变量(元素相当于数组对象的成员变量【成员变量系统默认初始化】),因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
数字默认0,布尔默认false,char默认\u0000,引用类型默认null
2.动态初始化
数组定义与数组元素分配空间并赋值的操作分开进行。
int[] a=new int [2];
a[0]=10;
a[1]=12;
3.静态初始化
除了用new关键字产生数组外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。
int[] b={10,20,30,40}
className[] c={new className(1,2),new className(2,3)}
array数组是引用类型
数组自动初始化
数组元素相当于对象的成员变量,默认就是成员变量的初始化。