A.Test 1 D. Test 4
B. Test 2 C.Test 3
三、判断题
1.捕获异常try语句后面通常跟有一个或多个catch()方法用来处理try块内生成的异常事件。( √ )
2.使用try-catch-finally语句只能捕获一个异常。( × ) 3.try-catch语句不可以嵌套使用。( × )
4.Error类所定义的异常是无法捕获的。( √ )
5.IOException异常是非运行时异常,必须在程序中抛弃或捕获。( √ )
6.用户自定义异常类是通过继承Throwable类来创建的。( × ) 7.当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。( √ ) 四、程序填空
public class ServerTimedOutException extends Exception {
private int port;
public ServerTimedOutException(String message, int port) { super(message); this.port = port; }
public int getPort() { return port;
} }
class Client {// 在下行横线处填上声明抛弃ServerTimedOutException例外的语句 }
public void connectMe(String serverName) ______________________ { int success;
int portToConnect = 80;
success = open(serverName, portToConnect); if (success == -1) { } }
private int open(String serverName, int portToConnect) { return 0; }
// 在下行横线处填上抛出ServerTimedOutException例外的语句 _______________________________________
五、编程题
1.编写一个程序,从键盘读入5个整数存储在数组中,要求在程序中处理数组越界的异常。
2.编写Java Aplication,求解从命令行以参数形式读入两个数之积,若缺少操作数或运算符,则抛出自定义异常OnlyOneException与NoOperationException并退出程序。
3.编写一个简单的计算器程序,能够计算两个变量进行四则运算的结果。在计算中及时捕获各种算术异常,保证在输入各种数字的时候程序才能够计算出结果。
4.定义一个邮件地址异常类,当用户输入的邮件地址不合法时,抛出异常(其中邮件地址的合法格式为**** @****,也就是说必须是在@符号左右出现一个或多个其他字符的字符串)。
第9章 Java多线程技术
习 题 九
一、简答题
1.线程与进程有什么关系?
2.线程有几种状态,引起线程中断的主要原因有哪些?
3.一个线程执行完run()方法后,进入了什么状态?该线程还能再调用start()方法吗?
4.建立线程的方法有哪几种?Runnable接口在线程创建中的作用? 5.Runnable接口中包括哪些抽象方法?Thread类有哪些主要的成员变量和方法?
6.线程在什么样的状态时,调用isAlive()方法返回的值是false? 7.在多线程中引入同步机制的原因是什么?
8.在什么方法中可以使用wait()、notify()及notifyAll()方法? 9.线程调用interrupt()的作用是什么?线程什么时候会发生死锁? 10.线程联合有什么功能?线程分为哪两类? 二、选择题
1.运行下列程序,会产生什么结果?( A )
1) public class Exercises3_1 extends Thread implements runable {
2) public void run() {
3) System.out.println(\4) }
5) public static void main(String args[]) {
6) Thread t = new Thread(new Exercises3_1()); 7) t.start();
8) } 9) }
A.第一行会产生编译错误 B.第六行会产生编译错误 C.第六行会产生运行错误 D.程序会运行和启动
2.线程在生命周期中要经历五种状态,若线程当前是新建状态,则它可以到达的下一个状态是( B )。
A.运行状态 B.可运行状态 C.阻塞状态 D.终止状态 3.下列关于Java多线程并发控制机制的叙述中,错误的是( D )。 A.Java中没有提供检测与避免死锁的专门机制,但应用程序可以采用某些策略防止死锁的发生
B.共享数据的访问权限都必须定义为private
C.Java中对共享数据操作的并发控制是采用加锁技术 D.线程之间的交互,提倡采用suspend()/resume()方法 4.哪个关键字可以对对象加互斥锁?( C )
A.transient B.serialize C.synchronized D.static
5.下面哪些方法可用于创建一个可运行的多线程类?( AB )
A.public class T implements Runable { public void run(){ ?} } B.public class T extends Thread { public void run(){ ?} } C.public class T implements Thread { public void run(){?} } D.public class T implements Thread { public int run(){?.} }
E.public class T implements Runable { protected void run(){?} } 6.下面哪些方法可以在任何时候被任何线程调用?( ABC )
A.sleep() B.yield() C.synchronized(this) D.notify() E.wait() F.notifyAll()
7.下列哪些情况可以终止当前线程的运行?( BCD )
A.当创建一个新线程时 B.当该线程调用sleep()方法时
C.抛出一个异常时 D.当一个优先级高的线程进入就绪状态时 三、判断题
1.一个Java多线程的程序不论在什么计算机上运行,其结果始终是一样的。( × )
2.Java线程有五种不同的状态,这五种状态中的任何两种状态之间都可以相互转换。( × )
3.所谓线程同步就是若干个线程都需要使用同一个synchronized修饰的方法。( √ )
4.使用Thread子类创建线程的优点是可以在子类中增加新的成员变量,使线程具有某种属性,也可以在子类中新增加方法,使线程具有某种功能。但是,Java不支持多继承,Thread类的子类不能再扩展其他的类。( √ )
5.Java虚拟机(JVM)中的线程调度器负责管理线程,调度器把线程的优先级分为10个级别,分别用Thread类中的类常量表示。每个Java线程的优先级都在常数1和10之间,即Thread.MIN_PRIORITY和Thread.MAX_PRIORITY之间。如果没有明确地设置线程的优先级别,每个线程的优先级都为常数8。( × )
6.当线程类所定义的run( )方法执行完毕,线程的运行就会终止。( √ )
7.线程的启动是通过引用其start()方法而实现的。( √ ) 四、编程题
1.请采用实现Runnable接口的多线程技术,用50个线程,生成10000个[1-1000]间的随机整数。
2.运用多线程技术在上下分割的两个窗口中,分别从左到右与从右到左移动字符串。
第10章 Java输入输出技术
习 题 十
一、简答题
1.什么叫流?简述流的分类。
2.能否将一个对象写入一个随机访问文件?
3.BufferedReader流能直接指向一个文件对象吗?为什么? 4.字节流和字符流之间有什么区别?
5.简述可以用哪几种方法对文件进行读写。
6.从字节流到字符流的转化过程中,有哪些注意事项? 二、选择题
1.实现字符流的写操作类是( B ),实现字符流的读操作类是( A )。
A.FileReader B.Writer C.FileInputStream D.FileOutputStream
2.要从“file.dat”文件中读出第10个字节到变量c中,下列哪个方法适合? ( C )
A.FileInputStream in=new FileInputStream(\ead();
B.RandomAccessFile in=new RandomAccessFile(\(9); int c=in.readByte();
C.FileInputStream in=new FileInputStream(\ int c=in.read();
D.FileInputStream in=new FileInputStream(\ int c=in.read();
3.构造BufferedInputStream的合适参数是哪些?( AC )
A.BufferedInputStream B.BufferedOutputStream C.FileInputStream
D.FileOuterStream E.File
4.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( C )语句。
A.import java.awt.* ; B.import java.applet.Applet ;
C.import java.io.* ; D.import java.awt.Graphics ;
5.下列流中哪个不属于字符流?( D )
A.InputStreamReader B.BufferedReader C.FilterReader D.FileInputStream 6.字符流与字节流的区别在于( D )。
A.前者带有缓冲,后者没有 B.前者是块读写,后者是字节读写 C.二者没有区别,可以互换使用 D.每次读写的字节数不同 三、判断题
1.文件缓冲流的作用是提高文件的读/写效率。( √ ) 2.通过File类可对文件属性进行修改。( √ ) 3.IOException必须被捕获或抛出。( √ )
4.Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出System.out和标准错误输出System.err。( √ )
5.对象串行化机制是指将程序中对象的状态转化为一个字节流,存储在文件中。( √ )
6.Serializable接口是个空接口,它只是一个表示对象可以串行化的特殊标记。( √ ) 四、编程题
1.使用File类列出某一个目录下创建日期晚于2007-8-10的文件。 2.使用File类创建一个多层目录d:\\java\\ch10\\src。 3.读取一个Java源程序,输出并统计其中所用的关键字。
4.编写应用程序,使用文件输出流向文件中分别写入如下类型的数据:int、double和字符串。
5.编写应用程序,列出指定目录下的所有文件和目录名,然后将该目录下的所有文件后缀名为.txt的文件过滤出来显示在屏幕上。
6.写一程序,读入命令行第一个参数指定的文本文件,将其所有字符转换为大写后写入第二个参数指定的文件中。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库Java习题解答(7)在线全文阅读。
相关推荐: