示例代码:
public class TestArray {
public static void main(String[] args) {
/*测试整数型一维数组*/
int[] s;//声明s是一个整数数组类型
s = new int[10];//将s实例化,也就是分配内存空间,真正创建了这个对象
//int[] s = new int[10];也可以将上面的两行合并成这一行,含义相同
for (int i=0; i<10; i++){
s[i] = 2*i+1;
System.out.println(s[i]);
}
/*测试引用类型一维数组*/
Man[] mans;
mans = new Man[10];
Man m1 = new Man(1,11);//创建一个Man类型的对象m1,并按Man构造器的要求赋值
Man m2 = new Man(2,22);//创建一个Man类型的对象m1,并按Man构造器的要求赋值
mans[0] = m1;//把m1放到引用类型的数组对应的位置
mans[1] = m2;//把m2放到引用类型的数组对应的位置
System.out.println(mans[0].getId());
System.out.println(mans[1].getAge());
}
}
class Man{
private int age;
private int id;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public Man(int id, int age){ //构造器
super();
this.age=age;
this.id=id;
}
}
数组的初始化有三种方式
第一种是默认的初始化。
数组是对象,它的元素相当于对象的属性。因此每个元素也就在对象被创建时,按照属性的方式被默认初始化了
比如下面:
int[] s;//声明s是一个整数数组类型 s = new int[10];//将s实例化,也就是分配内存空间,真正创建了这个对象 //int[] s = new int[10];也可以将上面的两行合并成这一行,含义相同
s这个对象的10个元素(属性),也就按照整数的默认初始化的方式,都被设为0了。
同理的还有:
这就是默认初始化。
默认初始化,其实就是对象被创建了,但我还没有给它主动赋值时的状态。
第二种是静态初始化。
静态初始化,就是我在创建数组时,同时直接指定好了数值里各元素的值。
例如:
第三种是动态初始化。
动态初始化就是在运行时,再去指定数组里的值。
比如上面示例代码中的这些行:
for (int i=0; i<10; i++){ s[i] = 2*i+1; System.out.println(s[i]);
Man m1 = new Man(1,11);//创建一个Man类型的对象m1,并按Man构造器的要求赋值 Man m2 = new Man(2,22);//创建一个Man类型的对象m1,并按Man构造器的要求赋值 mans[0] = m1;//把m1放到引用类型的数组对应的位置 mans[1] = m2;//把m2放到引用类型的数组对应的位置