《《JAVA程序设计》授课教案》由会员分享,可在线阅读,更多相关《《JAVA程序设计》授课教案(10页珍藏版)》请在金锄头文库上搜索。
1、JAVA 程序设计 授 课 教 案授课题目课程设计教学目的特别处理学时安排4主要介绍单元设计的要求1、Jav a 特别处理机制2、讲授特别捕获、特别处理、清理特别的方法1、理解特别的概念2、了解特别类及其层次关系教学要求3、娴熟把握常用的标准Java 特别类4、娴熟把握抛出特别、声明抛出特别、定义特别的方法5、创立自定义的特别类型1、Jav a 特别处理机制教学重点教学难点2、把握抛出特别、声明抛出特别、定义特别的方法1、Jav a 特别处理机制2、把握抛出特别、声明抛出特别、定义特别的方法授课类型教学方式理论课讲授、演示、提问、争论1、 引入特别的概念授课场地教辅设备教 室投影仪教学内容通过
2、 ExceptionExam.java 程序演示数学计算中除数为了 0 时产生的错误信息, 引入抛出特别的概念。我们都期望自己的程序不包含任何错误,也都期望我们的程序要访问的资源总是可用。然而现实的状况可能和所期望的恰恰相反:程序中包含有“bug”,在运行时会消灭各种错误;要访问的资源不存在或是存在但不能访问。Java 供给了强有力的特别处理机制来应对可能消灭的各种特别状况。本章重点讲解 Java 特别处理机制及如何处理抛出特别、声明抛出特别、定义特别的方法。2、 通过提问争论式、启发式提问和比较归纳,处理特别的必要性和重要性作为一名合格优秀的程序员,必需生疏到在程序中处理特别的重要性。Jav
3、a 运用面对对象的方法进展特别处理,把各种不同的特别进展分类,并供给了良好的接口。这种机制为简单程序供给了强有力的掌握方式。同时这些特别代码与“常规”代码的分别,增加了程序的可读性,编写程序时也显得更为敏捷。那么, 我们承受错误代码和特别处理相结合的方式到底有哪些优越性呢?1) 把错误代码与常规代码分开2) 可以在catch 中传播错误信息3) 可以对错误类型分组4) 便利定位错误,维护要写出友好,强健的程序,敏捷地运用Java 程序语言的特别处理机制,须从以下几个角度来生疏特别:特别类及分类、捕获特别、处理特别及抛出特别。3、 特别类及分类在Java 中,特别也是被视为对象,全部的特别都继承
4、于 Throwable 类,Throwable类中有一个 String 类型的变量,它保存的是特别对象的一些说明信息,该信息可以用来识别所抛出的特别。Throwable 类分别有两个子类,分别是:Exception 类和 Error 类,但对于软件开发者来说,大多数遇到的特别对象都属于 Exception 类及其相应的子类,这是由于 Exception 类型的特别是由编写的代码所引起的,而 Error 类型的特别则是由Java 虚拟机自身或者虚拟机与代码之间的连接引起的。以下给出一个简化的 Java 特别继承关系图。ThrowableError ExceptionIOException Run
5、timeException用户自定义特别Exception 类的子类的分类:Exception 类的子类可以分为两种类弄,即 checked 和 unchecked 。其中 unchecked 类型的特别是指那些没有被检查出来的特别,它的抛出一般是由代码编写者的疏忽大意引起的。checked 类型的特别指的是那些代码编写没有问题,但是在代码的实际运行期间,由于代码所处环境的影响而抛出的特别。4、 学习特别处理关键字:try、catch、finally、 throws 和 throw 。1) 、通过比照分析程序ExceptionExam.java 和 ExceptionExam1.java,引入
6、trycatch 语句,并阐述Java 中特别的处理机制。2) 、通过走读 ExceptionExam1.java 中的代码,引导学生了解trycatch 语句的执行步骤。3) 、假设程序消灭格外严峻的特别而导致程序完全退出,势必会给系统带来 一些不确定的因素,Java 供给了finally 语句,不管抛出特别与否,都必需执行finally语句块,通常在finally 语句中可以进展资源的去除工作,如关闭翻开的文件等。分析程序 ExceptionUse3.java 代码,引出 throws 和 throw 特别关键字,并阐述其用法:4) 、throws 总是消灭在一个函数头中,用来标明该成员函
7、数可能抛出的各种特别。5) 、throw 总是消灭在函数体中,特别并不是系统出错产生,而是人为地抛出的特别。程序会在throw 语句后马上终止执行。5、 创立自定义的特别类型当程序员为供给一些特定的功能用Java 类时,往往需要保证类之间有良好的关系,而且类之间的接口易于理解和实现。对于特别类一样,可以定义的特别类。创立自己的特别类更便于维护和治理。通常承受Exception 作为特别类的父类。通过再次分析程序ExceptionUse3.java 代码,分析自定义特别抛出处理过程。6、 学问点讲解及程序代码分析1) 、ExceptionExam.java 源代码publicclassExcep
8、tionExampublicstaticvoidmain(String args)inti=0; i=3/i;2) 、ExceptionExam1.java 源代码publicclassExceptionExam1publicstaticvoidmain(Stringargs ) inti, a;try / 监视一代码块i=0;a=4/i; return;catch (ArithmeticException e) /捕获一个被零除特别System.out.println(“被零除“);3) 、ExceptionUse3.java 源代码publicclassExceptionUse3publi
9、cstaticvoidmain(String args) trytestRuntime;catch(MyArithExceptionme)System.out.println(“Please Handle the runtime exception here.“);staticvoidtestRuntime( )throwsMyArithException try/此处刻意产生一个除零错的特别Inti,j; j = 0;i = 2/j;catch(ArithmeticExceptionae)/在这里捕获运行时刻特别ArithmeticException/不作任何处理,只是重抛出一个特别MyAr
10、ithException/由于运行时刻特别不在方法声明的throws 子句中声明thrownewMyArithException(ae.getMessage);/创立特别类,处理自定义特别classMyArithExceptionextendsException MyArithException( ) MyArithException(Stringmsg)super(msg);争论:1、如何处理同一个程序中消灭的多个不同类型的特别? 思考:1、在一个Java 程序中,假设调用了一个根本不存在的方法结果会怎样?2、在Java 程序中调用带参数的方法时带错了参数的数据类型,又会有什么样的结果发生?
11、 作业:1、阐述Java 特别处理机制,并描述特别匹配过程。2、编写一个程序,从命令行输入三个整数,要求推断是否能够组成一个三角形,当命令行参数为小数时,要求能够处理其特别。参考资料含参考书、文献等:1、Java 程序设计 编著:袁兆山,中国铁道出版社2、Java 核心技术第七版 卷 I编著:Cay S.HorstmannGary Cornell , 机械工业出版社3、Java 语言程序设计第 2 版编著:殷兆麟等,高等教育出版社实施状况及分析:通过一个实例引入问题,让学生带着问题去思考如何处理Java 中可能消灭的特别。在了解Java 中处理特别的机制后,再引入问题,让学生探讨对多个不同类型
12、的特别的处理,同时为上机实践做出铺垫。JAVA 程序设计 授 课 教 案授课题目课程设计多线程网络谈天系统学时安排6学时教学目的教学要求教学重点教学难点生疏线程的机制、线程的操作和使用理解定制线程类 、继承线程类、线程的生命周期线程的机制、线程的生命能周期线程的应用授课类型教学方式理论课、试验课讲授、演示、提问、争论1、 引入授课场地教辅设备教室、试验室投影仪各位!想象以下这个场景:目前大多数的计算机玩耍使用图象和声音,但是各 位是否留意到玩耍的图象、你的得分、和玩耍的音乐是在同时进展?想象这样一个 情形,你观察屏幕先变化,然后再更你的得分,最终你听到声音!一个玩耍在进 行时能同时拥有全部这些
13、元素。更专业一点的说,程序此时已经分成了三个子单元,每个单元由线程来处置。2、 阅历:在解释问题陈述之前,应首先确立多线程应用的需要。区分 Thread 类和Runnable 接口。解释线程的生命周期尤其是非运行状态。留意:说明在 Java 中,线程是由 JVM 治理的。另外,虽然用户程序是多线程的, 可实际上任一时刻只有一个线程在运行。由于安排给每一个线程的时间片格外短, 因此看上去多个线程似乎是在同时运行。3、 学问点讲解及程序代码分析什么是线程与进程教学内容进程:简洁来说就是一个程序在给定活动空间和初始条件下,在一个处理机上的执行过程。可以简洁的理解为进程就是一个正在运行的程序。线程:一
14、个线程是一个程序内部的一个挨次掌握流。即:一个或多个线程组成一个进程。线程与进程的区分:线程与进程的区分主要有以下两点:多个进程的内部数据和状态是完全独立的,而多线程是共享一块内存空间和一组系统资源,有可能相互影响。线程本身的数据通常只有存放器数据,以及一个程序执行时使用的堆栈,所以线程的切换比进程切换的负担要小。线程本质上就是一小局部独立的代码,处理器将其与其他线程同时运行。线程不肯定是整个程序处理多线程时,一般将程序称为进程,由于进程可以依据需 要创立很多线程。一个线程的例子public class CurrentThread public static void main(String args)Thread thisThread = Thread.currentThread; tryfor(int counter=0;counter10;counter+=2)System.out.println(counter); Thread.sleep(1000);catch(InterruptedException e)System.out.println(“hi!I was interrupted“);