java期末选择判断题目的复习【异常处理+ 线程+IO流与文件操作】

第7章 异常处理

一.单选题(共4题,50.0分)

1、对于catch子句的排列,下列哪种是正确的(  )

A、 父类在先,子类在后

B、 子类在先,父类在后

C、 有继承关系的异常不能在同一个try程序段内

D、 先有子类,其他如何排列都无关

正确答案: B
2 、当方法遇到异常又不知如何处理时,下列哪种说法是正确的(  )

A、 捕获异常

B、 抛出异常

C、 声明异常

D、 嵌套异常

正确答案: C
3 、在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成。

A、 try子句

B、 catch子句

C、 finally子句

D、 throw子句

正确答案: C
4 、一个异常将终止(  )

A、 整个程序

B、 叧终止抛出异常的方法

C、 产生异常的try块

D、 上面的说法都不对

正确答案: A

二.判断题(共4题,50.0分)

1 、程序中抛出异常时(throw),只能抛出自己定义的异常对象。

正确答案:×
2 、一个异常处理中finally语句块只能有一个或者可以没有。

正确答案:√
3 、异常类对象代表当前出现的一个具体异常。

正确答案:√
4、 如果异常发生时,没有捕获异常的代码,程序会正常执行。

正确答案:×

第8章 线程

一.单选题(共3题,37.5分)

1 、如下代码创建一个新线程并启动线程,问:四个选项中可以保证正确代码创建target对象,并能编译正确的是?

public static void main(String[] args) {

      Runnable target=new MyRunnable( ); 

      Thread myThread=new Thread(target);

}

A、 public class MyRunnable extends Runnable {

     public void run( ) {        }

}

B、 ublic class MyRunnable extends Runnable {

     void run( ) {  }

}

C、 public class MyRunnable implements Runnable {

     public void run( ) {        }

}

D、 public class MyRunnable implements Runnable {

     void run( ) { }

}

正确答案: C

(Runnable为接口,D答案不能重写run方法。)

2 、当线程调用start( )后,其所处状态为( )?

A、 阻塞状态

B、 运行状态

C、 就绪状态

D、 新建状态

正确答案: C
3、用()方法可以改变线程的优先级。
A、 run

B、 setPrority

C、 yield

D、 sleep
正确答案: B

二.多选题(共1题,12.5分)

1、以下选项中可以填写到横线处,让代码正确编译和运行的是? public class Test implements Runnable {

     public static void main(String[] args) {

               ___________________________________

               t.start();

               System.out.println("main");

     }

     public void run() {

               System.out.println("thread1!");

     }

}

A、Thread t = new Thread(new Test());

B、 Test t = new Test();

C、 Thread t = new Test();

D、 Thread t = new Thread();

正确答案: AD

( A选项能有输出thread1! D选项没有输出 建立一个空内容的线程)

三.判断题(共4题,50.0分)

1、进程是线程Thread内部的一个执行单元,它是程序中一个单一顺序控制流程。
正确答案:×
2、线程的优先级是10,B线程的优先级是1,那么当进行调度时一定会先调用A。
正确答案:×
3、Thread类实现了Runnable接口。
正确答案:√
4、一个线程可以调用yield方法使其他线程有机会运行。
正确答案:√

第9章 IO流与文件操作

一.单选题

以下能够正确描述,C:/a/b,路径的输出是

String p1 = “C:/”; String p2 = “a”; String p3 = “b”;

A System.out.println(p1 + p2 + p3);

B System.out.println(Path.of(p1 + p2 + p3));

C System.out.println(Path.of(p1).resolve(p2).resolve(p3));

D System.out.println(Path.of(p3).resolve(p2).resolve(p1));

二.判断题(共10题,83.0分)

1 Java中的资源对象与创建的普通对象不同,不会在失去引用后自动销毁
,需要手动关闭,所以衍生出可以自动关闭文件的子类
2 在try语句内创建的任何对象,在try块结束后直接销毁

3 如果在try-with-resources语句的try代码块内引发异常,先执行catch块处理异常以及finally块后,关闭资源

4 InputStream的read(byte[] b)方法,当流中字节数多于字节数组缓冲区容量时,将抛出异常

5 InputStream的read(byte[] b)方法,当流中没有字节时返回0
,返回-1
6 OutputStream的write(byte[] b)方法,会将字节数组缓冲区中的全部字节写入输出流

7 FileOutputStream是OutputStream接口的一个实现类
,OutputStream是一个抽象类,FileOutputStream为其子类

8 Java的Path是用以描述路径的抽象类

> 9 Path仅能用于描述路径,无法描述文件名称

10 Path不依赖于实际运行的操作系统,屏蔽了不同操作系统路径描述符的差异

三.简答题(共1题,8.7分)
1、编写一个方法,传入输入源文件路径,以及输出源文件路径。路径为包含了文件路径/名称/扩展名,的字符串描述可以是文本文件或任何类型文件。
方法实现:基于基本字节数组缓冲区的IO流操作,基于指定输入源/输出源复制文件;资源必须被正确关闭;异常在方法内处理;无需考虑目录不存在问题
(过滤代码格式后,粘贴提交)

import java.io.IOException;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

public class test {
    public static void main(String[] args) throws IOException {
        String fileName = "C:/example/from.txt";
        String toFile = "C:/example/to.txt";
        copyByIO(fileName, toFile);
    }
    private static void copyByIO(String sourceFile, String targetFile) {
        try (InputStream input = new FileInputStream(sourceFile);
             OutputStream output = new FileOutputStream(targetFile);) {
            int size = 4;
            byte[] buffer = new byte[size];
            int len;
            while ((len = input.read(buffer)) != -1) {
                output.write(buffer, 0, len);
            }
            System.out.println("复制成功");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值