《Java语言编程基础立体化实用教程》教案—1.3 学生成绩管理系统输入功能的改进(二).docx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《Java语言编程基础立体化实用教程》教案—1.3 学生成绩管理系统输入功能的改进(二).docx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java语言编程基础立体化实用教程 Java语言编程基础立体化实用教程教案1.3 学生成绩管理系统输入功能的改进二 Java 语言 编程 基础 立体化 实用教程 教案 1.3 学生 成绩管理系统
- 资源描述:
-
1、山东理工职业学院单元教学过程设计首页课程所属院(部):软件工程学院 2019-2020学年 第一学期课程名称Java语言编程基础任课教师单元标题任务3.2学生成绩输入功能的改进(二)上课地点课时4授课班级授课时间第 周第 周第 周第 周第 周第 周星期 星期 星期 星期 星期 星期 第 节第 节第 节第 节第 节第 节月 日月 日月 日月 日月 日月 日教学目标能力目标知识目标1. 文件类的使用、对象的定义域引用、异常的应用1 对象的定义与引用2 FileWriter类3 异常的处理教学任务将输入的学生信息与成绩存入记事本文档教学重、难点重点:文件类的使用难点:对象的定义域引用、异常的应用教学
2、材料或用具教材、教案、课件、课程标准、案例素材及Eclipse开发软件课后任务在Stu类中定义output()方法,其功能是输出学生的学号、姓名、班级、成绩等信息。山东理工职业学院单元教学过程设计步骤及时间教学内容教师活动学生活动5分钟5分钟20分钟40分钟90分钟20分钟【组织教学】1、检查学生出勤,作好学生考勤记录。2、课堂提问,了解学生掌握所学知识情况。3、强调课堂纪律,加强互动,活跃课堂气氛。【课题导入】将任务二中的成绩输入功能进行改进,通过学生类实例化对象的方法来操作学生对象的各个属性,将输入的学生信息与成绩存入记事本文档。系统最多支持一次输入100个学生信息,支持输入、修改、删除、
3、显示学生信息,但是需要用户检查这些数据后,再将其写入txt文档。这里,需要注意的是,显示学生信息只是针对本次输入的学生数据,修改、删除也只是针对本次输入的数据。一旦数据写入txt文档中,将无法进行修改、删除、显示等操作。【新课讲授】3.2.4.1对象的定义与引用对象:是在程序执行过程中创建生成的,所占空间是动态分配的,当对象使用完后,java垃圾回收机制会把空间收回,对象的声明周期:创建-使用-销毁。1对象的声明和创建格式: 类名 对象名; 对象名= new 类名(实参列表);等价于 类名 对象名= new 类名(实参列表);例如:Student stu1=new Student();此时会调
4、用Student类的无参构造方法。2对象的引用引用属性:对象名.属性引用方法:对象名.方法名(参数列表)【例3.2】定义立方体类class Cubedouble length;double width;double height;public double getVol() return length * width * height;public class Exp32public static void main(String args) double v;Cube Cube1 = new Cube();Cube1.length = 20;Cube1.width = 30;Cube1.he
5、ight = 40;v = Cube1.getVol();System.out.println(v1= + v);Cube Cube2 = new Cube();Cube2.length = 50;Cube2.width = 50;Cube2.height = 60;v = Cube2.getVol();System.out.println(v2= + v);运行结果:v1=24000.0v2=150000.0【注意】这里直接用赋值符号对Cube对象的属性进行赋值,是因为其私有属性在Cube类内是可见的,类外则需要使用setter方法进行赋值。3.2.4.2异常1异常处理的必要性没有异常处理机
6、制的语言要捕获到可能发生的错误,就必须使用大量的判断语句,这种做法未必能捕捉到所有错误,但降低了程序运行效率。Java的异常处理机制改进了这点,因此可以增进程序的稳定性及效率。2异常的概念系统运行错误,即程序运行过程中出现的影响语句正常运行顺序的意外或特殊事件。简单说,异常就是正常执行程序过程中出现的不正常情况。(1)编译错误编译错误是由于所编写的程序存在语法问题,未能通过由源代码到目标码(Java语言中由源代码到字节码)的编译过程而产生的,它由语言的编译系统负责检测和报告。(2)运行错误系统运行错误:系统运行错误是指程序在执行过程中发生的错误,它会中断程序的正常执行。逻辑运行错误:没有了编译
7、错误和系统运行错误,还有可能有逻辑运行错误,逻辑运行错误是指程序不能实现程序设计人员的设计意图和设计功能而产生的错误,例如排序时不能正确排序。2. 异常的处理机制Java语言有两种异常处理机制:(1) 捕获异常(catch):积极的处理异常的机制。当运行环境得到一个异常对象时,它将按照方法调用的顺序进行查找,直到找到包含相应处理的方法代码,并把异常对象交给该方法为止。格式:try 可能出现异常的代码块catch(Exception ex) 对异常的处理finally 无论异常是否发生都一定要执行的代码【例3.3】import java.io.*;public class Exp33 publi
8、c static void main(String args) String s=; System.out.print(请输入一个字符串:); try BufferedReader in=new BufferedReader(new InputStreamReader(System.in); s=in.readLine(); catch(IOException e) System.out.println(“捕捉异常”); System.out.println(您输入的字符串是:+s); (2)抛出异常(throws和throw):消极的处理异常的机制。如果一个方法不知道如何处理出现的异常,则可
9、抛出异常,即产生一个异常事件,生成一个异常对象,并把它交给运行系统,由系统寻找相应的代码处理异常。格式:thorws IOException(或其他Exception的子类)【例3.4】import java.io.*;public class Exp34 public static void main(String args) throws IOException String s=; System.out.print(请输入一个字符串:); BufferedReader in=new BufferedReader(new InputStreamReader(System.in); s=in
10、.readLine(); System.out.println(您输入的字符串是:+s); (3)自定义异常Java中定义了大量的异常类,虽然这些异常类可以描述编程时出现的大部分异常情况,但是在程序开发中有时可能需要描述程序中的异常情况。例如定义一个division()方法,要求其被除数不能为负数,如是负数,需要报告异常。为了解决此类问题,Java中允许用户自定义异常,但自定义的异常需要继承自Exception类或其子类。【例3.5】/类DivideByMinusExceptionclass DivideByMinusException extends Exception public Div
11、ideByMinusException() super();/调用Exception无参的构造方法 public DivideByMinusException(String message) super(message);/调用Exception有参的构造方法 /类Exp35public class Exp35 public static int division(int x, int y) throws DivideByMinusException if (y 0) throw new DivideByMinusException(被除数为负数);int result = x / y;ret
12、urn result;/ 返回结果public static void main(String args) try int result = division(10, -1);System.out.println(result); catch (DivideByMinusException ex) System.out.println(捕获的异常信息为: + ex.getMessage();运行结果:图3-2-2 例3.5运行结果【知识拓展】3.2.6.1异常的种类与继承关系图3-2-2 异常类的继承关系表3-2-2 常见的异常类异常说明RuntimeExceptionjava.lang包中多
展开阅读全文