GD:自考_java异常处理及输入输出流简介课后习题

合集下载

Java异常处理与输入输出流单元测试

Java异常处理与输入输出流单元测试

《面向对象程序设计(Java)》单元测试3班级姓名一填空与选择题1.Java中,InputStream和OutputStream是以()为数据读写单位的输入输出流的基类,Reader和Writer是以()为数据读写单位的输入输出流的基类。

2.用来创建以字节方式对文件进行读写的流是()类和()类。

3.从对异常的处理策略上,Java把异常分为非检查型异常和检查型异常,非检查型异常包括()异常和()异常,编译时编译器不对非检查型异常进行检查;对检查型异常,编译器要求要么对异常进行()处理,要么进行()处理。

4.建立文件"file.txt" 的字节输入流的语句是:()A. InputStream in=new FileInputStream("file.txt");B. FileInputStream in=new FileInputStream(new File("file.txt"));C. InputStream in=new FileReader("file.txt");5.创建一个DataOutputStream 的语句是:()A. new DataOutputStream("out.txt");B.new DataOutputStream(new File("out.txt"));C. new DataOutputStream(new Writer("out.txt"));D. new DataOutputStream(new OutputStream("out.txt"));E. new DataOutputStream(new FileWriter("out.txt"));F. new DataOutputStream(new FileOutputSream("out.txt"));6.下面语句正确的是:()A. RandomAccessFile raf=new RandomAccesssFile(“myfile.txt”,”rw”);B. RandomAccessFile raf=new RandomAccesssFile(new DataInputStream());C. RandomAccessFile raf=new RandomAccesssFile(“myfile.txt”);D. RandomAccessFile raf=new RandomAccesssFile(new File(“myfile.txt”));7.下列创建InputStreamReader对象的方法中哪些是正确的方法?A. new InputStreamReader(new FileInputStream(“data”));B. new InputStreamReader(new FileReader(“data”));C. new InputStreamReader(new BufferedReader(“data”));D. new InputStreamReader(“data”);E. new InputStreamReader(System.in);二.编一程序,从键盘输入一个实数,求其平方根并输出。

广东自考JAVA语言程序设计(一)课后习题答案和源代码(第四章)

广东自考JAVA语言程序设计(一)课后习题答案和源代码(第四章)

第四章 (1)4.9 声明MyDate类 (1)4.10 求前n个质数 (5)4.11 编写实现从两个字符串中找出最长的相同字符列的代码。

(6)4.12 整理字符串 (7)4.13 编写用数组实现大整数的类,提供大整数的加、减、乘等运算。

(8)第四章4.9 声明MyDate类,功能:增加1天,增减1月和增加1年的方法;输出MyDate 对象日期的方法;求两个MyDate对象日期差的方法。

并提供能用当前日期初始化MyDate类对象的构造方法。

