Java程序设计基础第6章 Java异常处理

合集下载

《Java语言程序设计基础教程》习题解答

《Java语言程序设计基础教程》习题解答
C.程序无法通过编译ﻩD.可以通过编译但结果不确定
解答:A
17、在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用______字节内存空间,这样,无论是中文字符还是英文字符,都是占用______字节内存空间。
18、设x =2 ,则表达式(x ++)/3 的值是______。
C.defaultD.private
解答:C
5、下面哪一个特性不是面向对象编程主要体现的()。
A.封装性ﻩﻩB.继承
C.多态ﻩﻩD.类
解答:C
6、 不允许作为类及类成员的访问控制符的是()。
A.publicﻩB.private
C.staticﻩﻩﻩD.protected
解答:C
7、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为()。
A.int a[][]=new int[5][5];ﻩB. int [][]b=newint[5][5];
C. int []c[]=new int[5][5];ﻩD.int [][]d=newint[5,5];
解答:D
16、关于下面的程序,正确的结论是______。
publicclassex4_7{
解答:D
3、ﻩpublic staticvoid main方法的参数描述是:()
A.Stringargs[]ﻩﻩﻩB.String[] args
C.Stringsargs[]ﻩﻩD.Stringargs
解答:A,B
4、在Java中,关于CLASSPATH环境变量的说法不正确的是:()
A.CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。

Java开发基础 PPT课件

Java开发基础 PPT课件

大纲
接口与抽象类的选择
☞ 克隆及其注意事项
接口与回调 内部类、局部类、匿名类 JDK的Proxy与CGLib的动态代理区别
克隆及其注意事项
浅克隆与深克隆
默认实现是浅克隆(本地方法实现)(java.util.AbstractMap默 认实现是浅克隆)
如果原始对象与浅克隆对象共享的子对象是不可变的,则不 会产生负面问题。
反射
允许程序在运行时透过Reflection APIs取得任何一个已知名称的class 的内部信息,并可于运行时改变fields内容或唤起 methods。
可动态获取的内容包括
modifiers(诸如public, static ) superclass(例如Object) interfaces(例如Cloneable fields和methods等
的属性 Java 中所有的对象都继承至 ng.Object ,因此都拥有
toString() , equals() ,wait() 等方法
继承的约束
不能实现多继承 父类提供了参数构造函数,子类必须实现 子类不能降低父类方法的可见域 子类不能抛出比父类构造函数或方法更多的异常 子类不能扩展父类的 final 方法
象类不应该依赖于其细节,细节。 接口隔离原则(ISP):不应该强迫客户依赖于它们不用的方

类设计基本原则(续)
包设计的基本原则
包内聚性原则(包粒度) 重用发布等价原则(REP):重用的粒度就是发布的粒度。 共同重用原则(CRP):一个包中的所有类应该是共同重用的。 如果重用了包中的一个类,那么就要重用包中的所有类。 共同封闭原则(CCP):包中的所有类对于同一类性质的变化应 该是共同封闭的。一个变化若对一个包产生影响,则将对该包中 的所有类产生影响,而对于其它的包不造成任何影响。 考虑可重用性与可开发性的平衡。

轻松学Java之Java的异常处理

轻松学Java之Java的异常处理
首先指定方法然后 用throws抛出异常 方法名称(参数) throws 异常类1,异常类2,„
10.6 try-catch-finally语句的嵌 套
前面的介绍中,try-catch-finally都是单层的,未出现 嵌套现象。实际上,和其余的块语句,诸如if、for、 while一样,它也是可以嵌套使用的。也就是说,一 个try-catch-finally可以嵌套在另一个try语句块的try、 catch或finally部分。我们先来看一般嵌套的语法格式, 如图10.23所示。 try{
10.1 异常的基本概念
常见的异常类型如图10.1所示。
常见异常名 数组下标越界 空指针异常类 算术异常 字符串转换为数字异常 类型不存在异常 表现形式 ArrayIndexOutofBoundsofException NullPointerException ArithmeticException NumberFormatException TypeNotPresentException
如果方法内的程序内的程序代码可能会发生异常,且方法内又 没有使用任何的代码块来捕捉这些异常,则必须在声明方法时 一并指明所有可能发生的异常,以便让调用此方法的程序得以 做好准备来捕捉异常。也就是说,如果方法会抛出异常,则可 将处理此异常的try-catch-finally块写在调用此方法的程序代码 块内。 如果要由方法抛出异常,则方法必须用图10.21所示的语法来声 明。
10.4 异常处理
TestException的异常发生后,Java就把这个异常抛了出来,可 是抛出来后没有程序代码去捕捉它,所以程序到array[10]=1;就 结束,不会执行下一行。如果加上捕捉异常的程序,则可针对 不同的异常做出妥善的处理,这种处理的方式称为异常处理。 异常处理是由try、catch和finally等三个关键字所组成的程序块, 其语法格式如图10.11所示。

《Java程序设计》课程标准

《Java程序设计》课程标准

《Java程序设计》课程标准课程名称: Java程序设计课程性质:专业必修课学分: 4计划学时: 72课时适用专业:软件技术1.前言1.1课程定位JAVA程序设计是学生进入大学后学习的第二门计算机语言,属于专业必修课。

它是软件技术专业中的一门职业基础课程,旨在培养学生的基础编程能力,为以后的 Android 课程打好基础。

学生的基础打好对以后的实训及就业会有很大帮助。

软件技术专业的培养目标是培养出既要有熟练的掌握软件编程的动手操作能力,又要具备对软件工程的规范进行开发和基本的软件架构能力。

能够独立解决面临任务、充满活力、有创新意识的软件技能型人才。

重视基本知识、基本理论和基本技能的传授,注重先进实用技能的学习和学生专业可持续自我发展能力的培养及综合素质的提高。

1.2设计思路本课程坚持以能力为本位的设计原则,将面向对象程序设计的基本理论与实践技术相结合,把软件工程的思想融入到教学体系中,从基础理论及工程应用实践的角度出发培养学生的逻辑与编程思维、养成良好的程序设计习惯,掌握编程的基本方法,培养学生使用程序设计语言解决实际问题的能力。

使学生具备良好的专业技能和职业素养,形成具有优势的职业岗位竞争力。

打破以知识传授为主要特征的传统学科课程模式,转变为以工作任务为中心组织课程内容,并让学生在完成具体项目的过程中学会完成相应工作任务,并构建相关理论知识,发展职业能力。

课程内容突出对学生职业能力的训练,理论知识的选取紧紧围绕工作任务完成的需要来进行,同时又充分考虑了高等职业教育对理论知识学习的需要,并融合了相关职业资格证书对知识、技能和态度的要求。

项目设计以学生编程能力的培养为线索来进行。

教学过程中,要通过校企合作、校内实训基地建设等多种途径,采取工学结合、课程设计等形式,充分开发学习资源,给学生提供丰富的实践机会。

教学效果评价采取过程性评价与结果性评价相结合,理论与实践相结合,理论考试重点考核与实践能力紧密相关的知识,重点评价学生的职业能力。

Java程序设计基础习题答案

Java程序设计基础习题答案

Java程序设计基础课后习题参考答案第2章1. 关于Java Application 的入口方法main()的检验:main()方法的参数名是否可以改变main()方法的参数个数是否可以改变该方法名是否可以改变参考答案:(1)main()方法的参数名可以改变。

(2)main()方法的参数个数不可以改变。

(3)该方法名不可以改变。

2. 当一个程序没有main()方法时,能编译吗如果能编译,能运行吗参考答案:当一个程序没有main()方法是,是可以编译通过的,但是不能给运行,因为找不到一个主函数入口。

3. 下列语句能否编译通过byte i = 127;byte j = 128;long l1 = 999999;long l2 = 99;参考答案:byte i 和 long l1可以编译通过。

而 byte j 和long l2 超出自身数据类型范围,所以编译失败。

4. 下列语句能否编译通过float f1 = ;float f2 = 3.5f;参考答案:java中浮点型的数据在不声明的情况下都是double型的,如果要表示一个数据是float型的,必须在数据后面加上“F”或“f”;因此,float f1 无法编译通过。

5. 验证int 和char,int和double等类型是否可以相互转换。

参考答案:(1)char类型可以转换为int 类型的,但是int类型无法转换为char 类型的;(2)int 可以转换为 double类型的,但是double类型无法转换为int 类型的。

6. 计算下列表达式,注意观察运算符优先级规则。

若有表达式是非法表达式,则指出不合法之处且进行解释。

(1) 4+5 == 6*2 (2) (4=5)/6(3) 9%2*7/3>17 (4) (4+5)<=6/3(5) 4+5%3!=7-2 (6) 4+5/6>=10%2参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4是不合法的。

第7章异常处理

第7章异常处理

Error和Exception
1.Error Error用来表示编译和运行错误,如程序进入了死循环、内存溢出等。
Error只能在编译阶段解决,运行时程序本身无法解决,只能依靠其它程序的 干预,否则会一直处于非正常状态。Error处理一般由系统承担,Java本身不 提供相应的Error处理机制。
2.Exception Exception用来表示由程序活动所导致的错误,如运算时除数为0、打开
at Throw1.main(Throw1.java:5)
上例中产生了一个数组下标越界异常,它是RuntimeException的一个子 类,它是Java中的一个基本异常,要想对各种异常类有个全面的了解,需要 去查看Java的JDK Documentation。
我们可以看到,异常产生之后程序终止了执行,并且输出了相应的异常 信息。此例中产生的异常有Java虚拟机自动抛出。
捕获和处理异常
程序发生异常时,会生成一个异常对象,这个异常对象会在方法内部被 抛出,它假设异常将被异常处理程序捕获。如果程序不捕获异常,它就要被 JVM捕获,这个方法将在抛出异常的过程中结束。要是不希望方法就此结束, 可以在方法内部设置一个特殊的块来监视可能产生异常的代码,然后让程序 来捕获并处理异常对象从而不会影响其他语句的执行。在Java中,提供了try 和catch语句来捕获和处理一个或多个异常。语法格式如下:
}
抛出异常
我们可以通过throw语句手动抛出异常。其基本语法格式如下: throw Obj;
其中throw是关键字,Obj是创建的异常类型的对象。在throw语句中同 样是使用new创建异常类型的对象。例如:
class Throw2{ public static void main(String args[]){ try{ System.out.println("Before throw!"); throw new ArithmeticException(); } catch(ArithmeticException e){ System.out.println("ArithmeticException caught!"); } System.out.println("End up!"); }

信息技术第6章 软件开发练习题库(附答案)

信息技术第6章 软件开发练习题库(附答案)

第六章软件开发一、单项选择1.给定如下所示的JAVA代码,则运行时,会产生哪种类型的异常()String s = null;s.concat( "追加的字符串");A. ArithmeticExceptionB. NullPointerExceptionC. IOExceptionD. ClassNotFoundException参考答案:B答案解析:空值的字符串变量无法进行追加字符串运算。

A选项为数学运算异常;C选项为输入输出异常;D选项为未找到类定义的异常。

知识点:税务系统业务能力升级测试大纲(信息技术类)-专业知识与技能—第六章软件开发—第二节 Web熟悉开发 4.了解Java编程。

2.为使得开发人员对软件产品的各阶段都进行周密的思考,从而减少返工,所以编制下列哪个文件是很重要的()A.需求说明B.概要说明C.软件开发文档D.测试大纲参考答案:C试题解析:软件开发文档是软件开发使用和维护过程中的必备资料。

它能提高软件开发的效率,保证软件的质量,而且在软件的使用过程中有指导,帮助,解惑的作用,尤其在维护工作中,文档是不可或缺的资料。

知识点:税务系统业务能力升级测试大纲(信息技术类)-专业知识与技能—第六章软件开发—第一节软件开发基础知识3.下列哪个文档属于软件开发人员为用户准备的有关该软件使用、操作、维护的资料()A.开发文档B.管理文档C.用户文档D.软件文档参考答案:C试题解析:用户文档可以帮助用户掌握相关软件的使用、操作及维护。

知识点:税务系统业务能力升级测试大纲(信息技术类)-专业知识与技能—第六章软件开发—第一节软件开发基础知识4.关于中间件特点的描述,不正确的是()A.中间件可运行于多种硬件和操作系统平台上B.跨越网络、硬件、操作系统平台的应用或服务可通过中间件透明交互C.中间件运行于客户机/服务器的操作系统内核中,提高内核运行效率D 中间件应支持标准的协议和接口参考答案:C试题解析:中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。

《计算机程序设计员(JAVA)》(三级)

《计算机程序设计员(JAVA)》(三级)

备注
2
上海市职业技能鉴定中心版权所有
职业(工种) 职业代码
计算机程序设计员(JAVA)
等级

代码
号 章 节 目点
名 称·内 容
34
AJAX
55 3 4 1
AJAX 的概念
56 3 4 2
AJAX 的构成
57 3 4 3
XmlHttpRequest 的创建方法
4
UML 分析与设计
41
面对对象的概述
58 4 1 1
Hibernate 二级缓存
第 2 页/共 6 页
等级
三级
分数 系数
2 3 1 1 1 1 2 2 2 2 2 2 2 20 6 2 2 1 1 2 2 1 4 2 2 2 2 1 1 6 1 2 1 2 2 2
重要 系数
9 9 9 9 5 5 9 9 9 5 5 5 5 5 9 5 9 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 9 9 5
3 11 3
流的概念
4 11 4
输入输出处理网络编程
5 11 5
java 线程的概念
6 11 6
垃圾回收机制的两种方法
7 11 7
Java 编码规范
8 11 8
Java 序列化与反序列化的概念
9 11 9
Java 内部类的概念
10 1 1 10
Java 异常处理的概念
12
软件开发的基础知识
11 1 2 1
上海市职业技能鉴定中心版权所有
《计算机程序设计员(JAVA)》(三级)
鉴 定 要 素 细 目 表 (基 本 概 念 )
职业(工种)
计算机程序设计员(JAVA)

java Java异常处理结构

java  Java异常处理结构

java Java异常处理结构在Java中,任何异常对象都是ng.Throwable类或其子类的对象,即所有异常类型都是内置类Throwable的子类。

因此,Throwable类在异常类层次结构的顶层。

紧接着Throwable类把异常分成两个不同分支的子类:Exception类和Error类,如图8-1所示:图8-1 异常结构图由上图可以知道,Thorwable类是所有异常和错误的超类,两个Error和Exception子类,分别表示错误和异常。

其中,Exception异常类又分为运行时异常(RuntimeException)和非运行时异常,这两种异常有很大的区别,在于不检查异常(Unchecked Exception)和检查异常(Checked Exception)两种方式。

●Exception类用于用户程序可能出现的异常情况,也可以用来创建自定义异常类。

●Error类在通常环境下定义不希望被程序捕获的异常。

Error类型的异常用于Java运行时与运行系统本身有关的错误,如堆栈溢出属于该错误之一。

运行时异常都属于运行异常类及其子类异常,如尝试访问null对象成员(NullPointerException)、索引超出范围(IndexOutOfBoundsException)等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。

这些异常一般由程序逻辑错误引起,程序应该从逻辑角度尽可能避免这类异常的发生。

非运行时异常是运行时异常以外的异常,类型上都属于Exception类及其子类。

从程序语法角度讲是必须进行处理的异常,如果不处理,程序则无法通过编译,如输入/输出异常(IOException)、SQL语句异常(SQLException)等以及用户自定义的Exception异常。

常用的异常类如表8-1所示。

表8-1 Java常用异常类。

Java培训系列课程-处理异常(精品培训)

Java培训系列课程-处理异常(精品培训)

System.out.println("1、除法计算开始。");
try {
int x = Integer.parseInt(args[0]);
// 接收参数并且转型
int y = Integer.parseInt(args[1]);
// 接收参数并且转型
System.out.println("2、除法计算:" + (x / y));// 此处产生异常
// 处理算术异常
e.printStackTrace();
// 输出异常的完整信息
} finally {
System.out.println("### 不管是否出现异常我都执行!") ;
}
System.out.println("3、除法计算结束。");
}
}
程序执行结果:
1、除法计算开始。
ng.ArithmeticException: / by zero
at com.yootk.demo.TestDemo.main(TestDemo.java:7)
### 不管是否出现异常我都执行!
3、除法计算结束。
范例:修改程序,利用初始化参数
传递数学计算数据
package com.yootk.demo;
public class TestDemo {
public static void main(String args[]) {
try {
System.out.println("2、除法计算:" + (10 / 0));// 此处产生异常
// 异常产生之后的语句将不再执行,此处在try中产生异常,所以下面的输出不会执行

《Java语言程序的设计基础教程》习题解答

《Java语言程序的设计基础教程》习题解答

《Java语言程序设计基础教程》练习思考题参考答案第1章 Java程序设计概述1.9 练习思考题1、Java运行平台包括三个版本,请选择正确的三项:()A. J2EEB. J2MEC. J2SED. J2E解答:A,B,C2、Java JDK中反编译工具是:()A. javacB. javaC. jdbD. javap解答:D3、public static void main方法的参数描述是:()A. String args[]B. String[] argsC. Strings args[]D. String args解答:A,B4、在Java中,关于CLASSPATH环境变量的说法不正确的是:()A. CLASSPATH一旦设置之后不可修改,但可以将目录添加到该环境变量中。

B. 编译器用它来搜索各自的类文件。

C. CLASSPATH是一个目录列表。

D. 解释器用它来搜索各自的类文件。

解答:A5、编译Java Application源文件将产生相应的字节码文件,扩展名为()A. .javaB. .classC. .htmlD. .exe解答:B6、开发与运行Java程序需要经过的三个主要步骤为____________、____________和____________。

7、如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是______类的子类并且存储该源程序文件的文件名为______。

8、如果一个Java Applet程序文件中定义有3个类,则使用Sun公司的JDK编译器编译该源程序文件将产生______个文件名与类名相同而扩展名为______的字节码文件。

9、开发与运行Java程序需要经过哪些主要步骤和过程?10、Java程序是由什么组成的?一个程序中必须要有public类吗?Java源文件的命名规则是怎么样的?11、编写一个简单的Java应用程序,该程序在命令行窗口输出两行文字:“你好,很高兴学习Java”和“We are students”。

java技术.ppt

java技术.ppt
• 如果一个方法调用一个抛出受检异常的 方法(含有throws列表的方法),则该方法 必须捕捉这些受检异常,或通过throws 列表声明这些异常
2020/11/2
Java 程序设计
15
重新抛出异常
• 如果catch语句块不处理某种异常,可以重 新抛出异常
– 抛出异常的方法: throw e;
– 由其外层的try- catch 语句块处理
2020/11/2
Java 程序设计
16
• Practice makes perfect.
2020/11/2
Java 程序设计
17
2020/11/2
Java 程序设计
5
什么时候会发生异常?
• 数组的下标越界 • 打开不存在的文件 • 网络无法连接 • 操作数超出所要求的范围 • 少了所需加载的类,
• 自定义异常,要求程序处理
2020/11/2
Java 程序设计
6
处理异常的几种常用方法
1. 一旦捕获异常,马上进行处理 2. 重新抛出异常 3. 捕获异常,但并不处理 4. 通过语句System.exit()退出应用程序
• 异常随时都可以发生
– ArrayIndexOutOfBoundsException – NullPointerException – 定义了引用,但不指向任何对象(object) – ClassCastException
• 数据类型间的转换不合法
• 良好的编程习惯,可以减少很多异常的 发生
2020/11/2
Java程序设计 Programming in Java
清华大学
Tsinghua University
2020/11/2

java基础篇之异常 D

java基础篇之异常 D

异常异常的定义在《java编程思想》中这样定义异常:阻止当前方法或作用域继续执行的问题。

虽然java中有异常处理机制,但是要明确一点,决不应该用"正常"的态度来看待异常。

绝对一点说异常就是某种意义上的错误,就是问题,它可能会导致程序失败。

之所以java要提出异常处理机制,就是要告诉开发人员,你的程序出现了不正常的情况,请注意。

记得当初学习java的时候,异常总是搞不太清楚,不知道这个异常是什么意思,为什么会有这个机制?但是随着知识的积累逐渐也对异常有一点感觉了。

调用抛出异常的方法,必须处理异常,有两种方式:1、使用try catch finally 捕获。

2、直接再抛出异常。

注:处理异常的方式依赖于具体业务逻辑,可灵活处理。

如果代码有异常发生,异常以后的代码将不再执行。

举一个例子来说明一下异常的用途。

public class Calculator {public int devide(int num1, int num2) {// 判断除数是否为0if (num2 == 0) {throw new IllegalArgumentException("除数不能为零");}return num1 / num2;}}看一下这个类中关于除运算的方法,如果你是新手你可能会直接返回计算结果,根本不去考虑什么参数是否正确,是否合法(当然可以原谅,谁都是这样过来的)。

但是我们应尽可能的考虑周全,把可能导致程序失败的"苗头"扼杀在摇篮中,所以进行参数的合法性检查就很有必要了。

其中执行参数检查抛出来的那个参数非法异常,这就属于这个方法的不正常情况。

正常情况下我们会正确的使用计算器,但是不排除粗心大意把除数赋值为0。

如果你之前没有考虑到这种情况,并且恰巧用户数学基础不好,那么你完了。

但是如果你之前考虑到了这种情况,那么很显然错误已在你的掌控之中。

异常案例:public class User {int id;String email;String pwd;public User() {}public User(int id, String email, String pwd) {super();this.id = id;this.email = email;this.pwd = pwd;}@Overridepublic String toString() {return id + "," + email;}@Overridepublic boolean equals(Object obj) {if (obj == null) {return false;}if (this == obj) {return true;}if (obj instanceof User) {User o = (User) obj;return id == o.id;}return false;}@Overridepublic int hashCode() {return id;}}-----------------------------------------------import java.util.HashMap;import java.util.Map;/*** 该类提供用户管理功能:注册和登录*/public class UserManager {// 存储user对象的集合,key是email,value是用户private Map<String, User> users = new HashMap<String, User>();private int id = 1;public User reg(String email, String pwd) throws UserExsitsException {if (users.containsKey(email)) {throw new UserExsitsException("该邮箱" + email + "已存在!");}User newuser = new User(id++, email, pwd);users.put(email, newuser);return newuser;}public User login(String email, String pwd) throws EmailOrPwdException {if (!users.containsKey(email)) {throw new EmailOrPwdException("无此用户!");}User u = users.get(email);if (!u.pwd.equals(pwd)) {throw new EmailOrPwdException("密码错误!");}return u;}}/*** 该类表示用户已注册过异常,一定继承于excetpion类* 用于表示注册时可能已经注册过异常*/class UserExsitsException extends Exception {public UserExsitsException(String message) {super(message);}}/*** 该类表示用户名或密码错误异常,一定继承于exception类* 用于表示输入的用户名或密码错误异常*/class EmailOrPwdException extends Exception {public EmailOrPwdException(String message) {super(message);}}----------------------------------------------------public class ExceptionDemo {public static void main(String[] args) throws Exception { UserManager mgr = new UserManager();User u = mgr.reg("java_manual@", "123abc");System.out.println("注册成功!");// 测试1,重复注册,出现异常u = mgr.reg("java_manual@", "123abc");// 测试2,登录密码错误,出现异常,密码不对u = mgr.login("java_manual@", "abc");// 测试3,登陆成功!User someone = mgr.login("java_manual@", "123abc");System.out.println(someone);}}注:代码调用抛出异常的方法,必须处理异常,有两种方式:1、使用try catch finally 捕获。

《Java程序设计》实验指导书-2_[1]...

《Java程序设计》实验指导书-2_[1]...

Java语言程序设计实验指导书目录实验一 JDK的安装和运行环境变量的设置 (3)实验二 JA V A语言基础实验 (3)实验三 JA V A面向对象特性实验 (5)实验四 Java输入输出实验 (6)实验五基于AWT及SWING的GUI及事件处理实验 (8)实验六Applet (11)附录Ⅰ (14)附录Ⅱ (15)实验一 JDK的安装和运行环境变量的设置实验目的1.通过实验使学生掌握J2SDK安装和运行环境设置。

2.掌握java最简单的程序结构,会使用javac和java命令。

实验内容1.下载j2sdk1.4.2。

在网站的download链接中选择J2SE1.4.2链接,选择j2sdk-1.4.2-04-windows-i586.exe下载。

2.安装该程序。

默认安装路径为c:\jdk1.4.2。

3.设置环境变量。

主要有path和classpath两个环境变量需设置。

在windows98中的设置方式为:使用记事本打开autoexec.bat文件,加入:SET PA TH=%PATH%;c:\jdk1.4.2\binSET CLASSPATH=.; c:\jdk1.4.2\lib在windows2000按如下方法设置:进入“控制面板”->“系统”->“高级”->“环境变量”->“系统变量”后,双击path,在后面添加:c:\jdk1.4.2\bin,双击classpath,在后面添加:c:\jdk1.4.2\lib。

重新启动系统。

4、编写一个输出“这是我的第一个JA V A程序”程序。

5、示例程序:public class HelloWorld{public static void main(String [ ] args){System.out.println(“Hello World”);}}在记事本中编写该程序,并保存为d:\my\HelloWorld.java。

运行过程为:进入dos环境,切换到保存路径,然后在命令行中输入下列命令:javac HelloWorld.java编译通过后,在命令行中输入下面的命令java HelloWorld运行结果应该为:Hello World实验二 JA V A语言基础实验实验目的1.通过实验使学生掌握JA V A变量、标识符以及语法规则。

《Java课件》第6章基本可重用类1(语言包)

《Java课件》第6章基本可重用类1(语言包)
与字符串s比较相等否,相等返回true;反之,返回false
public int compareTo(String s) 与字符串s比较字典顺序, 相等返回0;
当前串大于s返回1;当前串小于s返回-1
例:String s="Hello !";
System.out.println(s.length()); //将输出7 System.out.println(s.charAt(1)); //将输出e System.out.println(s.equals("Hello! ")); //将输出false System.out.println(pareTo(“Hello! ")); //将输出-1
…..
Java.io.File
….. ….. ….. …..
Java.applet
Java.swing
图6-1
Java工具包层次图
Java常用包简介:
(1)ng包 主要含有与语言相关的类。ng包 由解释程序自动加载,不需显式说明。
(2)jave.io包 主要含有与输入输出相关的类,这些类提 供了对不同的输入输出设备读写数据的支持, 这些输入和输出 设备包括键盘、显示器、打印机、磁盘文件和网络等。 (3)java.util包 包括许多具有特定功能的类,有日期、 向量、哈希表、锁和堆栈等,其中Date类支持与时间有关的操 作。 (4)java.awt包和java.swing包 提供了创建图形用户界 面元素的类。通过这些元素,编程者可以控制所写Applet或用 户程序的外观界面。该包中包含定义窗口、对话框、按钮、复 选框、列表、菜单、滚动条及文本域的类。
(5)包
含有与网络操作相关性的类,如URL、
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6.1 Java异常简介 6.1.1 引入异常
观察前面的程序,大家会发现大部分精力花在出错处理上了 只把能够想到的错误考虑到,对以外的情况无法处理 程序可读性差 出错返回信息量太少
6.1 Java异常简介 6.1.1 引入异常
用Java的try…catch异常处理机制处理:
{
try{
open the file;
determine its size;
allocate that much memory;
read the file;
close the file;
}
catch(fileOpenFailed)
{ dosomething; }
catch(sizeDetermineFailed){ dosomething; }
以常规方法处理错误: openFiles; if (theFilesOpen){
determine the length of the file; if (gotTheFileLength){
allocate that much memory; if (gotEnoughMemory){
read the file into memory; if (readFailed) errorCode=-1; else errorCode = -2; } else errorCode=-3; } else errorCode=-4 ; } else errorCode=-5;
这类异常一般是程序外部问题引起的异常。这类异常在语法上要 求必须处理,如果不处理将会出现语法错误,不能通过编译,这类异 常称为受检异常(checked exception),如 FileNotFoundException、IOException等 。
6.1.2 异常类层次结构
2. Exception类
表6-1 Exception类的常用方法
6.1.3 常用异常类
所有异常类都继承于Exception类,这些异常类各自代表了一种 特定的错误。这些子类有些是系统事先定义好并包含在Java类库中 的,对应着一个系统运行错误,有时称为系统定义异常。
表6-2 部分常用异常类
6.1.4 自定义异常类
系统定义的异常主要用来处理系统可以预见的较常见的运行错误,
6.1 Java异常简介 6.1.1 引入异常
没有错误处理的程序: {
open the file; determine its size; allocate that much memory; read the file; close the file; }
6.1 Java异常简介 6.1.1 引入异常
class MyException extends Exception{ //自定义的异常类子类MyException
public MyExce
}
public MyException(String s){
super(s);
//调用父类的Exception的构造函数
catch(memoryAllocateFailed) { dosomething; }
catch(readFailed)
{ dosomething; }
catch(fileCloseFailed)
{ dosomething; }
}
6.1.2 异常类层次结构
Java通过面向对象的方法来处理程序错误。一个异常是由一个 对象来表示,所有的异常都直接或间接地继承自Throwable接口。 Java所有的异常对象都是一个继承Throwable接口的实例。 Throwable接口是类库ng包中的一个类,它派生了两个子类: Error和Exception。
图6-1 Java中异常类的层次结构
6.1.2 异常类层次结构
1. Error类 Error类及其子类主要用来描述一些Java运行时刻系统内部的错
误或资源枯竭导致的错误,普通的程序不能从这类错误中恢复。此类 型的错误不能抛出,而且出现的几率是很小的。
6.1.2 异常类层次结构
2. Exception类 (1) RuntimeException异常
Java程序设计基础第6章 Java异常处理
本章主要内容
异常简介 Java异常处理机制
抛出和声明异常 捕捉异常 使用用户自定义异常
第6章 Java异常处理
一个程序在编译时没有错误信息产生,而在运行过程有时会出现一 些意外的情况导致程序退出,Java语言称之为异常(Exception)。对于 计算机程序来说,异常都是不可避免的。Java内置的异常处理机制可较 好地对这些异常进行处理,保证程序的安全运行。
对于某个特定的应用程序所特有的运行错误,则需要编程人员根据程
序的特殊逻辑在用户程序里自己创建用户自定义的异常类和异常对象。
这种用户自定义异常主要用来处理用户程序中特定的逻辑运行错误。
自定义异常必须继承自Throwable或Exception类,用户自定义的异
常建议采用Exception作为异常类的父类,自定义异常的格式如下:
}
public String toString(){
//重载父类的方法,给出详细的错误信息

}

}
6.2 Java异常处理机制 6.2.1 抛出和声明异常
Java程序在运行时如果引发了一个可以识别的错误,就会产生 一个与该错误相对应的异常类的对象,这个过程叫做异常的抛出。抛 出的是相应异常类对象的实例。
这类异常属于程序缺陷异常,是设计或实现上的问题。 RuntimeException可以不使用try…catch进行处理,此这类异常也 被称为非受检异常(unchecked exception),但是如果有异常产 生,则异常由JVM处理,程序中断执行,所以保证程序在出错后依然 可以执行,在开发时还是最好使用try…catch处理。 常见的RuntimeException异常如 ArrayIndexOutOfBandsException、ArithmeticException和 NumberFormatException等。 (2) 非RuntimeException异常
相关文档
最新文档