数组初始化与赋值
2009-09-17
如果有几个object,他们的类型是相同的。创建它们的时候,它们可能在堆里的各个散落位置产生,这样的话,存取效率就会不高。既然它们的类型是相同的,那么我们可以用连续的堆空间来存放它们,并且用同一个标识符封装。对,这个就是数组的来由了。由于这些对象使用同一个标识符,所以要操纵数组内的对象,需要使用方括号下标操作符[]。
创建并初始化一个数组并赋值
public class ArrayIni {
public static void main(String[] args){
int[] energy = {10, 30, 60, 100, 150};
int[] powerMood;
powerMood = energy;
for (int i = 0; i < powerMood.length; i++)
powerMood[i] = powerMood[i] * 2;
for (int i = 0; i < energy.length; i++){
System.out.println("各形态爆裂模式能量值为" + energy[i] );
}
}
}
如程序所示,在堆里创建5个int对象,然后用energy来标识这一块连续的堆空间。这5个对象分别表示,幼年期、成长期、成熟期、完全体、究极体的能量值。
然后我们又定义一个标志符,也可以理解为引用, powerMood = energy 的意思是说,将powerMood也指向那一块连续的堆空间。
接下来,我们使用循环,操纵powerMood指向的对象,使它们的值扩大两倍。然后我们看一下,energy指向的堆里的对象发生什么变化。
程序输出为:
各形态爆裂模式能量值为20
各形态爆裂模式能量值为60
各形态爆裂模式能量值为120
各形态爆裂模式能量值为200
各形态爆裂模式能量值为300
很明显,我们只是修改了powerMood引用,但是energy引用也发生了变化。
数组的元素
数组的元素可以是对象,也可以是基本数据类型。
数组有一个固有成员length,通过它可以知道数组内有多少个对象。Java数组是从第0个元素开始,所以能使用的最大数组下标为length - 1。一旦访问下标过界,就会出现异常,就是运行时错误。