import java.util.Calendar;/***日历类*@author黎明你好*/public class MyDate{public static long YEAR_MSEL = 1000*60*60*24*365L;public static long MONTH_MSEL = 1000*60*60*24*30L;public static long DATE_MSEL = 1000*60*60*24L;public static long HOUR_MSEL = 1000*60*60L;public static long MINUTE_MSEL = 1000*60L;private int year;private int month;private int date;private int hour;private int minute;private int second;private Calendar calendar;/***构造方法使用当前时间日期初始化对象*/public MyDate(){calendar = Calendar.getInstance();year = calendar.get(Calendar.YEAR);month = calendar.get(Calendar.MONTH) + 1;date = calendar.get(Calendar.DAY_OF_MONTH);hour = calendar.get(Calendar.HOUR_OF_DAY);minute = calendar.get(Calendar.MINUTE);second = calendar.get(Calendar.SECOND);}/***构造方法使用指定年、月、日初始化对象*/public MyDate(int year, int month, int date){set(year, month, date);}/***构造方法使用指定年、月、日、时、分、秒初始化对象*/public MyDate(int year, int month, int date, int hourOfDay, int minute, int second){set(year, month, date, hourOfDay, minute, second);}/***设置日历字段year、month和date的值。

java课后答案(整理)

java课后答案(整理)

2-2.Java语言的基本数据类型有哪些?引用数据类型有哪些?【答】基本数据类型有:整数类型byte、short、int、long,浮点数类型float、double,字符类型char,布尔类型boolean;引用数据类型包括数组(array)、类(class)和接口(interface)2-14.作为引用数据类型,数组变量与基本数据类型的变量使用时有哪些区别?【答】数组变量与基本数据类型变量不同点在于,存储单元的分配方式不同,两个变量之间的赋值方式也不同。

基本数据类型变量获得存储单元的方式是静态的,声明了变量后系统就为变量分配了存储单元,就可以对变量赋值。

两个变量之间的赋值是值本身。

数组变量的引用赋值,数组变量保存的是数组的引用,即数组占用的一片连续存储空间的首地址及长度特性。

当声明一个数字变量而未申请空间时,变量是未初始化的,没有地址及特性值。

只有申请了存储空间,才能以下标表示数组元素。

3-1 什么是类?什么是对象?他们之间的关系是怎样的?【答】在面向对象的概念中,类是既包括数据又包括作用于数据的一组操作的封装体。

类中的数据称为成员变量,类中的数据操作称为成员方法。

类中的成员变量和成员方法统称为类的成员。

对象是类的实例。

对象与类的关系就像变量与数据类型的关系一样。

是抽象与具体,模板与实例的关系,类是抽象的、是模板,对象是具体的、是实例。

3-2 作为引用数据类型,对象在赋值和方法的参数传递方面与基本数据类型的变量有什么不同?【答】作为引用数据类型,两个对象之间的赋值是引用赋值,对象可被赋值为null。

具体可参见课本第三章图3.1的(d)。

方法声明中形式参数的数据类型,既可以是基本数据类型,也可以是引用数据类型。

如果形式参数的数据类型是基本数据类型,则实际参数向形式参数传递的是值;如果形参的数据类型是引用数据类型,则实参向形参传递的是引用。

同样,方法返回值的数据类型,既可以是基本数据类型,也可以是引用数据类型,两者分别传递值和引用。

Java异常处理课后作业

Java异常处理课后作业
public static void main(String[] a) {
int i=0, j=1, k; //k=i/j;
try {
k = i/j; // Causes division-by-zero exception //throw new Exception("Hello.Exception!"); }
动手动脑:多层的异常捕获-1
动手动脑:多层的异常捕获-2
动手动脑2:
当有多层嵌套的finally时,异常在不同的层次抛出,在不同的位置抛出,可能会导致不同的finally语句块执行顺序。
动手动脑3:
当存在try中有throw new Exception(...)finally不会执行。
动手动脑4
import java.util.Scanner; public class Score { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.println("输入学生成绩(整数):"); try { int num=input.nextInt(); if(num>100) { System.out.println("超出范围!"); } else if(num<=100&&num>=90) { System.out.println("优!"); } else if(num<90&&num>=80) { System.out.println("良!"); } else if(num<80&&num>=70) { System.out.println("中!"); } else if(num<70&&num>=60) { System.out.println("及格!"); } else { System.out.println("不及格!"); }

JAVA实验报告(异常和输入输出流部分,含答案)

JAVA实验报告(异常和输入输出流部分,含答案)
super(s);
}
}
publicclassNoOprandExceptionextendsException {
publicNoOprandException(String s ){
super(s);
}
}
importjava.util.Scanner;
publicclassTest {
publicstaticvoidmain(String[] args)throwsException{
输出结果:3因j为除式,除数不能为0,属于运行异常中的ng.ArithmeticException: / by zero,不属于myname.length()>2和NullPointerException的情况,因此输出3
2.下面是一个名称为NegativeAmountException的自定义异常类,表示一个不正常的银行账目事件类。填充下面的语句,完成该类的编写。
2)在main方法中,去掉刚才添加的语句,添加下面几行语句,写出并分析结果
swap1(10,12);
System.out.println("执行swap1(10,12)后");
System.out.println("c1引用的牌是:"+c1+"\tc2引用的牌是:"+c2);
System.out.println("第11张牌是:"+cards[10]+"\t第13张牌是:"+cards[12]);
System.out.println("请输入两个数");
Scanner sc=newScanner(System.in);

java课后习题及答案

java课后习题及答案

java课后习题及答案Java课后习题及答案Java作为一门广泛应用于软件开发领域的编程语言,其学习和掌握对于计算机专业的学生来说是非常重要的。

在学习过程中,课后习题是巩固知识、提高编程能力的重要环节。

本文将为大家提供一些常见的Java课后习题及其答案,希望能对大家的学习有所帮助。

一、基础习题1. 编写一个Java程序,输出"Hello, World!"。

```javapublic class HelloWorld {public static void main(String[] args) {System.out.println("Hello, World!");}}```2. 编写一个Java程序,计算并输出1到100之间的所有偶数的和。

```javapublic class SumOfEvenNumbers {public static void main(String[] args) {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;System.out.println("1到100之间的所有偶数的和为:" + sum); }}```3. 编写一个Java程序,判断一个整数是否是素数。

```javapublic class PrimeNumber {public static void main(String[] args) {int num = 17;boolean isPrime = true;for (int i = 2; i <= Math.sqrt(num); i++) {if (num % i == 0) {isPrime = false;break;}}if (isPrime) {System.out.println(num + "是素数");} else {System.out.println(num + "不是素数");}}```二、进阶习题1. 编写一个Java程序,实现一个简单的计算器,能够进行加、减、乘、除四则运算。

java异常处理编程题

java异常处理编程题

Java异常处理编程题异常处理概述在Java编程中,异常处理是一种机制,用于捕获和处理程序运行过程中可能发生的异常情况。

异常是指在程序执行过程中发生的错误或意外情况,例如除零错误、空指针引用等。

异常处理可以提高程序的健壮性和可靠性,使程序在出现异常时能够进行适当的处理,避免程序崩溃或产生不可预知的结果。

Java中的异常是通过异常类的实例来表示的,异常类是从ng.Exception类派生的。

Java中的异常分为两种类型:受检异常(Checked Exception)和非受检异常(Unchecked Exception)。

受检异常是指在编译时需要处理的异常,必须在代码中显式捕获或声明抛出;非受检异常是指在运行时可能发生的异常,可以选择捕获处理,但不强制要求。

异常处理的语法在Java中,异常处理使用try-catch-finally语句块来实现。

try块用于包含可能抛出异常的代码,catch块用于捕获并处理异常,finally块用于定义无论是否发生异常都必须执行的代码。

try {// 可能抛出异常的代码} catch (ExceptionType1 e1) {// 处理ExceptionType1类型的异常} catch (ExceptionType2 e2) {// 处理ExceptionType2类型的异常} finally {// 无论是否发生异常都会执行的代码}在catch块中,可以根据需要捕获不同类型的异常,并进行相应的处理。

多个catch块按照从上到下的顺序进行匹配,一旦匹配成功就会执行相应的处理代码。

如果没有匹配的catch块,异常将会被传递到上层调用栈中进行处理。

finally块中的代码无论是否发生异常都会执行,通常用于释放资源或进行清理操作。

finally块可以省略,但是在某些情况下,例如需要确保资源被正确关闭时,建议使用finally块。

编程题要求根据题目要求,我们需要编写一个Java程序,实现以下功能:1.读取一个文本文件的路径作为输入;2.读取文件内容,并将文件内容转换为大写形式;3.将转换后的内容写入一个新的文件。

自考Java语言程序设计(一)第八章Java异常处理及输入输出流简介课后习题

自考Java语言程序设计(一)第八章Java异常处理及输入输出流简介课后习题
/5346389)欢迎加入...欢迎交流...止不住的惊喜等着你.........
自考Java语言程序设计(一)第八章Java异常处理及输入输出流简介课后习题
八、Java异常处理及输入输出流简介
17.编写一个程序,在当前目录下创建一个子目录test,在这个新创建的子目录下创建一个文件,并把这个文件设置成只读。
18.位置指针的作用是什么?RandomAccessFile类提供了哪些方法实现对指针的控制?
19.编写一个程序,从键盘输入一串字符,统计这串字符中英文字母、数字、其他符号的字符数。
throw new Exception();
}
catch(Exception e)
{
System.out.println("catch3");
}
finally
{
System.out.println("final
说明:自定义异常类,关键是选择继承的超类——必须是Exception或者其子类。用异常代表错误,而不要再使用方法返回值。
}
finally
{ System.out.println("执行d Finally"); }
}
}
7.答:无论是出于何种原因,只要执行离开try/catch代码块,就会执行finally代码块。即无论try是否正常结束,都会执行 finally定义的最后的代码。如果try代码块中的任何代码或它的任何catch语句从方法返回,也会执行finally代码块。但本题中在try代 码块中执行了“System.exit(0);”语句,执行了这一语句后,Java虚拟机(JVM)将被终止。那么finally语句块一定不会被执行。

工学第8章Java异常处理及输入输出流简介

工学第8章Java异常处理及输入输出流简介

例8.3 捕获两种不同类型的异常。
public class ExceptionExam3 { public static void main(String args[]) { try { int i = args.length; System.out.println("i ="+i); int j=5/i; int k[]={ 1,2,3 }; k[5]=0; } catch(ArithmeticException e) { System.out.println("被零除: " + e); } catch(ArrayIndexOutOfBoundsException e) { System.out.println("Array index out of bound exception: " + e); } System.out.println("执行catch块后的语句块"); }}
例8.3运行结果如图所示
4.finally关键字的使用
try/catch/finally的基本形式如下所示: try { 可能发生异常的代码块; } catch(异常类型 异常对象名) { 异常处理代码块; } … finally { 无论是否抛出异常都要执行的代码; } 无论是出于何种原因,只要执行离开try/catch代码块,就会执行finally代 码块。即无论try是否正常结束,都会执行finally定义的最后的代码。
public void troublesome() throws Exception 其中,关键字throws之后是所有异常的列表,方法 可以将它们抛回到它的调用程序中。
8.2.1 try/catch/finally

java实验11 输入输出流 - 答案

java实验11 输入输出流 - 答案

实验输入输出流一、实验目的1、掌握文件字节流的用法;2、掌握文件字符流的用法;3、掌握缓冲流的用法;二、实验内容与步骤1、编写程序,实现将诗句写入c:\小池.txt文件中,然后再从该文件中读出并打印输出。

宋诗《小池》作者:杨万里泉眼无声惜细流,树荫照水弄轻柔。

小荷才露尖尖角,早有蜻蜓立上头。

import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.Scanner;public class PoemWrite {public static void main(String[] args) {Scanner reader=new Scanner(System.in);String s;try{FileWriter outOne=new FileWriter("c:\\小池.txt");BufferedWriter outTwo=new BufferedWriter(outOne);while(!(s=reader.nextLine()).equals("0")){outTwo.write(s);outTwo.newLine();}outTwo.flush();outTwo.close();outOne.close();FileReader inOne=new FileReader("c:\\小池.txt");BufferedReader inTwo=new BufferedReader(inOne);while((s=inTwo.readLine())!=null){System.out.println(s);}inOne.close();inTwo.close();}catch(IOException e){System.out.println(e.getMessage());}}}2、分别使用FileWriter和BufferedWriter向文件写入十万个字符,比较用时的多少。

实验四Java输入、输出和异常处理

实验四Java输入、输出和异常处理

实验四Java输入、输出和异常处理实验四Java输入、输出和异常处理一、实验目的1.了解I/O流的使用;2.掌握常见的输入/输出流类及其主要方法。

3.熟悉S y s t e m类,掌握标准输入/输出。

4.学会利用Try-catch-finally语句来捕获和处理异常;5.掌握自定义异常类的方法。

二、实验要求1.使用标准数据流的应用程序。

2.使用文件输入输出流的应用程序。

3.通过编程理解系统异常处理的机制和创建自定义异常的方法。

三、实验内容(一)使用标准数据流的应用程序标准数据流指在字符方式下(如D O S提示符)程序与系统进行输入输出的方式,键盘和显示器屏幕是标准输入输出设备,数据输入的起点为键盘,数据输出的终点是屏幕,输出的数据可以在屏幕上显示出来。

1.程序功能:将键盘上输入的字符在屏幕上显示出来。

2.编写S Y4_1.j a v a程序文件,源代码如下:c l a s s S Y4_1{p u b l i c s t a t i c v o i d m a i n(S t r i n g[]a rg s)t h r o w s j a v a.i o.I O E x c e p t i o n {b y t e b u ff e r[]=n e w b y t e[10];S y s t e m.o u t.p r i n t l n("从键盘输入不超过10个字符,按回车键结束输入:");i n t c o u n t=S y s t e m.i n.r e a d(b u f f e r);//读取输入的字符并存放在缓冲区b u ff e r中S y s t e m.o u t.p r i n t l n("保存在缓冲区b u ff e r中元素的个数为:"+c o u n t);S y s t e m.o u t.p r i n t l n("b u f f e r中各元素的值为:");f o r(i n t i=0;i<="" u="">S y s t e m.o u t.p r i n t(""+b u ff e r[i]);//在屏幕上显示b u ff e r 元素的值}S y s t e m.o u t.p r i n t l n();S y s t e m.o u t.p r i n t l n("输出b u ff e r字符元素:");S y s t e m.o u t.w r i t e(b u ff e r,0,b u f f e r.l e n g t h);}}3.编译、运行S Y4_1.j a v a文件。

5Java第五单元练习题-输入流与输出流

5Java第五单元练习题-输入流与输出流

5Java输入流与输出流5.1单项选择题1.实现字符流的写操作类是()。

A.FileReader B.Writer C.FileInputStream D.FileOutputStream2. 实现字符流的读操作类是()。

A.FileReader B.Writer C.FileInputStream D.FileOutputStream 3.凡是从中央处理器流向外部设备的数据流称为()A. 文件流B. 字符流C. 输入流D. 输出流4.构造BufferedInputStream的合适参数是哪一个?()A.FileInputStream B.BufferedOutputStreamC.File D.FileOuterStream5.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上()语句。

A.import java.awt.* ; B.import java.applet.Applet ;C.import java.io.* ; D.import java.awt.Graphics ; 6.下列流中哪个不属于字符流?()A.InputStreamReader B.BufferedReader C.FilterReader D.FileInputStream7.流的传递方式是()A. 并行的B. 串行的C. 并行和串行D. 以上都不对8.字符流与字节流的区别在于()A.前者带有缓冲,后者没有B.前者是块读写,后者是字节读写C. 二者没有区别,可以互换使用D. 每次读写的字节数不同9.下列流中哪个不属于字节流()A.FileInputStreamB.BufferedInputStreamC. FilterInputStreamD. InputStreamReader10.如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()A.FileInputStream B.FileOutputStreamC.DataOutputStream D.FileWriter11. 下列哪一个import命令可以使我们在程序中创建输入/输出流对象()A.import java.sql.*; B.import java.util.*;C.import java.io.*; D.import .*;12.下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。

java课后习题答案及部分作业答案

java课后习题答案及部分作业答案

第一章Java概述一、选择题1、下面哪个是在Dos命令提示符下编译Java程序的命令?(A )A. javacB. javaC. javadocD. javaw2、以下哪些是Java程序中有效的注释符号?(ABC )A. //B. /* */C. /** */D. */ */3、以下哪个不是Java语言的特点?(B )A. 面向对象B. 自动检查语法错误C. 跨平台D. 解释执行4、Java编译器会将Java程序转换为(C )A. 可执行代码B. 目标代码C. 字节码D. 机器代码5、Java源文件的扩展名是(D )A. .classB. .jarC. .javD. .java二、简答题1、Java的跨平台的含义是什么?为什么Java可以跨平台?Java语言的一个非常重要的特点就是平台无关性。

它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。

Java之所以能平台无关,主要是依靠Java虚拟机(JVM)来实现的。

JVM是一种抽象机器,它附着在具体操作系统之上,本身具有一套虚机器指令,并有自己的栈、寄存器组等。

Java编程人员在编写完Java程序后,Java编译器将Java源代码文件编译后生成字节码文件2、简述Java语言的特点Java具有以下特点:1)、简单性Java语言的语法规则和C语言非常相似,只有很少一部分不同于C语言,并且Java还舍弃了C语言中复杂的数据类型(如:指针和结构体),因此很容易入门和掌握。

