上一节我们提到创建数组需要经过声明数组和为数组分配元素两个步骤,这一节我们主要学习如何为数组分配元素。
声明数组仅仅是给出了数组变量的名字和元素的数据类型,要想真正地使用数组还必须创建数组,即为数组分配元素。
为数组分配元素的格式如下:
数组名=new数组元素的类型[数组元素的个数];
例如:
boy=newfloat[4];
为数组分配元素后,数组boy获得4个用来存放float类型数据的变量,即4个float型元素。数组变量boy中存放着这些元素的首地址,该地址称做数组的引用,这样数组就可以通过索引使用分配给它的变量,即操作它的元素。
数组属于引用型变量,数组变量中存放着数组的首元素的地址,通过数组变量的名字加索引使用数组的元素,比如:
boy[0]=12;boy[1]=23.908F;boy[2]=100;boy[3]=10.23f;
声明数组和创建数组可以一起完成,例如:
floatboy[]=newfloat[4];
二维数组和一维数组一样,在声明之后必须用new运算符为数组分配元素。例如:
intmytwo[][];mytwo=newint[3][4];
或
intmytwo[][]=newint[3][4];
Java采用“数组的数组”声明多维数组,一个二维数组是由若干个一维数组构成的。例如,上述创建的二维数组mytwo就是由3个长度为4的一维数组mytwo[0]、mytwo[1]和mytwo[2]构成的。
构成二维数组的一维数组不必有相同的长度,在创建二维数组时可以分别指定构成该二维数组的一维数组的长度,例如:
inta[][]=newint[3][];
创建了一个二维数组a,a由3个一维数组a[0]、a[1]和a[2]构成,但它们的长度还没有确定,即还没有为这些一维数组分配元素,因此必须要创建a的3个一维数组,例如:
a[0]=newint[6];a[1]=newint[12];a[2]=newint[8];
注意:和C语言不同的是,Java允许使用int型变量的值指定数组的元素的个数,例如:
intsize=30;doublenumber[]=newdouble[size];