示例代码:
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放到引用类型的数组对应的位置