数组我们可以看成是多个相同类型数据的组合,对这些数据的统一管理。数组的变量属于引用类型,数组也可以看成是对象,数组的每一个元素都相当于该对象的成员变量。数组中的元素可以是任何数据类型,包括基本类型的引用类型,一维数组。
例如:
int[ ] a; int a[ ];
double b[ ];
Person[ ] p;
String[ ] s;
在java语言中声明数组时,不能指定其长度(int a[5];这是非法的)。java使用关键字new来创建数组对象。
例如:
public class Test {
public static void main(String [] args) {
int[] s;
s = new int[5];
for(int i=0;i<5;i++) {
s[i] = i;
}
}
}
当数组元素为引用数据类型的数组时,他们中的每个元素都需要实例化。定义并用运算符new来分配空间,才可以引用数组中的每个元素。
例如:
public class Test {
public static void main (String [] args) {
Date[] days;
days = new date[3];
for(int i = 0;i < 3;i++) {
days[i] = new Date(2004,4,i+1);
}
}
}
class date {
int year; int mouth; int day;
Date(int y,int m,int d) {
year = y;mouth = m; day = d;
}
}
关于数组的初始化我们又可以分为动态和静态初始化。在数组定义与数组元素分配空间和赋值的操作分开进行静态初始化。在定义数组同时就为数组元素分配空间并赋值的我们称为动态初始化。
例如:
public class Test {
public static void main(String[] args) {
int a[] = {3,9,8}; //这是静态初始化。
Date days [] = {
new Date(1,4,2013), new Date(2,4,2013),new Date(3,4,2013);
}
}
}
/** int a[]; //这是动态初始化。
a =new int[3];
a[0] = 3;a[1] = 9;a[2] =8;
Date days[];
days = new Date[3];
days[0] = new Date(1,4,2013);
days[0] = new Date(2,4,2013);
days[0] = new Date(3,4,2013);
*/
class Date {
int year;int mouth; int day;
Date(int y,int m,int d) {
year = y;mouth = m; day = d;
}
}