数组用于存储同种类型的数据,在Java
中数组是一个类型,包括两个方面的信息,数组对象和元素。
(1
)数组的定义
数组定义可以使用两种格式:
n
类型[]
数组名
n
类型
数组名[]
类型是数组中元素的类型,可以是基本数据类型,可以是用户定义的类型,两种格式没有太大的区别。
下面的代码定义一个日期类型的数组:
n Date[] d1;
n Date d2[];
下面的代码定义一个整型数组:
n int[] i1;
n int []i2;
【注意】与C++
不同,Java
语言在定义数组的时候不需要确定数组元素的个数。
(2
)数组对象的实例化
数组的初始化包括两个过程:
n
数组对象的实例化
n
数组元素的实例化
数组对象的初始化主要确定数组中元素的个数,如果元素类型不是基本数据类型,元素的值都是null
,如果是基本数据类型,系统会给出默认值。
数组对象的初始化格式如下:
对象名 = new
类型[
元素个数]
下面的代码是对上面定义的几个数组对象的初始化:
//d1数组有5个元素
d1 = new Date[5];
//d2数组有4个元素
d2 = new Date[4];
//i1数组有5个元素
i1 = new int[5];
//i2数组有6个元素
i2 = new int[6];
实例化之后,如果数组元素类型是对象,默认值都是null
。
基本数据类型元素的默认值如表8-1
所示。
表8-1
基本数据类型的默认值
元素类型
|
默认值
|
char
|
0
(存储值,不是字符“0
”
)
|
byte
|
0
|
short
|
0
|
int
|
0
|
long
|
0
|
float
|
0.0
|
double
|
0.0
|
boolean
|
false
|
数组实例化也可以在定义数组的时候直接完成。
下面的代码定义有3
个元素的整型数组:
int i2[] = new int[3];
(3
)数组元素的访问
数组对象实例化之后,对象的值为null
,或者默认值,如果是对象,需要进行元素的实例化。
要对元素进行实例化,需要对每个元素进行操作。访问数据元素的方法如下:
数组名[
索引]
索引值从0
开始,到数组元素个数减1
,如果数组元素是5
个,索引值从0
到4
。如果索引大于等于数组元素个数,会产生运行时错误:
java.lang.ArrayIndexOutOfBoundsException
下面的方式用于访问上面定义的数组d1
的元素:
d1[0],d1[1],d[2],d[3],d[4]
(4
)数组元素的实例化(赋值)
要对元素进行初始化使用new
关键字(元素类型为基本数据类型的时候不需要使用new
关键字)。
下面的代码对d1
数组的元素进行实例化:
for(int i=0 ;i<d1.length ; i++)
{
d1[i] = new Date();
}
对每个元素都使用new Date()
进行实例化,但它们是不同的对象。
赋值过程也可以在定义数组的时候进行。
下面的代码在定义数组的时候为对象赋值
int[] i2 = {2,3,4,5};
Date d2[] = {new Date(),new Date(),new Date()};
(5
)修改数据元素的值
数组实例化之后,随时可以对数组元素进行修改。
如果数组元素的类型是基本数据类型,直接通过索引访问修改即可。
下面的代码分别为i1
数组的5
个元素赋值1
到5
:
for(int i=0 ;i<i1.length ; i++)
{
i1[i] = i+1;
}
如果数组元素的类型是对象,先获取这个对象,然后进行操作。
下面的代码修改d1
数组中元素的信息:
for(int i=0 ;i<d1.length ; i++)
{
d1[i].setDate(i+1);
}
上一讲:
第十三讲基本语法练习(看看你会不会出错)
下一讲:
第十五讲 方法使用