java程序设计教学课件作者黄日胜单元5利用数组与类库构建程序

上传人:E**** 文档编号:102545086 上传时间:2019-10-03 格式:PPT 页数:35 大小:183.50KB
返回 下载 相关 举报
java程序设计教学课件作者黄日胜单元5利用数组与类库构建程序_第1页
第1页 / 共35页
java程序设计教学课件作者黄日胜单元5利用数组与类库构建程序_第2页
第2页 / 共35页
java程序设计教学课件作者黄日胜单元5利用数组与类库构建程序_第3页
第3页 / 共35页
java程序设计教学课件作者黄日胜单元5利用数组与类库构建程序_第4页
第4页 / 共35页
java程序设计教学课件作者黄日胜单元5利用数组与类库构建程序_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《java程序设计教学课件作者黄日胜单元5利用数组与类库构建程序》由会员分享,可在线阅读,更多相关《java程序设计教学课件作者黄日胜单元5利用数组与类库构建程序(35页珍藏版)》请在金锄头文库上搜索。

1、单元5 利用数组与类库构建程序,Java语言课程组,工作任务,(1)用数组来存取菜谱 (2)利用Vector暂存点菜数据 (3)利用LinkedList暂存蛇体数据 (4)获取并过滤打印点菜单输出文件 (5)输出点菜单信息到文件中,5.1 阶段任务实施,引导任务5-1 定义菜品类 任务目标:用数组来存取菜谱。 实现过程: 在NetBeans中打开项目repast,然后在该项目中新建一个包ch05.array,再在ch05.array包中新建一个类ArrayVeg,并为该类添加如P88页代码,最后保存、编译及运行程序,运行 。,5.2 知识解析,1、一维数组 数组是有序数据的集合,数组中的每个元

2、素具有相同的数组名,根据数组名和下标来确定数组中的元素。数组有一维数组与多维数组,使用时要先声明后创建。 一维数组的声明格式有两种: (1)数据类型 数组名 (2)数据类型 数组名,5.2 知识解析,用运算符new分配内存再赋值,其格式为: 数组名=new 数据类型size 注:其中size指明数组的长度。数组下标取值为0size-1。 直接赋初值并定义数组大小,如引导任务5-1中的vegflag数组。,5.2 知识解析,2、二维数组 二维数组的定义的格式与一维数组类似,如引导任务5-1中的veginfo数组。再例如: int arr1 =new int34; int arr2 =new in

3、t3 ; int arr3 =0,1,2,3,4,5,6,7,8;,5.3 训练任务,任务内容 (1)编写贪吃蛇游戏中存放石头墙体生成方法。若矩形场地周边为石头。 (2)编写用数组保存某个学生的三门课程的成绩的程序。,5.4 阶段任务实施,引导任务5-2利用Vector暂存点菜数据 任务目标:能使用Vector类。 实现过程: 1、在NetBeans中打开项目repast,然后在该项目中新建一个包ch05.set,再在该包中新建一个类testVector,然后输入相关程序。 2、点击运行该程序 。,5.5 阶段任务实施,引导任务5-3利用LinkedList暂存蛇体数据 任务目标:能使用Lin

4、kedList类 。 实现过程: 1、在ch05.set包中新建一个类testLinklist,然后输入相关程序 。 2、点击运行该程序 。,5.6 知识解析,1、 集合概述 java.util中共有多个接口/类用于管理集合对象,它们支持集、列表或映射等集合。这些集合接口/类的继承关系由两颗接口树构成。,5.6 知识解析,集合类结构,5.6 知识解析,2、 Collection接口 Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素(Elements)。Java SDK不提供直接继承自Collection的类,其提供的类都是继承自

5、Collection的“子接口”,如List和Set。并且所有的接口都是泛型接口,声明形式如下: public interface Collection.,5.6 知识解析,使用 for-each 循环遍历集合 。 for-each 循环能以一种非常简洁的方式对集合中的元素进行遍历 使用迭代器Iterators遍历集合 迭代器(Iterator)可以用来遍历集合并对集合中的元素进行删操作。 可以通过集合的iterator 函数获取该集合的迭代器。 Collection和数组间的转换 数组转化为集合: List c = new ArrayList(); 集合转化为数组: Object a = c

6、.toArray();,5.6 知识解析,List接口 List是有序的Collection,使用此接口能够精确的控制每个元素插入的位置。用户能够使用索引来访问List中的元素,这类似于Java的数组。在List中允许有相同的元素。 Set接口 Set是最简单的一种集合,它的对象不按特定方式排序,只是简单的把对象加入集合中,是一种不包含重复的元素的Collection,即任意的两个元素e1和e2都有e1.equals(e2)=false,Set最多有一个null元素。,5.6 知识解析,3、 Map接口 Map 是一种包含键值对的元素的集合,但其并没有继承Collection接口。Map不能包

7、含重复的键,即一个Map中不能包含相同的key,每个key只能映射一个value。Map提供了key到value的映射,从而可通过键实现对值的快速访问。Java平台中包含了三种通用的Map实现:HashMap, TreeMap和LinkedHashMap,5.7 训练任务,任务内容 编写numberSelector方法,在连连看中用于选择图片编号。主要功能是能在min-max之间(包括min和max)随机选择count个数字序列 。 编写方法,在连连看中用于对当前选中的图片进行随机排列。,5.8阶段任务实施,引导任务5-4获取并过滤打印点菜单输出文件 任务目标:能灵活使用String类 。 实

