第6章数组和集合类幻灯片课件

上传人:youn****329 文档编号:136945007 上传时间:2020-07-04 格式:PPT 页数:65 大小:474KB
返回 下载 相关 举报
第6章数组和集合类幻灯片课件_第1页
第1页 / 共65页
第6章数组和集合类幻灯片课件_第2页
第2页 / 共65页
第6章数组和集合类幻灯片课件_第3页
第3页 / 共65页
第6章数组和集合类幻灯片课件_第4页
第4页 / 共65页
第6章数组和集合类幻灯片课件_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《第6章数组和集合类幻灯片课件》由会员分享,可在线阅读,更多相关《第6章数组和集合类幻灯片课件(65页珍藏版)》请在金锄头文库上搜索。

1、第6章数组和集合类,雷擎对外经济贸易大学信息学院,content,6.1数组6.2集合框架6.3枚举类型实验:数组,6.1数组,6.1.1数组的声明6.1.2数组的创建6.1.3数组元素的初始化6.1.4数组的引用6.1.5二维数组6.1.6数组的排序,数组的概念,数组由同一类型的一连串对象或基本数据组成,封装在同一个标识符(数组名称)下。数组是对象动态初始化可以赋值给Object类型的变量在数组中可以调用类Object的所有方法,6.1.1数组的声明,声明(Declaration)TypearrayName;或者TypearrayName;声明数组时无需指明数组元素的个数,也不为数组元素分配

2、内存空间不能直接使用,必须经过初始化分配内存后才能使用,数组声明的例子,例如:intmyIntArray;StringmyStringArray;CirclemyCircleArray;,6.1.2数组的创建,arrayName=newTypecomponetsnumber;用关键字new构成数组的创建表达式,可以指定数组的类型和数组元素的个数。元素个数可以是常量也可以是变量基本类型数组的每个元素都是一个基本类型的变量;引用类型数组的每个元素都是对象的的引用,数组创建的例子,例如:intai;aI=newint10;StringaS;aS=newString3;CircleaC;aC=newC

3、ircle5或者可以将数组的声明和创建一并执行intai=newint10;可以在一条声明语句中创建多个数组Strings1=newString3,s2=newString8;,6.1.3数组元素的初始化,数组元素的类型与声明的数组数据类型保持一致,每一个数组元素都相当于一个变量,进行需要对象初始化。基本类型的数组,可以在声明数组名时,给出了数组的初始值。程序便会利用数组初始值创建数组并对它的各个元素进行初始化。例如:inta=22,33,44,55;,6.1.3数组元素的初始化,创建数组的时,如果没有指定初始值,数组便被赋予默认值初始值。基本类型数值数据,默认的初始值为0;boolean类型

4、数据,默认值为false;引用类型元素的默认值为null。程序也可以在数组被构造之后改变数组元素值,数组元素初始化的例子,intaI;aI=newint10;StringaS;aS=newString3;CircleaC;aC=newCircle5;intk=0;for(k=0;k10;k+)aIk=k*k;aS0=aaa;aS1=newString(bbb);aS3=newString(ccc);for(k=0;k5;k+)aCk=newCircle();,6.1.4数组的引用,arrayNameindex数组下标限制下标从零开始计数,最大值为length1,如果超过最大值,将会产生数组越界

5、异常(ArrayIndexOutOfBoundsException)必须是int,short,byte,或者char.元素的个数即为数组的长度,可以通过arrayName.length引用,publicclassMyArraypublicstaticvoidmain(Stringargs)intmyArray;/声明数组myArray=newint10;/创建数组System.out.println(IndexttValue);for(inti=0;imyArray.length;i+)System.out.println(i+tt+myArrayi);/证明数组元素默认初始化为0/myArr

6、ay10=100;/将产生数组越界异常,数组引用例子,数组变量名是一个引用,publicclassAApublicstaticvoidmain(Stringargs)inta1=1,2,3,4,5;inta2;a2=a1;for(inti=0;ia2.length;i+)a2i+;for(inti=0;ia1.length;i+)System.out.println(a1+i+=+a1i);,运行结果:a10=2a11=3a12=4a13=5a14=6,6.1.5二维数组,二维数组的声明TypearrayName;或者TypearrayName;二维数组的创建arrayName=newType

7、length1length2,二维数组例子,inta1;myArray可以存储一个指向2维整数数组的引用。其初始值为null。inta2=newint35;建立一个数组对象,把引用存储到myArray。这个数组所有元素的初始值为零。inta3=8,1,2,2,9,1,9,4,3,7;建立一个数组并为每一个元素赋值。,二维数组的长度,publicclassAApublicstaticvoidmain(Stringargs)inta3=1,2,3,3,4,5,6,7,8;System.out.println(a3.length);System.out.println(a30.length);Sys