2)、可靠性和安全性Java从源代码到最终运行经历了一次编译和一次解释,每次都有进行检查,比其它只进行一次编译检查的编程语言具有更高的可靠性和安全性。

3)、面向对象Java是一种完全面向的编程语言,因此它具有面向对象编程语言都拥有的封装、继承和多态三大特点。

4)、平台无关和解释执行Java语言的一个非常重要的特点就是平台无关性。

它是指用Java编写的应用程序编译后不用修改就可在不同的操作系统平台上运行。

JAVA第八章课后习题解答

JAVA第八章课后习题解答
4
sb.append('\n'); }
} catch (Exception e) { e.printStackTrace(); } //显示 System.out.println(sb.toString()); } public void copy(){ try { FileWriter fw=new FileWriter(fileCopy); BufferedWriter bw=new BufferedWriter(fw); //写数据流 bw.write(sb.toString(),0,sb.toString().length()); bw.flush(); } catch (Exception e) { e.printStackTrace(); } } //test public static void main(String[] args){ FileDisplayAndCopy fda=new FileDisplayAndCopy("d:\\a.txt","d:\\b.txt"); fda.display(); fda.copy(); } } 【8】建立一个文本文件,输入一段短文,编写一个程序,统计文件中字符的个数,并将结 果写入另一个文件 [解答]: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; /** * 统计文件中字符的个数,并将结果写入另一个文件 */ public class FileCharCounter {
数据可以是未经加工的原始二进制数据也可以是经一定编码处理后符合某种格式规定的特定数据java据流有字节流和字符流之分

