第3章 数组.ppt
《第3章 数组.ppt》由会员分享,可在线阅读,更多相关《第3章 数组.ppt(33页珍藏版)》请在第壹文秘上搜索。
1、第3章 数组 第第3章章 数数 组组 3.1 一维数组一维数组 3.2 二维数组二维数组第3章 数组 3.1 一一 维维 数数 组组 一维数组是最简单的数组,在Java中,数组是作为数组类的一个实例来处理的,故可以用new运算符来建立一个数组。由于数组中每一个元素都作为一个单独的对象来考虑,因而必须逐一建立,所以定义的时候,我们必须显式或隐含地指明数组中对象的数目。下面我们分声明和引用两部分来进行介绍。第3章 数组 3.1.1 一维数组的声明和初始化 数组变量在使用之前要事先声明,其数组元素的类型可分为三类,第一类是Java的基本数据类型;第二类是Java类和接口类型(引用类型);第三类是数组
2、类型。其一般定义格式如下:array_type array_Name;或 array_type array_Name;第3章 数组 上面两种定义方式完全等价。对C/C+熟悉的读者应该对第一种定义方式并不陌生。例如:int Array1;Object Array2;上面所给的例子只是简单的变量声明,并没有给数组分配内存空间。我们在使用数组前还必须对其进行初始化(即为其分配内存空间)。给数组元素分配内存并为数组元素赋初值的过程称为数组初始化。初始化可分为动态初始化和静态初始化。第3章 数组 1静态初始化 当数组元素的初始化值直接由括在大括号“”之间的数据给出时,就称为静态初始化。该方法适用于数组的
3、元素不多且初始元素有限时。静态初始化往往和声明结合在一起使用,其格式如下:array_type array_Name=element1,element2;第3章 数组 其中,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,45.12,88.123;第3章 数组 2动态初始化 与静态初始化不同,动态初始化先用new操作符为数组分配内存,然后才为每一个元
4、素赋初值。其一般格式如下:array_Name=new array_type arraySize;其中,array_Name是已定义的数组名;array_type为数组元素的数据类型,必须与定义时给出的数据类型保持一致;arraySize为数组的长度,它可为整型变量或常量。例如:第3章 数组.int series=new int4;for(int i=0;i4;i+)series i=i*3;.第3章 数组 3.1.2 一维数组的引用 当有了数组的声明和初始化后,与C/C+相同,就可以在程序中引用数组的元素了。数组元素的引用是通过数组名和下标值来进行的,其一般格式如下:array_Name a
5、rrayIndex 其中,array_Name为数组名,arrayIndex为数组元素的下标。数组的下标是一个int类型数,也可以使用与int类型进行自动类型转换的类型,如short、byte、char类型(使用时转换成int类型),但下标不能是long类型的数。如果非得用long类型的数定义数组的下标,则须强制转换。第3章 数组 比如:.short i;byte j;long k;int array1 i,array2j;/no errorint array3k;/error int array4(int)k;/its ok .第3章 数组 在Java语言中,数组下标从0开始,到数组长度减1
6、结束。任何数组都有公有变量length。我们除了可以在使用时显式指出数组长度之外,也可以使用length这一数组属性。它是只读变量,只可检测,不可赋值,因为数组一旦分配内存后,其长度就不再变化。为了安全考虑,数组的存取在程序运行时实时检查,企图使用小于零或大于数组长度的下标都会引起越界异常(ArrayIndexOutofBoundException)(异常处理我们将在后面的章节中给出)。第3章 数组 例如:.int array1=new int 10;array1-1=100;/error,out of bound.array1 10=200;/error,out of bound.下面我们给
7、出一个完整的例子,作为本节的总结。第3章 数组 例3.1 public class TimeSheetDemo public static void main(String args)int days=DialogBox.requestInt(number of days worked);int hours;hours=new int days;for(int i=0;idays;i+)hoursi=DialogBox.requestInt(hours on day+(i+1);第3章 数组 int salary=new int days;for(int i=0;idays;i+)if(hou
8、rsi=8)salaryi=15*hoursi;elsesalaryi=8*15+(hoursi-8)*20;Transcript.println(DaytHourstSalary);for(int i=0;idays;i+)第3章 数组 Transcript.println(i+1)+t+hoursi+t$+salaryi);int totalHours=0;int totalSalary=0;for(int i=0;idays;i+)totalHours=totalHours+hoursi;totalSalary=totalSalary+salaryi;Transcript.println
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第3章 数组