教学课件·Java高级程序设计(第二版)1.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《教学课件·Java高级程序设计(第二版)1.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 教学 课件 Java 高级 程序设计 第二
- 资源描述:
-
1、JavaJava高级程序设计高级程序设计第第1章章 Java入门基础入门基础第1章 Java入门基础1.1 Java开发环境的安装与配置开发环境的安装与配置1.2 Java语言基础语言基础1.3 Java面向对象编程基础面向对象编程基础本章目标 Java Application开发环境的安装和配置 Java语言基础 Java面向对象编程基础本章任务本章任务 任务1 安装和配置JDK、Eclipse 任务2 Eclipse中开发Java Application 任务3 实现四则运算 任务4 找出100以内的所有素数 任务5 定义类、使用对象 任务6 运用继承1.11.1 Java Java开发环
2、境的安装与配置开发环境的安装与配置任务任务1 安装和配置安装和配置JDK、EclipseStep1:下载JDKStep2:配置JDKStep3:下载EclipseStep4:配置Eclipse工作空间任务任务2 Eclipse中开发中开发Java ApplicationStep1:新建项目Step2:创建和编辑Java类Step3:运行并查看输出知识点:知识点:Java ApplicationJava Application程序程序 一个Java Application程序往往由若干个类组成,其中包含public static void main(String args)方法的类是主类,mai
3、n()方法是Java Application程序的执行入口,由JVM调用执行。1.21.2 JavaJava语言基础语言基础任务任务3 实现实现四则运算四则运算编程实现2个数据的四则运算功能:用户输入2个数据,显示这2个数分别进行加、减、乘、除法运算后的结果,运行效果如图所示。知识点:知识点:JavaJava语法基础语法基础一、标识符和关键字二、数据类型三、运算符任务任务4 找出找出100以内的所有以内的所有素数素数编程实现:找出100以内的所有素数并输出。运行效果如图所示。知识点:知识点:JavaJava的流程控制语句的流程控制语句一、分支语句二、循环语句三、跳转语句1.31.3 JavaJ
4、ava面向对象编程基础面向对象编程基础任务任务5 定义类、使用定义类、使用对象对象编程实现:描述学生对象,学生基本信息包括学号、班级、姓名、性别、年龄;提供显示学生基本信息的功能;提供计算3门课程平均分的功能,假定课程分数直接指定。运行效果如图所示。知识点:类与对象知识点:类与对象任务任务6 运用继承运用继承编程实现:用Person类描述人的一般属性,用继承方式创建新类Student和Teacher,分别用于描述特定的人群学生和教师,分别创建学生对象、教师对象,并显示他们的相关信息。运行效果如图所示。知识点:包和访问控制符、继承、知识点:包和访问控制符、继承、接口接口一一、包和访问、包和访问控
5、制符控制符 访问控制符访问控制符可访问范围可访问范围private缺省缺省protectedpublic同一类中可见同一类中可见是是是是同一个包中对子类可见同一个包中对子类可见否是是是同一个包中对非子类可见同一个包中对非子类可见否是是是不同包中对子类可见不同包中对子类可见否否是是不同的包中对非子类可见不同的包中对非子类可见否否否是二、二、继承继承 继承是面向对象编程技术的一块基石,因为它允许建立分等级层次的类,使得程序结构清晰,降低编码和维护的工作量。三、三、接口接口 接口只包含若干个抽象方法和常量的定义,形成一个属性集合,该属性集合通常对应了某一组功能,其主要作用是可以帮助实现类似于类的多重
6、继承的功能。实训任务实训任务实训 1-1 编写一个Java Application,接受用户输入的10个整数,比较并输出其中的最大值和最小值。实训 1-2 编写一个Java Application,接受用户输入的一个112之间的整数(如果输入的数据不满足这个条件,则要求用户重新输入),利用switch语句输出对应月份的天数。实训 1-3 编写一个Java Application,输入一个人的成绩,判断他是否是及格、不及格或优秀。实训任务实训任务实训 1-4 编写一个Java Application,接受用户输入的字符,比较并输出按字典顺序排序的字符。实训 1-5 定义一个表示学生的类Stude
7、nt,包括属性“学号”、“班号”、“姓名”、“性别”、“年龄”;方法“获得学号”、“获得班号”、“获得性别”、“获得姓名”、“获得年龄”(汉字或数字)、“修改年龄”,并在此基础上编写Java Application程序创建Student类的对象张一、王二,并显示他们的信息。实训任务实训任务实训 1-6 创建一个Rectangle类,该类拥有属性length和width,每个属性的默认值均为1;该类拥有方法perimeter和area,分别用于计算矩形的周长和面积;该类还有设置和读取属性length和width的方法。创建一个Rectangle类的子类,设置方法应检查length和width的属
8、性值是否大于0.0且小于20.0的浮点数,在此基础上编写程序测试Rectangle类。实训任务实训任务实训 1-7 一家大公司对售货员按任务提成发放工资。每个售货员的基本工资是每周200元,另外提成为本周个人总零售额的9%。例如,某个售货员在一周内推销了总额为5000元的商品,那他在这一周内的工资为基本工资200元加上5000元乘以9%,即650元。公司提供了上周每个售货员的销售清单,每种商品的价格如下:商品 价格 1 233.99 2 129.75 3 199.95 4 350.89 开发一个Java应用程序,输入一个售货员上周销售的商品类型和数量,然后计算并显示这个销售员的收入,对销售员所
9、推销的商品数量没有限制。JavaJava高级程序设计高级程序设计第第2章章 异常处理异常处理第2章 异常处理2.1什么是什么是异常异常2.2处理处理异常异常2.3自定义异常与自定义异常与throw关键字关键字2.4throws关键字关键字2.5Java的内置异常的内置异常本章目标 理解异常及其作用 使用try-catch-finally语句捕获和处理异常 使用throw、throws关键字本章任务本章任务 任务1 识别异常 任务2 处理异常 任务3 自定义百分制分数异常 任务4 使用throws关键字2.12.1 什么是异常什么是异常任务任务1 识别异常识别异常编程实现整数除法运算:接收用户输
10、入的2个整数,除法运算后输出结果。根据用户的不同输入,可能产生如图所示的不同结果。知识点:异常的概念、异常处理机制知识点:异常的概念、异常处理机制一、异常的概念一、异常的概念程序开发中一般会出现两种问题:第一种,在编译期间被检测出来的错误,我们称之为语法错误,比如关键字拼写错误、语句丢失分号、变量名未定义等。如果程序中存在这类错误,将不能编译通过,不能生成字节码。第二种,没有语法错误编译成功了,但在程序运行期间出现错误,我们称之为运行错误,比如被访问对象没有正常初始化、访问数组元素时下标值超出范围等等。这种运行错误如果没有得到及时的处理,可能会造成程序提前中断、数据遗失乃至系统崩溃等问题。这种
11、运行错误也就是我们所说的运行错误也就是我们所说的“异常异常”。二、异常处理机制二、异常处理机制 为了解决这种需要由程序员承担程序出错情况判断的不正规处理模式所带来的困难和阻碍,Java引入了异常处理机制,通过代码运行到出现错误的时候由系统抛出一个运行时异常,Java程序可以很容易地捕获并处理发生的异常情况。Java的异常类层次结构2.22.2 处理异常处理异常任务任务2 处理异常处理异常完善任务1中的IntDivide程序,对除法运算中除数为0的异常进行处理,即使用户输入0值不能进行除法运算时也不会再粗鲁地直接中断程序执行了,运行效果如图所示。知识点:知识点:try-catch-finally
12、try-catch-finally语句处理语句处理异常异常try/需要监视异常的代码块,该区域如果发生异常就匹配catch来决定程序如何处理catch(异常类型1 异常的变量名1)/处理异常语句组1catch(异常类型2 异常的变量名2)/处理异常语句组2 finally/最终执行的语句组2.32.3 自定义异常与自定义异常与throwthrow关键字关键字任务任务3 自定义百分制分数异常自定义百分制分数异常编程实现:根据用户输入的分数判定成绩等级并输出。分数规定为百分制,一旦用户输入的分数不符合百分制分数要求,则请用户重新输入,直至输入分数正确,判定等级并输出为止。运行效果如图所示。知识点:
13、自定义异常、知识点:自定义异常、throwthrow关键字关键字一、自定义一、自定义异常异常 /变量、构造方法、成员方法二、二、throw关键字关键字 ;2.42.4 throwsthrows关键字关键字任务任务4 使用使用throws关键字关键字编程实现与任务3相同的根据分数判定等级并输出的功能。代码要求:将根据分数判等级的功能定义为方法,且方法内部不处理分数异常,而是将异常抛出给其调用者来进行处理。知识点:知识点:throwsthrows关键字为方法声明关键字为方法声明异常异常方法声明 ,/方法体,抛出异常2.52.5 JavaJava的内置异常的内置异常在核心语言包java.lang中,
14、Java定义了若干异常类型,其中多数从RuntimeException派生的异常都自动可用,它们不需要通知所有欲调用此方法的方法来检查该异常,因此不需要被包含在任何方法的throws列表中,也可以不用try-catch捕获和处理。Java语言中,这样的异常被称作不受控异常(unchecked exceptions)。还有一些异常类型,它们必须由try-catch进行捕获和处理,或者不用try-catch捕获则应包含在方法声明的throws列表中,由方法的调用者进行捕获和处理,否则编译将不能通过,这样的异常称作受控的异常(checked exceptions)。实训任务实训任务实训 2-1 编写
15、一个User类,类中包含String类型成员变量username和password,在默认构造方法中将username赋值为“admin”,密码赋值为“1234”。定义checkUser(String username,String password)方法,要求当参数username与类成员变量username不相符时抛出自定义异常NoSuchUserException,当用户名正确而password和类成员变量password不相符时抛出自定义异常PasswordDontMatchException。实训任务实训任务实训 2-2 创建帐户类,其中定义存钱、取钱、查询余额等三个方法,并自定义如
16、下异常类型用于账户类:(1)AccountOverdrawnException:当有了这个要取出比帐户上更多的钱的尝试时。(2)InvalidDepositException:当无效钱数(小于0)存入时。JavaJava高级程序设计高级程序设计第第3章章 Java常用常用API第第3 3章章 JavaJava常用常用APIAPI3.1API的的概念概念3.2字符串处理字符串处理3.3数学运算工具数学运算工具Math3.4日期时间处理日期时间处理3.5集合类集合类3.6泛泛型型本章目标 常见字符串处理 数学函数的运用、日期时间的处理 集合、迭代器的运用本章任务本章任务 任务1 字符串加密与解密
17、任务2 统计单词及其数量 任务3 常见数学运算 任务4 格式化日期 任务5 保存和显示学生列表 任务6 使用Set保存和显示学生集合 任务7 使用Map保存和显示学生集合3.13.1 APIAPI的概念的概念 Java的类库是系统提供的已实现的标准类的集合,统称为Java应用程序编程接口,即Java API(Application Program Interface)3.23.2 字符串处理字符串处理任务任务1 字符串加密与解密字符串加密与解密编程实现将用户输入的字符串按照一定规则进行加密,同时也实现能将加密后的字符串解密的功能,运行效果如图所示。知识点:知识点:StringString、St
18、ringBufferStringBuffer一、一、String字符串是程序设计中经常使用到的数据结构,它是字符的序列。两大类:1、创建之后不会再做修改和变动的字符串常量类型String2、创建之后允许再做更改和变化的字符串变量类型StringBuffer String类的常用构造方法,见教材表3-2 String类的常用方法,见教材表3-3 String的常见应用,见教材例程3-1至3-6二、二、StringBufferStringBuffer表示可扩充、可修改的字符序列,是可变长的字符串。StringBuffer可有插入其中或追加其后的字符或子字符串,StringBuffer可以针对这些添
19、加自动地增加空间,并增加更多的预留字符。StringBuffer类的常用构造方法,见教材表3-4 StringBuffer的常见应用,见教材例程3-7、3-8任务任务2 统计单词及其数量统计单词及其数量编程实现一个统计单词及其数量的程序,分析给定的字符串,将其中的单词分离出来,并统计单词的数量,运行效果如图所示。知识点:知识点:StringTokenizerStringTokenizer类类 分析字符串并将字符串分解成可被独立使用的单词,可以使用java.util包中的StringTokenizer类。使用StringTokenizer时,指定一个输入字符串和一个包含了分隔符的字符串。分隔符是
20、分隔标记的字符,如空格符、换行符、回车符、Tab符等等。StringTokenizer的构造方法,见教材表3-5 StringTokenizer的常用方法,见教材表3-63.33.3 数学运算工具数学运算工具MathMath任务任务3 常见数学运算常见数学运算编程实现常见的数学运算,效果如图所示。知识点:知识点:MathMath类类 Math类用来完成一些常用的数学运算,它提供了若干实现不同标准数学函数的方法。Math中的常用方法,见教材表3-73.43.4 日期时间处理日期时间处理任务任务4 格式化格式化日期日期编程实现将日期按照格式“xxxx年xx月xx日”输出,效果如图所示。知识点知识点
21、:DateDate、DateFormatDateFormat、CalendarCalendar一、一、Datejava.util.Date包装了一个long类型数据,表示与GMT(格林尼治标准时间)的1970年1月1日00:00:00这一时刻所相距的毫秒数。二、二、DateFormat和和SimpleDateFormat java.text.DateFormat 抽象类可以用于定制日期的格式 SimpleDateFormat是DateFormat的子类,它允许用户更具体地定制日期时间的格式三、三、Calendar和和GregorianCalendar Calendar,提供了一组方法允许将以毫
22、秒为单位的时间转换为一组有意义的分量 GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统3.53.5 集合类集合类一、集合类概述一、集合类概述 集合是一种数据结构,可以包含其他对象的引用,相当于装载其它对象的容器。Java集合API分为两大类,以Collection为接口的元素集合类型,以Map为接口的映射集合类型。Java的集合框架二、二、Collection和和Iterator Collection接口提供了一个iterator()方法,用于获取集合中所有元素的迭代器,可以用此对象依次访问集合中的元素。使用Iterato
23、r遍历集合(如下代码中的coll)中元素的代码模板如下:Iterator iter=coll.iterator();while(iter.hasNext()Object obj=iter.next();/对obj的其它操作任务任务5 保存和显示学生列表保存和显示学生列表编程实现用集合存一个学生列表,并将各学生的信息显示出来,效果如图所示。知识点:知识点:ListList接口及实现类接口及实现类 List接口是一种能包含重复元素的有序集合,与数组一样,List的首元素的索引也是0。List集合的特征:元素有序排列;可以有重复元素;可以随机访问,使用元素索引添加、删除、访问元素等。任务任务6 使用
24、使用Set保存和显示学生集合保存和显示学生集合编程实现用Set集合存一个学生列表,并将各学生的信息显示出来,效果如图所示。知识点:知识点:SetSet接口及实现类接口及实现类 Set接口是一种无重复元素的集合。集合API中包含多种Set实现类,主要为HashSet、TreeSet、SortedSet及LinkedHashSet。任务任务7 使用使用Map保存和显示学生集合保存和显示学生集合编程实现用Set集合存一个学生列表,并将各学生的信息显示出来,效果如图所示。知识点:知识点:MapMap接口及实现类接口及实现类 Map映射类储存的数据是“键/值”对,将“键”与“值”关联起来,给出键key就
25、可以查找到与之相关的值value Map接口是映射类的顶层接口,SortedMap接口提供了排序功能,最经常使用到的已实现Map接口的类有HashMap和TreeMap。3.6 泛型 泛型是在J2SE 1.5中引入的新特性 泛型的本质是参数化类型,即所操作的数据类型被指定为一个参数,此参数类型可以用在类、接口和方法的声明及创建中,分别被称为泛型类、泛型接口及泛型方法使用泛型的优点 编译器在编译时进行严格地类型安全检查,最大可能地消除了强制类型转换可能引起系统安全隐患 所有的强制类型转换都是自动和隐式进行,提高了代码的重用率实训任务实训任务实训 3-1 编程判断一个字符串是否是回文。实训 3-2
展开阅读全文