初始化
默认初始化
数组是引用类型,它的元素相当于类的实例变量,因此数组一经分配空间,其中的每个元素也被按照实例变量同样的方式被隐式初始化。
静态初始化
除了用new关键字来产生数组以外,还可以直接在定义数组的同时就为数组元素分配空间并赋值。
int[] a = {1,2,3};
Man[] mans ={
new Man(1,1),
new Man(2,2)
};
动态初始化
数组定义与为数组元素分配空间并赋值的操作分开进行。
数组的界限
- 下标的合法区间:[0, length-1]
int[] a = new int[2];
a[0]=1;
a[1]=2;
例子:
public class Car {
String name;
public Car(String name){
this.name= name;
}
}
public class Test {
public static void main(String[] args) {
//数组的动态初始化
int[] a;//声明
a=new int[3];//创建空的数组对象,指定不可变长度
a[0]=12;
a[1]=14;
a[2]=16;
System.out.println(a.length);//length为属性
//数组的默认初始化
//数组元素相当于对象的成员变量,默认值跟成员变量的规则一样。数字0,布尔false,char\u0000,引用:null
//数组的静态初始化
int[] c = {23,43,56,78}; //长度:4,索引范围:[0,3]
System.out.println(c);
Car[] cars = {
new Car("奔驰"),
new Car("比亚迪"),
new Car("宝马")
};
Car c2 = new Car("奔驰");
System.out.println(c2==cars[0]);
}
}