8、现过程: 1、新建ch05.String包,在该包中新建一个类testString,然后输入相关程序。 2、点击运行该程序 。,5.9 知识解析,1、字符串 Java提供了两种字符串类,即 String类和 StringBuffer类。它们都提供了相应的方法实现字符串地操作。 String类用于处理不可变字符串,即String类的对象内容和长度是固定的。 StringBuffer类用于处理可变字符串,且该类具有缓冲功能。,5.9 知识解析,2、String类 构建String类的对象方式有以下四种。 (1)直接使用“引号创建; (2)使用new String()创建; (3)使用new Str

9、ing(“someString“)创建以及其他的一些重载构造函数创建; (4)使用重载的字符串连接操作符+创建。,5.9 知识解析,获取子串 substring()用于实现获得字符串中部分字符串 。 连接字符串 concat()方法用于实现两个或多个字符串连接为一个字符串,同时生成一个新串。 更改字符串中的部分字符 replace()方法用于替换字串符中的字符或字符序列。 replaceAll(String,String) 方法把字符串中与第一个参数字符串相同的字符串统一替换为第二个参数字符串。 replaceFirst(String,String)方法把字符串中与第一个参数字符串相同的第一个

10、字符子串替换为第二个参数字符串。,5.9 知识解析,去掉空格 trim() 方法用于去掉起始和结尾的空格。 获取字符串长度 length()方法用于取得字符串的长度。 获取指定位置的字符 charAt(int index)可以直接获取字符串中一个特定位置的字符,前提是要先知道字符串的长度值,在长度范围内获得一个指定的字符。 更改大小写 toUpperCase()方法,该方法把小写字符串转换成大写字符串。 toLowerCase()方法,该方法把大写字符串转换成小写字符串。 比较字符串 equals()方法实现比较两个字符串内容是否相同,如果相同则返回 true,如果不同则返回 false。,5

11、.9 知识解析,转换为字符串 String 类提供静态方法valueOf(),它可以将任何类型的数据对象转换为一个字符串 。 截取多个字符 getChars()用以得到字符串的一部分字符串 。 获取字节数组 getBytes()方法是将字符存储在字节数组中 。 获取指定字符或子字符串的位置 indexOf()和lastIndexOf()方法分别用于确定字符串中指定字符或子字符串在给定字符串的第一次或最后一次位置 。 比较字符串大小 compareTo()方法用于判断一个字符串是大于、等于还是小于另一个字符串 。,5.9 知识解析,获取指定字符或子字符串的位置 indexOf()和lastInd

12、exOf()方法分别用于确定字符串中指定字符或子字符串在给定字符串的第一次或最后一次位置 。 分割字符串 分割字符串指按照指定的划界表达式把字符串分割成几部分,每部分是一个字符串,方法返回值是字符串数组。,5.9 知识解析,3、StringBuffer 常用于构造StringBuffer类的对象的方法为以下三种: (1)StringBuffer() :构造一个没有任何字符的StringBuffer类 ; (2)StringBuffer(int length) : :构造一个没有任何字符的StringBuffer类,并且,其长度为length ; (3)StringBuffer(String s

13、tr) :以str为初始值构造一个StringBuffer类 。,5.9 知识解析,length()和capacity(),一个StringBuffer当前长度可通过length()方法得到,而整个可分配空间通过capacity()方法得到 。 setCharAt()设置索引号index的字符为ch 。 setLength()重新设置字符串缓冲区中字符串的长度,如果newLength小于当前的字符串长度,将截去多余的字符 。 append() 可把任何类型数据的字符串表示连接到调用的StringBuffer对象的末尾。,5.9 知识解析,insert() 插入字符串 。 reverse() 颠

14、倒StringBuffer对象中的字符 。 delete()删除当前StringBuffer对象中以索引号start开始,到end结束的子串,而deleteCharAt()删除当前StringBuffer对象中索引号为index的字符。,5.10 训练任务,任务内容 编写方法,用于分解所读取连连看的游戏记录 。 运行P104程序段,看看是否有语法错误,若有则改正。并观察程序最后输出结果,5.11阶段任务实施,引导任务5-5输出点菜单信息到文件中 任务目标:学会文件操作类、IO类 。 实现过程: 新建ch05.file包,在该包中新建一个类testFileIO,然后输入相关程序 。,5.11 知

15、识解析,1、文件操作 输入与输出(IO)流简介 流、程序、外设关系图,5.11 知识解析,2、异常处理 异常分类 -检查性异常(java.lang.Exception)。 -运行期异常(java.lang.RuntimeException)。 -错误(java.lang.Error)。,5.11 知识解析,异常处理机制 -抛出异常:当语义限制被违反时,将会抛出异常,即产生一个异常事件,生成一个异常对象,并把它提交给运行系统,由运行系统寻找相应的代码处理异常。 -捕获异常:异常抛出后,运行时系统从生成异常对象的代码开始,沿方法的调用栈进行查找,直到找到包含相应处理的方法代码,并把异常对象交给该方

16、法为止,这一过程为捕获异常。,5.11 知识解析,异常处理语句模式 异常处理语句变通格式如下: try catch(异常类型 e) catch(异常类型 e) finally,5.11 知识解析,throw语句 在Java中,异常对象可由系统抛出,也可通过代码实现,即用throw语句可明确地抛出一个异常。 throw语句的格式: 程序会在throw语句处立即终止,转向trycatch寻找异常处理的方法。不再执行throw后的方法。,5.11 知识解析,自定义异常类 在异常的处理中,为了更合符自己的要求,也可以自定义异常,其通用格式为: 修饰符 ,5.12 训练任务,任务内容 编写连连看中加载与保存设置游戏信息的类程序 。 编写连连看中加载图片信息的类程序 。,

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

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

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