欢迎来到天天文库
浏览记录
ID:59237363
大小:203.50 KB
页数:52页
时间:2020-09-26
《第五章.Java数组ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章数组数组是一种最简单的引用数据类型。数组是一组同类型有序数据的集合,数组中的一个数据成员称为数组元素,数组元素可以用一个统一的数组名和下标(序号)来唯一确定。根据数组下标是一个还是多个,数组分为一维数组和多维数组。4.1一维数组一维数组中的各个元素排成一行,通过数组名和一个下标就能访问一维数组中的元素。4.1.1一维数组的定义数组的定义包括数组声明和为数组分配空间、初始化(创建数组)等内容,必要时,还要为数组元素分配空间或初始化。1.一维数组的声明声明一个一维数组的一般形式为:类型数组名[];或类型[]数组名;其中,类型可以是Java中任意的基本数据类型或引用类
2、型,数组名是一个合法的标识符,[]指明该变量是一个数组变量。例如:intia[];(或int[]ia;)doubleda[];(或double[]da;)Stringsa[];(或String[]sa;)Buttonbtn[];(或Button[]btn;)与其他高级语言不同,Java在数组声明时并不为数组分配存储空间,因此,在声明的[]中不能指出数组中元素的个数(数组长度),而且对于如上声明的数组是不能访问它的任何元素的,必须经过初始化、分配存储空间创建数组后,才能访问数组的元素。当仅有数组声明,而未分配存储空间时,数组变量中只是一个值为null的空引用(指针)。2
3、.一维数组的空间分配为数组分配空间有两种方法:数组初始化和使用new运算符。为数组分配空间后,数组变量中存储为数组存储空间的引用地址。(1)数组初始化数组初始化是指在声明数组的同时指定数组元素的初始值。一维数组初始化的形式如下:类型数组名[]={元素1[,元素2…]}其中元素为指定类型的初始值。基本类型和字符串类型等可以用这种方式创建数组空间。例如:intia[]={1,2,3,4,5};doubleda[]={1.1,2.2,3.3};Stringsa[]={"Java","BASIC","FORTRAN"};从上述例子可以看到,一维数组的初始化即在前面数组声明的基
4、础上在大括号中给出数组元素的初值,系统将自动按照所给初值的个数计算出数组的长度并分配相应的存储空间。(2)使用new运算符通过使用new运算符可为数组分配存储空间和指定初值。若数组已经声明,为已声明数组分配空间的一般形式如下:数组名=new类型[数组大小];其中,数组名是已声明的数组变量,类型是数组元素的类型,数组大小是数组的长度,可以为整型常量或变量。通过数组运算符new为数组分配指定数组大小的给定个数的空间并。若数组未声明,则可在数组声明的同时用new运算符为数组分配空间:类型数组名[]=new类型[数组大小];3.引用类型数组元素的动态空间分配和初始化一般情况下
5、,引用类型的数组需要进一步对数组元素用new运算符分配空间分配并初始化操作。设已声明一个引用类型的数组:类型数组名[];对数组的动态空间分配步骤如下:(1)为数组分配每个元素的引用空间:数组名=new类型[数组大小];(2)为每个数组元素分配空间:数组名[0]=new类型(参数表);…数组名[数组大小-1]=new类型(参数表);其中参数表用于数组元素初值的指定。例如,下面是一个图形界面应用程序中所用按钮数组的定义:Buttonbtn[];btn=newButton[2];btn[0]=newButton("确定");btn[1]=newButton("退出");当然
6、,在比较简单的情况下,上述操作可简化为:Buttonbtn[]={newButton("确定"),newButton("退出")};4.1.2一维数组的引用一维数组的引用分为数组元素的引用和数组的引用,大部分时候都是数组元素的引用。一维数组元素的引用方式为:数组名[下标]其中:下标是int类型的,也可以是byte、short、char等类型,但不允许为long类型。下标的取值从0开始,直到数组的长度减1。一维数组元素的引用与同类型的变量相同,每一个数组元素都可以用在同类变量被使用的地方。对前面建立的数组ia,有5个数组元素,通过使用不同的下标来引用不同的数组元素ia[
7、0]、ia[1]、...、ia[4]。Java对数组元素要进行越界检查以保证安全性。若数组元素下标小于0、大于或等于数组长度将产生下面的异常:ArrayIndexOutOfBoundsExceptionJava语言对于每个数组都有一个指明数组长度的属性length,它与数组的类型无关。例如ia.length等。对一维数组元素的逐个处理,一般用循环结构的程序。【例4.1】设数组a中存有10个学生某门课程的成绩,输出这10个学生的成绩与平均成绩的差(低于平均成绩用负数表示)。publicclassScore{publicstaticvoidmain(St
此文档下载收益归作者所有