计算机二级java复习题库

计算机二级java复习题库

计算机二级java复习题库在准备计算机二级Java考试时,考生需要对Java语言的基础概念、语法、面向对象编程、异常处理、集合框架、多线程以及输入输出流等有深入的理解和掌握。

以下是一些复习题,可以帮助考生检验自己的学习效果。

1. Java基础概念- 简述Java语言的特点。

- 描述Java虚拟机(JVM)的作用。

- 说明Java中的“一次编译,到处运行”是如何实现的。

2. Java数据类型和运算符- 列举Java的基本数据类型,并说明它们在内存中的存储大小。

- 描述Java中的运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符。

3. 控制语句- 说明if-else语句和switch-case语句的区别。

- 描述循环语句for、while和do-while的用法和区别。

4. 数组和字符串- 阐述Java中数组的声明、初始化和访问方式。

- 描述字符串的不可变性及其对性能的影响。

5. 面向对象编程- 简述面向对象编程的三大特性:封装、继承和多态。

- 描述Java中类和对象的关系,以及如何创建和使用对象。

6. 类和接口- 说明Java中类和对象的基本概念。

- 描述接口的作用及其与抽象类的区别。

7. 异常处理- 描述Java中异常的分类和处理机制。

- 说明如何使用try-catch-finally语句块处理异常。

