一:数组的创建和使用
1:数组的定义
(1)声明数组:声明数组名和元素的数据类型。
(2)创建数组:为数组元素分配存储空间。
(3)数组的初始化:为数组元素赋值。
1.1、数组的声明
使用数组前要对数组进行声明,声明数组就是告诉编译器数组名和数组元素类型。
eg: double [ ] number; =double number [ ] //定义了一个数组的数组名为number是双精度数据类型
注意:数组声明的时候不可以指明数组元素的个数,这与C/C++不同。
1.2创建数组//数组的初始化
数组的声明只是声明了一个数组对象,创建数组是为数组的每一个元素分配存储空间并通过数组名来引用。
空间大小为数组中的元素个数。
number = new double [5] //数组number包含五个double型元素
注意:java数组的大小可以在运行是指定,这一点与C/C++不同
当然,数组的声明与创建也可以写在一个语句中,这也叫数组的初始化。
(1)动态初始化
数据类型 数组名 [ ] = new 数据类型 [数组长度] eg:int number [ ] = new int [6] //声明了一个整型number的数组并进行初始化该数组内有6个元素
(2)静态初始化
数据类型 数据名[ ] = new 数据类型 {(数组中的元素)} eg:int number [ ] = new int {1,2,3,4,5,6}; //声明了一个整型的number的数组并进行初始化该数组内的元素有1 2 3 ……
1.3数组元素的访问
声明了一个数组,并使用new运算符分配内存空间就可以使用数组中的每一个元素。
注意:下标是从0开始,到数组的长度减一。
eg:我们定义一个数组 int number [3]定义的number数组含有三个元素分别是:number[0]、number[1]、number[2]。
数组2一旦创建大小将不可改变。数组作为对象提供了一个length成员变量,它表示数组元素的个数,访问该成员变量的方法为arrayName.length。
length成员的使用:
程序运行结果为:60.0
5
70.0 80.0 60.0 90.0 50.0
二:增强的for循环
eg:double sum=0;
for(double score :markes){
sum=sum+score;
}
System.out.println("总成绩=” +sum); //计算一个数组中所有元素之和
三:数组元素的复制
法一:int[ ] source = {10,30,20,40}; //源数组
int [ ] target = new int [source.length]; //目标数组
for (int i = 0; i<source.length; i++) //获得源数组中的元素
法二:public static void arraycopy (Object src, int srcPos,
Object dest, int destPos, int lenqth) //src 源数组 srcPos 源数组起始下标 dest 目的数组 destPos 目的数组起始下标 length 复制的数组元素个数
eg: int [ ] source = {10,30,20,40};
int [ ] target = new int[source.length];
System.arraycopy(source,0,target,0,4);
注意:使用arraycopy( )方法可以将源数组的一部分复制到目标数组中。但是,如果目标数组不足以容纳源数组元素,会抛出异常。
四:二维数组
1.:二维数组的声明
2.:二维数组的创建
4.:数组元素的使用
与访问一维数组一样,访问二维数组元素时,下标也不能超出范围,否则抛出异常。可以用matrix.length得到数组matrix的大小,结果为2;用matrix[0].length得到matrix[0]数组的大小,结果为3.
五:数组的应用:遍历、查找、排序、统计