文档介绍:第4章数组与方法
一维数组
二维数组
方法
一维数组
一维数组的声明和初始化
一般定义格式如下:
array_type array_Name[ ];
或 array_type [ ]array_Name;
上面两种定义方式完全等价。例如:
int Array1[ ];
float [ ]Array2;
上面所给的例子只是简单的变量声明,并没有给数组分配内存空间。我们在使用数组前还必须对其进行初始化(即为其分配内存空间)。给数组元素分配内存并为数组元素赋初值的过程称为数组初始化。初始化可分为动态初始化和静态初始化。
当数组元素的初始化值直接由括在大括号“{ }”之间的数据给出时,就称为静态初始化。静态初始化往往和声明结合在一起使用,其格式如下:
array_type array_Name={element1[, element2…]};
其中,array_type为数组元素的类型;array_Name为数组名;element1、element2…为array_type类型的数组元素初值;方括号“[ ]”表示可选项。例如:
int factorial[ ]={ 1,2,3,4,5,6,7,8};
char [ ]ch={'a','A','b','B','c','C'};
double f[ ]={12,,};
动态初始化先用new操作符为数组分配内存,然后才为每一个元素赋初值。其一般格式如下:
array_Name = new array_type [ arraySize];
其中,array_Name是已定义的数组名;array_type为数组元素的数据类型,必须与定义时给出的数据类型保持一致;arraySize为数组的长度,它可为整型变量或常量。例如:
int a[];
a= new int[4];
也可以将上两行合并为一行,写作:
int a[]= new int[4];
一维数组的引用
当有了数组的声明和初始化后,就可以在程序中引用数组的元素了。数组元素的引用是通过数组名和下标值来进行的,其一般格式如下:
array_Name [ arrayIndex ]
其中,array_Name为数组名,arrayIndex为数组元素的下标。例如:
a[1]=100;
数组的下标是一个int类型数,也可以使用short、byte、char类型(使用时转换成int类型),但下标不能是long类型的数。如果非得用long类型的数定义数组的下标,则须强制转换。比如:
short i;
long k;
int array1 [i];
int array4[ (int) k];
在Java语言中,数组下标从0开始,到数组长度减1结束。每个数组都有一个属性length指明它的长度,例如:。
例4-1
public class Score {
public static void main (String [ ] args) {
int a[] = {1,2,3,4,5},sum=0;
for (int i=0; i<; i++) sum+=a[i];
(“sum=“+sum);
}
}
二维数组
一维数组元素类型可以为数组,即数组的嵌套,多维数组中每个元素为一个低维数组。由于多维数组中用得较多的还是二维数组,因而我们着重讨论二维数组的属性,其他高维数组可以以此类推。
二维数组的声明和初始化
二维数组声明的一般格式如下:
array_type array_Name[ ] [ ];
或 array_type [ ] [ ] array_Name;
其中,array_type为数组元素类型,可以是任意的数据类型;array_Name为数组名,可以是Java中合法的标识符。
例如: int array1[ ] [ ]; //定义一个整型二维数组
或 int [ ] [ ]array2; //同样定义一个二维整型数组
上面的定义并没有为数组元素分配内存空间,因而必须经过初始化后才能使用。
二维数组在实际的使用过程中也分为静态初始化和动态初始化两种。初始化的过程与一维数组相同,在此不多加理论说明,而只是以初始化实例来加以说明。
int number[ ] [ ]={ {1,2},{3,4,5},{6,7,8,9}};
char ch[ ] [ ]={ {'a', 'b'},{'c', 'd'},{'e',