8. 集合框架- 简述Java集合框架的组成,包括List、Set、Map等。

- 描述ArrayList、LinkedList、HashSet、TreeSet和HashMap的实现原理和使用场景。

9. 多线程- 描述Java中线程的创建方式和生命周期。

- 说明线程同步和死锁的概念及其解决方法。

10. 输入输出流- 描述Java中字节流和字符流的区别。

- 说明如何使用FileInputStream、FileOutputStream、BufferedReader和BufferedWriter等类进行文件操作。

Java-输入输出(含部分答案)

Java-输入输出(含部分答案)

Java输入输出知识点:1、文件和流的操作,理解字节流和字符流的概念2、异常处理的概念,自定义异常类一、选择题1、如果一个程序段中有多个catch,则程序会按如下哪种情况执行? ( )A)找到合适的例外类型后继续执行后面的catchB)找到每个符合条件的catch都执行一次C)找到合适的例外类型后就不再执行后面的catchD)对每个catch都执行一次2、程序员将可能发生异常的代码放在()块中,后面紧跟着一个或多个()块。

A) catch、try B) try、catchC) try、exception D) exception、try3、在Java语言中,在程序运行时会自动检查数组的下标是否越界,如果越界,会抛掷下面的异常( )A) SQLException B) IOExceptionC) ArrayIndexOutOfBoundsExcetion D) SecurityManager4、在Java中,关于捕获异常的语法try-catch-finally的下列描述哪些正确?( )A) try-catch必须配对使用B) try可以单独使用C) try-finally必须配对使用D) 在try-catch后如果定义了finally,则finally 肯定会执行5、给定下面的代码片断:public class Animal{public void Cat(){try{Method();}catch(ArrayIndexOutBoundsException e){System.out.println("Exception1");}catch(Exception e){System.out.println("Exception2");}finally{System.out.println("Hello World!!");}}public void Method(){//...}public static void main(String[] args){Animal.Ani=new Animal ();Ani. Cat ();}}如果函数method正常运行并返回,会显示下面的哪些信息?( )A) Hello World B) Exception1C) Exception2 D) Hello World!!6、如果下列的方法能够正常运行,在控制台上将显示什么?( )public void example(){try{unsafe();System.out.println("Test1");}catch(SafeException e){System.out.println("Test 2");}finally{System.out.println("Test 3");}System.out.println("Test 4");}A) Test 1 B) Test 2C) Test 3 D) Test 47、以下哪一项不是File类的功能: ( )A) 创建文件B) 创建目录C) 删除文件D) 拷贝文件2、下面哪个不是InputStream类中的方法: ( )A) int read(byte[]) B) void flush()C) void close() D) int available()8、构造BufferedInputStream的合适参数是哪个?A) BufferedInputStream B) BufferedOutputStreamC) FileInputStream D) FileOuterStreamE) File9、要从文件" file.dat"文件中读出第10个字节到变量C中,下列哪个方法适合? ( )A) FileInputStream in=new FileInputStream("file.dat");in.skip(9); intc=in.read();B) FileInputStream in=new FileInputStream("file.dat"); in.skip(10); intc=in.read();C) FileInputStream in=new FileInputStream("file.dat"); int c=in.read();D) RandomAccessFile in=new RandomAccessFile("file.dat"); in.skip(9);int c=in.readByte();10、以下程序发生什么异常?class A {int x;public static void main {A x;System.out.println(x.x);}}A. IOExceptionB. InterruptExceptionC. NullPointerExceptionD. DataFormatException11、设有如下方法:public void test() {try {oneMethod();System.out.println("condition 1");} catch (ArrayIndexOutOfBoundsException e) {System.out.println("condition 2");} catch(Exception e) {System.out.println("condition 3");} finally {System.out.println("finally");}}如果oneMethod正常运行,则输出结果中有哪些?A. condition 1B. condition 2C. condition 3D. finally12、设有如下代码:public void fun () {int i;try{i=System.in.read ();System.out.println("Location 1");} catch (IOException e) {System.out.println("Location 2");} finally {System.out.println("Location 3");}System.out.println("Location 4");}如果有一个IOException发生, 则输出有哪些?A. Location 1B. Location 2C. Location 3D. Location 413、设有如下代码:1 String s = null;2 if ( s != null & s.length() > 0)3 System.out.println("s != null & s.length() > 0");4 if ( s != null && s.length() > 0)5 System.out.println("s != null & s.length() > 0");6 if ( s != null || s.length() > 0)7 System.out.println("s != null & s.length() > 0");8 if ( s != null | s.length() > 0)9 System.out.println("s != null | s.length() > 0"); 以下行中哪些会产生空指针异常。

自考Java语言程序设计(一)课后习题

自考Java语言程序设计(一)课后习题

自考Java语言程序设计(一)课后习题自考java语言程序设计(一)课后习题及答案自考java语言程序设计(一)第一章java语言概述课后习题一、java语言概述1.java语言存有哪些特点?答:面向对象、简单、平台无关性、安全性、内存管理、分布式应用、多线程、动态、解释运行,高效能2.什么叫作类?什么叫作对象?答:在面向对象编程中,具体的客观实体称为对象,对象就是数据加方法。

对象在程序中是通过一种抽象数据类型来描述的,这种抽象数据类型称为类。

类是对具有相同属性和方法的一组相似对象的抽象,或者说类是对象的模板。

3.详述java的运行机制。

答:java程序的运行必须经过编写、编译、运行三个步骤。

编写是指在java开发环境中进行程序代码的输入过程,最终形成后缀名为.java源文件。

编译是指使用java编译器对源文件进行错误排查的过程,编译后将生成后缀名为.class的字节码文件。

运行是指使用java解释器将字节码文件翻译成机器代码,在cpu上运行并显示结果的过程。

这一过程如图所示。

4.详述java应用程序的研发流程。

答:java应用程序的运行经过编写、编译、运行三个步骤。

第1步,编写程序。

采用记事本或其他软件编写程序的源代码,将源代码留存为文件filename.java文件。

第2步,编译程序。

在ms-dos命令窗口,将当前目录转换到java源程序所在的保存目录;输入“javame.java”形式的命令进行程序编译。

第3步,执行程序。

在同样的命令窗口中输出“javame”形式的命令执行程序。

来源:考试小完成了程序的开发,查看相应t目录,其中应该具有两个文件,分别是xxxx.java和xxxx.class。

考试大收集整理c5.当初sun公司发展java的原因就是:(a)必须发展航空仿真软件(b)必须发展人工智能软件(c)必须发展消费性电子产品b6.java是从哪种语言改进并重新设计?(a)ade(b)c++(c)pascala7.java因为什么快速发展而爆红?(a)个人计算机与网络(b)游戏软件(c)系统软件8.java程序的种类存有:(a)内嵌于web文件中,由浏览器来观看的___applet_______(b)可独立运行的_____application_____考试大论坛(c)服务器端的____servlets_____9.java就是面向对象语言,对象就是客观事物的__软件模型__,对象与之是一一对应的,它是很具体的概念。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自考Java语言程序设计(一)第八章Java异常处理及输入输出流简介课后习题
八、Java异常处理及输入输出流简介
1.列出5个常见的异常。
2.写出Java语言的异常处理机制的优点。
3.为什么异常处理技术不应该用于常规的程序控制?
4.引起异常产生的条件是什么?
5.异常没有被捕获将会发生什么?
{
try
{
thห้องสมุดไป่ตู้ow new Excp2();
}
catch(Excp2 e)
{
System.out.println("catch1");
throw new Excp1();
}
catch(Excp1 e)
{
System.out.println("catch2");
12.
class Excp1 extends Exception{}
class Excp2 extends Excp1 {}
public class ExceptionExam7
{
public static void main(String [] args) throws Exception
10.答:ExceptionExam不是继承(扩展)Throwable的子类,只有Throwable的子类可以由throw抛出。所以,这一段代码会出错。
11.
public class ExceptionExam1
{
public static void main(String [] args)
{
try
{int i=0;
i=3/i;
}
catch(ArithmeticException e)
{
System.out.println("异常是:"+e.getMessage());
}
finally
{
System.out.println("finally 语句被执行");
8.答:在某些情况下,如果一个方法产生自己不处理或无法处理的异常,它就必须在throws子句中声明该异常。
9.答:通常,可以采用两种方式来报告错误:返回值和异常。在Java中异常处理很常用,虽然返回错误代码在某些情况下是一种有效的方式,但是异常处理可以提供强大的结构化方法来处理异常。所以需要处理代码中的错误时就可以采用异常的方法进行处理。
}
}
8.throws的作用是什么?
9.应在程序的什么地方使用异常处理?
10.下面的代码有什么错误吗?
class ExceptionExam{…}
throw new ExceptionExam();
11.异常类型匹配的处理方式。程序功能:首先输出“这是一个异常处理的例子”,然后在你程序中主动地产生一个 ArithmeticException 类型被0 除而产生的异常,并用catch 语句捕获这个异常。最后通过ArithmeticException类的对象e的方法getMessage 给出异常的具体类型并显示出来。
try
{
int [] a=new int[3];
System.exit(0);
}
catch(ArrayIndexOutOfBoundsException e)
{System.out.println("发生了异常");}
finally
{System.out.println("Finally");}
}
}
}
注意:如果在catch 语句中声明的异常类是Exception,catch 语句也能正确地捕获,这是因为Exception 是ArithmeticException 的父类。如果不能确定会发生哪种情况的异常,那么最好指定catch的参数为Exception,即说明异常的类型为Exception。
System.out.println("发生了ArithmeticException异常");
}
catch(AarryIndexOutOfBoundsException e)//不是匹配的异常,且不会再捕获
//异常,如果发生数组索引超出范围所产生的异常,将执行该catch块。
12.根据所给创建自定义异常类的使用格式,编写一个自定义异常的小程序。
13.什么叫流?流式输入输出有什么特点?
14.Java流被分为字节流、字符流两大流类,两者有什么区别?
15.File类有哪些构造函数和常用方法?
16.利用文件输入输出流编写一个实现文件拷贝的程序,源文件名和目标文件名通过命令行参数传入。
class CopyFile{
public static void main(String[] args) {
String file1,file2 ;
int ch = 0 ;
try {
file1=args[0];
file2=args[1];
File无效Stream fis = new File无效Stream(file1);
FileOutputStream fos=new FileOutputStream(file2);
while ((ch=fis.read())!=-1)
fos.write(ch);
fis.close();
14.答:两者都作为Object类的直接子类,基本输入流(无效Stream)和基本输出流(OutputStream)是处理以8位字节为基本单位的字节流类;Reader和Writer类是专门处理16位字符流的类。
15.答:构造函数有:
(1)public File(String pathname):创建一个对应于参数pathname的File类对象。参数pathname是包含目录和文件名的字符串。如果没有文件名,则代表目录。
(2)public File(String parent , String child):该构造函数将pathname分成两部分parent和child,参数parent表示目录或文件所在路径,参数child表示目录或文件名称。
(3)public File(File parent, String child):该构造函数与上面一个不同在于将parent的参数类型由String变为File,代表parent是一个已经创建的File类文件对象(指向目录)。
}
finally
{ System.out.println("执行d Finally"); }
}
}
7.答:无论是出于何种原因,只要执行离开try/catch代码块,就会执行finally代码块。即无论try是否正常结束,都会执行 finally定义的最后的代码。如果try代码块中的任何代码或它的任何catch语句从方法返回,也会执行finally代码块。但本题中在try代 码块中执行了“System.exit(0);”语句,执行了这一语句后,Java虚拟机(JVM)将被终止。那么finally语句块一定不会被执行。
4.答:异常产生的方式有3种。第一种是在某些内部错误时,Java虚拟机可以产生异常,该异常不在你的程序控制范围内,通常不作处理。第二种是由程序代码中的错误引起,这种异常需要你的程序处理。第三种是通过使用throw语句手动生成的异常。
5.答:未捕获的异常最终会导致程序非正常终止。
6.public class ExceptionExam
{
public static void main(String [] args)
{
try
{
int i=0;
i=3/i;//将产生算术异常。
}
catch(ArithmeticException e)//找到了匹配的异常,执行该catch块。
{
13.答:所谓流是指同一台计算机或网络中不同计算机之间有序运动着的数据序列,Java把这些不同来源和目标的数据都统一抽象为数据流。数据流可分为输入流和输出流,输入流代表从其他设备流入计算机的数据序列,输出流代表从计算机流向外部设备的数据序列。
流式输入输出的特点是数据的获取和发送沿数据序列的顺序进行,即每一个数据都必须等待排在它前面的数据,等前面的数据读入或送出之后才能被读写。所以流和队列一样,只能以“先进先出”的方式对其中的数据进行读写,而不能随意选择读写的位置。
3.答:a. 异常处理用于不经常发生但通常导致程序终止的情况,因此要求编程人员为编译器的优化执行实现异常处理。b. 常规控制结构的控制流程通常比异常的更为清晰、交流更高。c. 在发生异常,并且没有释放异常发生之前分配的资源时,堆栈是展开的,所以会出现一些问题。d.“额外的”异常会妨碍真正错误类型的异常。这种使程序员更难 以跟踪大量的异常。
throw new Exception();
}
catch(Exception e)
{
System.out.println("catch3");
}
finally
{
System.out.println("finally");
}
}
}
说明:自定义异常类,关键是选择继承的超类——必须是Exception或者其子类。用异常代表错误,而不要再使用方法返回值。
6.编写一个程序,以说明catch(Exception e)如何捕获各种异常。
7.下面的代码段中finally语句块会被执行吗?
public class ExceptionExam3
相关文档
最新文档