8、tem.out.println(a31.length);System.out.println(a32.length);,运行结果3324,二维数组的实现过程,intmyArray;myArray=newint3;myArray0=newint3;,intx=0,2;inty=0,1,2,3,4;myArray1=x;myArray2=y;,6.1.6数组的排序,在java的API里面实现了数组排序功能。在java.util.Arrays类有静态方法sort就是实现这个功能。,publicclassTest6_5publicstaticvoidmain(Stringargs)Studentss=

9、newStudentnewStudent(1,iven),newStudent(2,tom),newStudent(3,rose),newStudent(3,jone);Arrays.sort(ss);for(inti=0;iss.length;i+)System.out.println(ssi);,类和数组的应用举例,String,字符串的表示和生成方法,String类的构造方法依据字符数组生成字符串常量对象String(charvalue);String(charvalue,intstartIndex,intnumChars);依据字符内码数组生成字符串常量对象String(bytebyt

10、es);String(bytebytes,intoffset,intlength);String(byteascii,inthiByte);String(byteascii,inthiByte,intoffset,intcount);,字符串的表示和生成方法,StringBuffer类的构造方法StringBuffer();默认构造方法,其初始容量为16StringBuffer(intlength);指定初始容量的构造方法,其初始容量由参数length指定StringBuffer(Stringstr);通过一个字符串常量来指定生成的字符串变量的初始内容,CreatingStrings,void

11、create()Strings=“Amigo;Stringt=newString(“Myfriend);,Othermethods,CreatingStringBuffers,Mustusenewcancreateemptycanspecifyinitialcapacitycanspecifyinitialcharactercontentvoidcreate()StringBuffersE=newStringBuffer();/emptyStringBuffersC=newStringBuffer(32);/32charsStringBuffersInit=newStringBuffer(“l

12、ove);,字符串的访问,字符串访问的主要内容字符串的长度、是否存在某个子串、某个指定位置的字符String对象的访问方法intlength();获取字符串所包含的字符数charcharAt(intindex);获取字符串指定位置的字符voidgetChars(intsrcBegin,intend,charbuf,intdstBegin);获取字符串指定位置区间内的字符,字符串的访问,String对象的访问方法(续)检索特定子串(indexOf,lastIndexOf)intindexOf(Stringstr);返回子串str在该字符串中首次出现位置,若未找到则返回-1intindexOf(S

13、tringstr,intfromIndex);返回子串str在该字符串中索引fromIndex之后首次出现位置intlastIndexOf(Stringstr);返回子串str在该字符串中最后一次出现位置intlastIndexOf(Stringstr,intlastIndex);返回子串str在该字符串中索引lastIndex之前最后一次出现位置,字符串的访问,StringBuffer对象的访问方法包含大部分String对象的访问方法,如length()、charAt()、getChars等另提供方法intcapacity(),获得StringBuffer对象当前容量,字符串的修改,Stri

14、ng对象的修改(实际上产生一个具有新的字符串内容的String对象副本)Stringconcat(Stringstr);将该字符串与str字符串相加,产生一个新的String字符串对象Stringreplace(charoldChar,charnewChar);产生一个新的String字符串对象,将该字符串中所有oldChar字符替换为newCharStringsubString(intbeginIndex);获得该字符串中从beginIndex开始到字符串结束的子串StringsubString(intbeginIndex,intendIndex);获得该字符串中从beginIndex开始到

15、endIndex结束的子串,字符串的修改,String对象的修改(续)字符串中字符大小写转换StringtoLowerCase();生成一个新的String字符串对象,将原字符串中所有字符转为小写StringtoUpperCase();将原字符串中所有字符转为大写,字符串的修改,StringBuffer字符串对象的修改append(Stringstr);在原字符串末尾添加一个字符串strStringBufferinsert(intoffset,Stringstr);在原字符串指定的偏移量offset之后加入一个字符串str(其返回的字符串对象与原字符串对象为同一对象)voidsetCharAt

16、(intindex,charch);修改指定索引位置上的字符为ch,字符串的修改,两类字符串对象修改的区别String字符串对象为常量字符串,其本身不能被修改,因此所谓修改是创建了一个具有修改后内容的String字符串对象副本StringBuffer字符串对象为可修改字符串,所有修改均在其本身对象上完成,不创建新的字符串对象,字符串的比较、转化和链接,字符串的比较(String对象)区分大小写比较,booleanequals(Stringstr);不区分大小写比较,booleanequalsIgnoreCase(Stringstr);compareTo(Objecto)compareTo(StringanotherString)compareToIgnoreCase(Stringstr),字符串的比较、转化和链接,字符串的转化数值转化为字符串,各包装基本数据类型的类提供了相应的toString()方法字符串转化为数值,String提供了valueOf(Stringstr)的静态方法,字符串的比较、转化和连接,字符串的连接“+”运算符的重载,可实现

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号