1 / 33
文档名称:

第3章 数 组.ppt

格式:ppt   页数:33
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第3章 数 组.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第3章 数 组.ppt

文档介绍

文档介绍:第3章数组
一维数组
二维数组
一维数组
一维数组是最简单的数组,在Java中,数组是作为数组类的一个实例来处理的,故可以用new运算符来建立一个数组。由于数组中每一个元素都作为一个单独的对象来考虑,因而必须逐一建立,所以定义的时候,我们必须显式或隐含地指明数组中对象的数目。下面我们分声明和引用两部分来进行介绍。
一维数组的声明和初始化
数组变量在使用之前要事先声明,其数组元素的类型可分为三类,第一类是Java的基本数据类型;第二类是Java类和接口类型(引用类型);第三类是数组类型。其一般定义格式如下:
array_type array_Name[ ];
或 array_type [ ]array_Name;
上面两种定义方式完全等价。对C/C++熟悉的读者应该对第一种定义方式并不陌生。例如:
int Array1[ ];
Object [ ]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 series[ ]= new int[4];
for (int i=0;i<4;i++)
series[ i ]=i*3;
...
一维数组的引用
当有了数组的声明和初始化后,与C/C++相同,就可以在程序中引用数组的元素了。数组元素的引用是通过数组名和下标值来进行的,其一般格式如下:
array_Name [ arrayIndex ]
其中,array_Name为数组名,arrayIndex为数组元素的下标。数组的下标是一个int类型数,也可以使用与int类型进行自动类型转换的类型,如short、byte、char类型(使用时转换成int类型),但下标不能是long类型的数。如果非得用long类型的数定义数组的下标,则须强制转换。
比如:
...
short i;
byte j;
long k;
int array1 [i],array2[j]; // no error
int array3[k]; // error
int array4[ (int) k]; // it's ok
...