API阶段测试

API阶段测试

一、单选题

  1. 异常类都继承自java.lang包下的(C)

    • A、Error类

    • B、Exception类

    • C、Throwable类

    • D、IOError类

  2. 下列符号中,用于分隔throws关键字抛出的多个异常的是(B)

    • A、;

    • B、,

    • C、&

    • D、|

  3. FileWriter类中的read()方法读取到流末尾的返回值是(B)

    修改

    • A、0

    • B、-1

    • C、1

    • D、无返回值

  4. 下列Reader类的常用方法中,将数据直接读入字符输出流的是(D)

    • A、long transferTo(Writer out)

    • B、int read()

    • C、void close()

    • D、int read(char cbuf[])

  5. 下列File类的常用构造方法中,通过指定的一个字符串类型的文件路径创建一个 File对象的是(B)

    • A、File(String parent,String child)

    • B、File(File parent,String child)

    • C、File(String pathname)

    • D、File(File parent)

  6. 在程序开发中,经常需要对文本文件的内容进行读取。如果想从文件中直接读取字符,可以使用字符输入流(A)

    • A、Reader

    • B、Writer

    • C、FileReader

    • D、FileWriter

  7. 可以实现连接字符串的运算符是(A)

    • A、+

    • B、-

    • C、=

    • D、/

  8. File类提供了一系列方法,用于操作其内部封装的路径指向的文件或者目录。当 File对象对应的文件不存在时,将新建的 File对象指向新文件的方法是(C)

    • A、String getAbsolutePath()

    • B、boolean canRead()

    • C、boolean createNewFile()

    • D、boolean exists()

  9. 在异常处理时,进行释放资源、关闭文件等操作需要的语句是(C)。

    • A、try

    • B、catch

    • C、finally

    • D、throw

  10. 下列File类的常用方法中,返回 File对象表示的文件或目录的名称的是(B)

    • A、String[] list()

    • B、String getPath()

    • C、String getName()

    • D、String getParentFile()

  11. 下列关于StringBuffer类常用方法中,修改指定索引index处的字符序列的是(C)

    • A、String substring(int start)

    • B、StringBuffer reverse()

    • C、void setCharAt(int index,char ch)

    • D、String toString()

  12. String类中的getBytes()方法的作用是(C)

    • A、将整数变成字符串

    • B、将字符串变成字符数组

    • C、将字符串变成字节数组

    • D、获取字符串中字符的个数

  13. 下列OutputStream类的常用方法中,向输出流写入一字节得的是(D)

    • A、void flush()

    • B、void close()

    • C、void write(int b)

    • D、void write(byte[] b)

  14. 对字符串”ababcdabcdefg”使用indexOf(int ch)和lastIndexOf(int ch)的运行结果是() a b

    • A、1,1

    • B、 0,6

    • C、0,0

    • D、1,6

  15. 下列Writer类的常用方法中,强制将缓冲区的数据同步到输出流中的是(C)

    • A、void write(int c)

    • B、void write(char cbuf[])

    • C、void flush()

    • D、void close()

  16. 下列选项中,对String类的常见构造方法的功能描述错误的是(A)

    • A、String()创建一个字符串值为0

    • B、String(Stringvalue)根据指定的value创建字符串

    • C、String(char[]value)根据指定的value创建字符数组

    • D、String(byte[]bytes)根据指定的bytes创建字节数组

  17. 当访问字符串中的字符时,如果字符的索引不存在,则会发生(B)

    • A、NullPointerException

    • B、StringIndexOutOfBoundsException

    • C、ArithmeticException

    • D、NumberFormatExceptio

  18. 下列关于throws关键字的描述中,正确的是(C)

    • A、thorws可以声明在方法上也可以声明在方法体中

    • B、方法上使用throws抛出一个异常则这个方法中一定有try catch代码块

    • C、使用throws抛出多个异常时各个异常之间必须使用逗号隔开

    • D、throws必须和throw配合使用

  19. 以下关于编译异常的说法中正确的是(C)

    • A、编译异常就是指Exception类及其子类

    • B、编译异常如果产生,可以不用处理

    • C、编译异常如果产生,就必须处理,要么捕获,要么抛出

    • D、编译异常指的就是Error

  20. 关于Java常见的类和接口,下面哪项说法是正确的()

    • A、String是原始基本数据类型

    • B、HashMap不允许存放空值、空键

    • C、List接口允许重复

    • D、Set接口允许重复

  21. 以下String类的方法中,会返回指定字符ch在字符串中最后一次出现位置的索引的是(b)

    • A、int indexOf(int ch)

    • B、int lastIndexOf(int ch)

    • C、int indexOf(String str)

    • D、int lastIndexOf(String str)

  22. 关于StringBuffer和StringBuilder说法正确的是(C)

    • A、StringBuffer和StringBuilder的方法不同

    • B、StringBuffer和StringBuilder都是线程安全的

    • C、StringBuffer是线程安全的,StringBuilder不是线程安全的

    • D、StringBuffer不是线程安全的,StringBuilder是线程安全的

  23. 下面关于字节流缓冲区的说法中错误的是(C)

    • A、使用字节流缓冲区读写文件是逐字节读写

    • B、使用字节流缓冲区读写文件时,可以一次读取多个字节的数据

    • C、使用字节流缓冲区读写文件,可以大大提高文件的读写操作效率

    • D、字节流缓冲区就是一块内存,用于暂时存放输入输出的数据

  24. 使用自定义的异常类,需要用到的关键字是(B)

    • A、try

    • B、catch

    • C、finally

    • D、throw

  25. 下列File类的常用方法中,判断File对象对应的文件或目录是否是绝对路径的是(B)

    • A、boolean canWrite()

    • B、boolean isAbsolute()

    • C、boolean isFile()

    • D、boolean isDirectory()

  26. 下列异常声明中正确的是(D)

    • A、public void throws IOException fun(){}

    • B、public void fun throws IOException(){}

    • C、public void fun() throws IOException{}

    • D、public void fun() throws IOException,throws SQLException{}

  27. 下列选项中,可以正确实现String初始化的是(A)

    • A、String str= "abc";

    • B、String str= a' bc';

    • C、String str= abc;

    • D、String str= 0;

  28. 下列选项中,是所有异常类的父类是(A)

    • A、Throwable

    • B、Error

    • C、Exception

    • D、RuntimeException

  29. 下面程序中运行时会报异常的是(D)

    修改

    • A、int result = 4/0;System.out.println(result)

    • B、int[] arr = new int[5];System.out.println(arr[6]);

    • C、int[] arr = new int[3];System.out.println(arr[4])

    • D、以上选项都错了

  30. 下列选项中,能成功使用使用绝对路径创建File对象得是(D)

    • A、File f = new File("D://file//a.txt");

    • B、File f = new File("D:\file\a.txt");

    • C、File f1 = new File("src\\Hello.java");

    • D、File f = new File("D:\\file\\a.txt");

  31. 下面对Throwable类常用的方法的功能描述错误的是()

    • A、String getMessage()方法返回异常的消息字符串

    • B、String toString()方法返回异常的简单信息描述

    • C、void printStackTrace()方法获取异常类名和异常信息以及异常出现在程序中的位置,把信息输出到控制台

    • D、String toString()方法返回异常的消息字符串

  32. 下列关于Writer类哪种描述是正确的()

    • A、Writer类可以使用不同的字符集编码向输出流写入字符。

    • B、Writer类可以向输出流写入unicode字符。

    • C、Writer类提供向输出流写入任何Java基本数据类型的方法。

    • D、Writer类提供向输入流写入对象类型数据的方法。

  33. 下列InputStream类的常用方法中,从输入流读取一字节(8位),把它转换为0~255的整数,并返回这一整数得是(C)

    • A、void close()

    • B、int read(byte[] b,int off, int len)

    • C、int read()

    • D、int read(byte[] b)

  34. java.io包中唯一一个可以代表磁盘文件的对象的类是(A)

    • A、File类

    • B、System类

    • C、Thread类

    • D、Date日期类

  35. Strings="oracle";则s.substring(3,4)返回的字符串是(CL)

    • A、ac

    • B、cl

    • C、a

    • D、ra

  36. 下面对处理异常的关键字描述错误的(D)

    • A、try放置可能引发异常的代码块

    • B、catch后面对应异常类型和一个代码块,该代码块用于处理这种类型的异常

    • C、throws用在方法签名中,用于声明该方法可能抛出的异常

    • D、throw用在方法签名中,用于声明该方法可能抛出的异常

  37. 下面关于throws作用的描述中,正确的是(D)

    • A、一个方法只能抛出一个异常信息

    • B、一个方法上使用throws声明一个异常说明这个方法运行时一定会抛出这个异常

    • C、throws可以声明在方法体中用来指定抛出的具体异常

    • D、throws出现在方法函数头

二、多选题

  1. 下列类是定义在java.io包中的抽象类的有(ABC)

    • A、InputStream

    • B、OutputStream

    • C、Reader

    • D、FileWriter

  2. 下列是FileOutStream类的正确构造方法形式的有()

    • A、FileOutStream(FileDescriptor fd)

    • B、FileOutStream(boolean b)

    • C、FileOutStream()

    • D、FileOutStream(File file)

  3. 下列选项中,属于运行时异常的有(ABD)

    • A、ArithmeticException

    • B、IndexOutOfBoundsException

    • C、ClassCastException

    • D、NullPointerException

  4. 程序运行中,异常是否出现,通常取决于(AD)

    • A、程序的输入

    • B、程序中对象的当前状态

    • C、程序所处的运行环境

    • D、是否对异常进行处理

  5. 下列关于字节流和字符流一些类的描述是正确的有(AB)

    • A、InputStream和OutputStream是基于字节流的。

    • B、Reader和Writer是基于字符流的。

    • C、ObjectInputStream和ObjectOutputStream是不支持序列化对象的。

    • D、Reader和Writer是支持对象序列化。

  6. 下列关于try...catch和finally的组合使用,格式正确的有(CB)

    • A、try{}

    • B、try{ }catch(ExceptionType1(Exception子类) e1){ } catch(ExceptionType2(Exception类及其子类) e2){ }

    • C、try{ }catch(ExceptionType(Exception类及其子类) e){ }finally{ }

    • D、try{ }finally{ }

  7. 下列关于FileInputStream类型说法正确的有(AC)

    • A、创建FileInputStream对象是为了读取文件

    • B、创建FileInputStream对象时,如果硬盘上对应的文件不存在,则抛出一个异常

    • C、利用FileInputStream对象可以创建文件

    • D、FileInputStream对象读取文件时,只能读取文本文件

  8. 下列关于throws的描述中,正确的有(ABCD)

    • A、throws是用来声明一个方法可能抛出的异常信息

    • B、throws语句用在方法声明后面

    • C、方法中没有使用catch处理的异常必须使用throws抛出

    • D、throws关键字对外声明该方法有可能发生的异常,调用者在调用方法时必须在程序中对异常进行处理

  9. 以下关于File类说法正确的有(ABC)

    • A、一个File对象代表了操作系统中的一个文件或者文件夹

    • B、可以使用File对象创建和删除一个文件

    • C、可以使用File对象创建和删除一个空文件夹

    • D、当一个File对象被垃圾回收器回收时,系统上对应的文件或文件夹也被删除。

三、判断题 ╳ √

  1. deleteDir()方法删除目录会放入回收站。(╳ )

  2. StringBuffer reverse()方法可以获取字符串缓冲区中的字符串。( ╳ )

  3. Throwable有两个直接子类——Error和Exception,其中Error代表程序中产生的异常,Exception代表程序中产生的错误。( ╳ )

  4. 在Java语言中如果发生异常,但没有捕获异常的代码,程序会正常执行。( ╳ )

  5. 字节流只能用来读写二进制文件。( ╳ )

  6. 运行时异常一般是由程序中的逻辑错误引起的,在程序运行时可以恢复。( ╳ )

  7. FileOutputStream是操作文件的字节输出流,专门用于把数据写入文件。( ╳ )

  8. 在处理异常时,try语句块中存放可能发生异常的语句。( √)

  9. Java中的异常类都继承自java.lang.Throwable类。( √)

  10. 在JDK文档中读者可以发现任有关Runtime类构造方法的定义。( √)

  11. throw关键字用于方法体内,抛出的是一个异常实例,每次能抛出多个异常实例。(╳ )

  12. 在一个异常处理中,finally语句块只能有一个,也可以没有。( √)

  13. FilenameFilter是一个接 口,被称作文件过滤器,其中定义了抽象方法accept( √)。()

  14. 当访问字符串中的字符时,如果字符的索引不存在,则会返回null。(╳ )

  15. Random类的int nextInt(int n)方法生成[1~n)区间的int类型的随机数。╳

  16. 转换流实现了字节流和字符流的互相转换。( √)

  17. JDK 提供了两个抽象类——InputStream和OutputStream,它们是字节流的顶级父类,所有的字节输入流都继承自OutputStream,所有的字节输出流都继承自InputStream。(╳ )

  18. 使用字节流缓冲区读取数据比逐字节读取数据的操作效率更低。(╳ )

  19. 在Java中,一个对象如果不再被任何栈内存引用,该对象就称为垃圾对象。(╳ )

  20. String类的equals()方法和==的作用是一样的。(╳ )

  21. File类的delete()方法可以删除包含子目录或文件的目录(╳ )

  22. String对象和StringBuffer对象都是字符串变量,创建后都可以修改。( √)

四、填空题

  1. Java中用于获取String字符串长度的方法是【String.length()】。

  2. 在程序开发中,用户经常会不小心输入错误的数据和多余的空格,这时可以调用String类的【replace()】和【】方法,进行字符串的替换和去除空格操作。

  3. StringBuffer类和String类最大的区别在于它的【】和【】都是可以改变的。

  4. String字符串在获取某个字符时,会用到字符的【subString()】。

  5. Java提供了对象【】机制,可以将对象中的数据保存到磁盘。

  6. 为了保证InputStream在任何情况下都能够正确关闭,可以使用【close()】。

  7. Throwable类是所有异常类的父类,它有两个直接子类:Error类和【Exception】类。

  8. String类的【】方法可以判断字符串长度是否为0。如果为0,返回true;否则返回flase。

  9. String类的【trim()】可以去掉当前字符串首尾的空格。 replaceAll(regex,“xx”)制定规则替换字符

  10. Java中的I/O流按照传输数据的不同可分为【字节传输】和【字符传输】。

  11. StringBuffer类的【】可以获取字符串缓冲区中字符串内容的长度。

  12. 运行时异常是在程序运行时由【jvm】自动进行捕获处理的,【jvm】不会对异常进行检查。

  13. 在JDK中提供了两个可以将字节流转换为字符流的类,分别是【InputRead】和【OutputRead】。

  14. java.io.FileOutputStream是【OutputStream】的子类,它是操作文件的字节输出流。

  15. Java中用于产生随机数的类是位于java.util包中的【Random】。

  16. I/O系统提供了两个带缓冲的字节流,分别是【String Buffer】和【String Builder】。

  17. 在系统回收垃圾对象占用的内存时,会自动调用Object类的【gc()】方法。

  18. 如果一个方法要抛出多个异常,可以使用【throws】关键字,多个异常之间用逗号隔开。

  19. 在Java中定义了3个类,用来封装对字符串的操作,分别是【String】、【StringBuffer】和【StringBuilder】。

  20. 自定义异常需要继承【】类。

  21. java.io包中可以用于从文件中直接读取字符的类是【FileInputStream】。

  22. 已知sb为StringBuffer的一个实例,且sb.toString()的值为"abcde",则执行sb.reverse()后,sb.toString()的值为【“ edcba”】。

  23. File类提供了【FileRead】和【FileWriter】,用于操作临时文件。

  24. 【throws】关键字用于在方法中声明抛出异常的实例对象。

  25. 在方法中,通过throw关键字抛出异常后,还需要使用【try catch】或【】对异常进行处理。

  26. 【Exception】类及其子类用于表示运行时异常。

五、简答题

  1. 简述处理编译时异常的两种方式。

    throws抛出交给jvm

    try catch 捕获处理

  2. 简述序列化和反序列化。

  3. 简述对目录下的文件遍历的3种方式。

  4. 简述字符流与字节流的区别。

    字节流可以读取任何基本数据类型的文件

    字符流只用于读取字符类的数据文件

  5. 简述getProperties()和getProperty()方法的区别。

  6. 简述String、StringBuffer和StringBuilder三者的区别。

  7. 简述substring()方法和split()方法的区别。

    substring用来截取字符串

API阶段测试答案

一、单选题

  1. 异常类都继承自java.lang包下的()

    • A、Error类

    • B、Exception类

    • C、Throwable类

    • D、IOError类 参考答案: C

  2. 下列符号中,用于分隔throws关键字抛出的多个异常的是()

    • A、;

    • B、,

    • C、&

    • D、| 参考答案: B

  3. FileWriter类中的read()方法读取到流末尾的返回值是()

    修改

    • A、0

    • B、-1

    • C、1

    • D、无返回值 参考答案: B

  4. 下列Reader类的常用方法中,将数据直接读入字符输出流的是()

    • A、long transferTo(Writer out)

    • B、int read()

    • C、void close()

    • D、int read(char cbuf[]) 参考答案: A

  5. 下列File类的常用构造方法中,通过指定的一个字符串类型的文件路径创建一个 File对象的是()

    • A、File(String parent,String child)

    • B、File(File parent,String child)

    • C、File(String pathname)

    • D、File(File parent) 参考答案: C

  6. 在程序开发中,经常需要对文本文件的内容进行读取。如果想从文件中直接读取字符,可以使用字符输入流()

    • A、Reader

    • B、Writer

    • C、FileReader

    • D、FileWriter 参考答案: C

  7. 可以实现连接字符串的运算符是()

    • A、+

    • B、-

    • C、=

    • D、/ 参考答案: A

  8. File类提供了一系列方法,用于操作其内部封装的路径指向的文件或者目录。当 File对象对应的文件不存在时,将新建的 File对象指向新文件的方法是()

    • A、String getAbsolutePath()

    • B、boolean canRead()

    • C、boolean createNewFile()

    • D、boolean exists() 参考答案: C

  9. 在异常处理时,进行释放资源、关闭文件等操作需要的语句是()。

    • A、try

    • B、catch

    • C、finally

    • D、throw 参考答案: C

  10. 下列File类的常用方法中,返回 File对象表示的文件或目录的名称的是()

    • A、String[] list()

    • B、String getPath()

    • C、String getName()

    • D、String getParentFile() 参考答案: C

  11. 下列关于StringBuffer类常用方法中,修改指定索引index处的字符序列的是()

    • A、String substring(int start)

    • B、StringBuffer reverse()

    • C、void setCharAt(int index,char ch)

    • D、String toString() 参考答案: C

  12. String类中的getBytes()方法的作用是()

    • A、将整数变成字符串

    • B、将字符串变成字符数组

    • C、将字符串变成字节数组

    • D、获取字符串中字符的个数 参考答案: C

  13. 下列OutputStream类的常用方法中,向输出流写入一字节得的是()

    • A、void flush()

    • B、void close()

    • C、void write(int b)

    • D、void write(byte[] b) 参考答案: C

  14. 对字符串”ababcdabcdefg”使用indexOf(“ab”)和lastIndexOf("ab")的运行结果是()

    • A、1,1

    • B、 0,6

    • C、0,0

    • D、1,6 参考答案: B

  15. 下列Writer类的常用方法中,强制将缓冲区的数据同步到输出流中的是()

    • A、void write(int c)

    • B、void write(char cbuf[])

    • C、void flush()

    • D、void close() 参考答案: C

  16. 下列选项中,对String类的常见构造方法的功能描述错误的是()

    • A、String()创建一个字符串值为0

    • B、String(Stringvalue)根据指定的value创建字符串

    • C、String(char[]value)根据指定的value创建字符数组

    • D、String(byte[]bytes)根据指定的bytes创建字节数组 参考答案: A

  17. 当访问字符串中的字符时,如果字符的索引不存在,则会发生()

    • A、NullPointerException

    • B、StringIndexOutOfBoundsException

    • C、ArithmeticException

    • D、NumberFormatExceptio 参考答案: B

  18. 下列关于throws关键字的描述中,正确的是()

    • A、thorws可以声明在方法上也可以声明在方法体中

    • B、方法上使用throws抛出一个异常则这个方法中一定有try catch代码块

    • C、使用throws抛出多个异常时各个异常之间必须使用逗号隔开

    • D、throws必须和throw配合使用 参考答案: C

  19. 以下关于编译异常的说法中正确的是()

    • A、编译异常就是指Exception类及其子类

    • B、编译异常如果产生,可以不用处理

    • C、编译异常如果产生,就必须处理,要么捕获,要么抛出

    • D、编译异常指的就是Error 参考答案: C

  20. 关于Java常见的类和接口,下面哪项说法是正确的()

    • A、String是原始基本数据类型

    • B、HashMap不允许存放空值、空键

    • C、List接口允许重复

    • D、Set接口允许重复 参考答案: C

  21. 以下String类的方法中,会返回指定字符ch在字符串中最后一次出现位置的索引的是()

    • A、int indexOf(int ch)

    • B、int lastIndexOf(int ch)

    • C、int indexOf(String str)

    • D、int lastIndexOf(String str) 参考答案: B

  22. 关于StringBuffer和StringBuilder说法正确的是()

    • A、StringBuffer和StringBuilder的方法不同

    • B、StringBuffer和StringBuilder都是线程安全的

    • C、StringBuffer是线程安全的,StringBuilder不是线程安全的

    • D、StringBuffer不是线程安全的,StringBuilder是线程安全的 参考答案: C

  23. 下面关于字节流缓冲区的说法中错误的是()

    • A、使用字节流缓冲区读写文件是逐字节读写

    • B、使用字节流缓冲区读写文件时,可以一次读取多个字节的数据

    • C、使用字节流缓冲区读写文件,可以大大提高文件的读写操作效率

    • D、字节流缓冲区就是一块内存,用于暂时存放输入输出的数据 参考答案: A

  24. 使用自定义的异常类,需要用到的关键字是()

    • A、try

    • B、catch

    • C、finally

    • D、throw 参考答案: D

  25. 下列File类的常用方法中,判断File对象对应的文件或目录是否是绝对路径的是()

    • A、boolean canWrite()

    • B、boolean isAbsolute()

    • C、boolean isFile()

    • D、boolean isDirectory() 参考答案: B

  26. 下列异常声明中正确的是()

    • A、public void throws IOException fun(){}

    • B、public void fun throws IOException(){}

    • C、public void fun() throws IOException{}

    • D、public void fun() throws IOException,throws SQLException{} 参考答案: C

  27. 下列选项中,可以正确实现String初始化的是()

    • A、String str= "abc";

    • B、String str= a' bc';

    • C、String str= abc;

    • D、String str= 0; 参考答案: A

  28. 下列选项中,是所有异常类的父类是()

    • A、Throwable

    • B、Error

    • C、Exception

    • D、RuntimeException 参考答案: A

  29. 下面程序中运行时会报异常的是()

    修改

    • A、int result = 4/0;System.out.println(result)

    • B、int[] arr = new int[5];System.out.println(arr[6]);

    • C、int[] arr = new int[3];System.out.println(arr[4])

    • D、以上选项都错了 参考答案: D

  30. 下列选项中,能成功使用使用绝对路径创建File对象得是()

    • A、File f = new File("D://file//a.txt");

    • B、File f = new File("D:\file\a.txt");

    • C、File f1 = new File("src\\Hello.java");

    • D、File f = new File("D:\\file\\a.txt"); 参考答案: D

  31. 下面对Throwable类常用的方法的功能描述错误的是()

    • A、String getMessage()方法返回异常的消息字符串

    • B、String toString()方法返回异常的简单信息描述

    • C、void printStackTrace()方法获取异常类名和异常信息以及异常出现在程序中的位置,把信息输出到控制台

    • D、String toString()方法返回异常的消息字符串 参考答案: D

  32. 下列关于Writer类哪种描述是正确的()

    • A、Writer类可以使用不同的字符集编码向输出流写入字符。

    • B、Writer类可以向输出流写入unicode字符。

    • C、Writer类提供向输出流写入任何Java基本数据类型的方法。

    • D、Writer类提供向输入流写入对象类型数据的方法。 参考答案: A

  33. 下列InputStream类的常用方法中,从输入流读取一字节(8位),把它转换为0~255的整数,并返回这一整数得是()

    • A、void close()

    • B、int read(byte[] b,int off, int len)

    • C、int read()

    • D、int read(byte[] b) 参考答案: C

  34. java.io包中唯一一个可以代表磁盘文件的对象的类是()

    • A、File类

    • B、System类

    • C、Thread类

    • D、Date日期类 参考答案: A

  35. Strings="oracle";则s.substring(3,4)返回的字符串是()

    • A、ac

    • B、c

    • C、a

    • D、ra 参考答案: B

  36. 下面对处理异常的关键字描述错误的()

    • A、try放置可能引发异常的代码块

    • B、catch后面对应异常类型和一个代码块,该代码块用于处理这种类型的异常

    • C、throws用在方法签名中,用于声明该方法可能抛出的异常

    • D、throw用在方法签名中,用于声明该方法可能抛出的异常 参考答案: D

  37. 下面关于throws作用的描述中,正确的是()

    • A、一个方法只能抛出一个异常信息

    • B、一个方法上使用throws声明一个异常说明这个方法运行时一定会抛出这个异常

    • C、throws可以声明在方法体中用来指定抛出的具体异常

    • D、throws出现在方法函数头 参考答案: D

二、多选题

  1. 下列类是定义在java.io包中的抽象类的有()

    • A、InputStream

    • B、OutputStream

    • C、Reader

    • D、FileWriter 参考答案: [ "A", "B", "C" ]

  2. 下列是FileOutStream类的正确构造方法形式的有()

    • A、FileOutStream(FileDescriptor fd)

    • B、FileOutStream(boolean b)

    • C、FileOutStream()

    • D、FileOutStream(File file) 参考答案: [ "A", "D" ]

  3. 下列选项中,属于运行时异常的有()

    • A、ArithmeticException

    • B、IndexOutOfBoundsException

    • C、ClassCastException

    • D、NullPointerException 参考答案: [ "A", "B", "C", "D" ]

  4. 程序运行中,异常是否出现,通常取决于()

    • A、程序的输入

    • B、程序中对象的当前状态

    • C、程序所处的运行环境

    • D、是否对异常进行处理 参考答案: [ "A", "B", "C" ]

  5. 下列关于字节流和字符流一些类的描述是正确的有()

    • A、InputStream和OutputStream是基于字节流的。

    • B、Reader和Writer是基于字符流的。

    • C、ObjectInputStream和ObjectOutputStream是不支持序列化对象的。

    • D、Reader和Writer是支持对象序列化。 参考答案: [ "A", "B", "C", "D" ]

  6. 下列关于try...catch和finally的组合使用,格式正确的有()

    • A、try{}

    • B、try{ }catch(ExceptionType1(Exception子类) e1){ } catch(ExceptionType2(Exception类及其子类) e2){ }

    • C、try{ }catch(ExceptionType(Exception类及其子类) e){ }finally{ }

    • D、try{ }finally{ } 参考答案: [ "B", "C", "D" ]

  7. 下列关于FileInputStream类型说法正确的有()

    • A、创建FileInputStream对象是为了读取文件

    • B、创建FileInputStream对象时,如果硬盘上对应的文件不存在,则抛出一个异常

    • C、利用FileInputStream对象可以创建文件

    • D、FileInputStream对象读取文件时,只能读取文本文件 参考答案: [ "A", "B" ]

  8. 下列关于throws的描述中,正确的有()

    • A、throws是用来声明一个方法可能抛出的异常信息

    • B、throws语句用在方法声明后面

    • C、方法中没有使用catch处理的异常必须使用throws抛出

    • D、throws关键字对外声明该方法有可能发生的异常,调用者在调用方法时必须在程序中对异常进行处理 参考答案: [ "A", "B", "C", "D" ]

  9. 以下关于File类说法正确的有()

    • A、一个File对象代表了操作系统中的一个文件或者文件夹

    • B、可以使用File对象创建和删除一个文件

    • C、可以使用File对象创建和删除一个空文件夹

    • D、当一个File对象被垃圾回收器回收时,系统上对应的文件或文件夹也被删除。 参考答案: [ "B", "C" ]

三、判断题

  1. deleteDir()方法删除目录会放入回收站。()

    参考答案:

  2. StringBuffer reverse()方法可以获取字符串缓冲区中的字符串。()

    参考答案:

  3. Throwable有两个直接子类——Error和Exception,其中Error代表程序中产生的异常,Exception代表程序中产生的错误。()

    参考答案:

  4. 在Java语言中如果发生异常,但没有捕获异常的代码,程序会正常执行。()

    参考答案:

  5. 字节流只能用来读写二进制文件。()

    参考答案:

  6. 运行时异常一般是由程序中的逻辑错误引起的,在程序运行时可以恢复。()

    参考答案:

  7. FileOutputStream是操作文件的字节输出流,专门用于把数据写入文件。()

    参考答案:

  8. 在处理异常时,try语句块中存放可能发生异常的语句。()

    参考答案:

  9. Java中的异常类都继承自java.lang.Throwable类。()

    参考答案:

  10. 在JDK文档中读者可以发现任有关Runtime类构造方法的定义。()

    参考答案:

  11. throw关键字用于方法体内,抛出的是一个异常实例,每次能抛出多个异常实例。()

    参考答案:

  12. 在一个异常处理中,finally语句块只能有一个,也可以没有。()

    参考答案:

  13. FilenameFilter是一个接 口,被称作文件过滤器,其中定义了抽象方法accept()。()

    参考答案:

  14. 当访问字符串中的字符时,如果字符的索引不存在,则会返回null。()

    参考答案:

  15. Random类的int nextInt(int n)方法生成[1~n)区间的int类型的随机数。

    参考答案:

  16. 转换流实现了字节流和字符流的互相转换。()

    参考答案:

  17. JDK 提供了两个抽象类——InputStream和OutputStream,它们是字节流的顶级父类,所有的字节输入流都继承自OutputStream,所有的字节输出流都继承自InputStream。()

    参考答案:

  18. 使用字节流缓冲区读取数据比逐字节读取数据的操作效率更低。()

    参考答案:

  19. 在Java中,一个对象如果不再被任何栈内存引用,该对象就称为垃圾对象。()

    参考答案:

  20. String类的equals()方法和==的作用是一样的。()

    参考答案:

  21. File类的delete()方法可以删除包含子目录或文件的目录()

    参考答案:

  22. String对象和StringBuffer对象都是字符串变量,创建后都可以修改。()

    参考答案:

四、填空题

  1. Java中用于获取String字符串长度的方法是【】。

    参考答案:

    ["int length()"]

  2. 在程序开发中,用户经常会不小心输入错误的数据和多余的空格,这时可以调用String类的【】和【】方法,进行字符串的替换和去除空格操作。

    参考答案:

    ["replace()","trim()"]

  3. StringBuffer类和String类最大的区别在于它的【】和【】都是可以改变的。

    参考答案:

    ["内容","长度"]

  4. String字符串在获取某个字符时,会用到字符的【】。

    参考答案:

    ["索引"]

  5. Java提供了对象【】机制,可以将对象中的数据保存到磁盘。

    参考答案:

    ["序列化"]

  6. 为了保证InputStream在任何情况下都能够正确关闭,可以使用【】。

    参考答案:

    ["try…finally语句"]

  7. Throwable类是所有异常类的父类,它有两个直接子类:Error类和【】类。

    参考答案:

    ["Exception"]

  8. String类的【】方法可以判断字符串长度是否为0。如果为0,返回true;否则返回flase。

    参考答案:

    ["boolean isEmpty()"]

  9. String类的【】可以去掉当前字符串首尾的空格。

    参考答案:

    ["String trim()"]

  10. Java中的I/O流按照传输数据的不同可分为【】和【】。

    参考答案:

    ["字节流","字符流"]

  11. StringBuffer类的【】可以获取字符串缓冲区中字符串内容的长度。

    参考答案:

    ["int length()"]

  12. 运行时异常是在程序运行时由【】自动进行捕获处理的,【】不会对异常进行检查。

    参考答案:

    ["Java虚拟机","Java编译器"]

  13. 在JDK中提供了两个可以将字节流转换为字符流的类,分别是【】和【】。

    参考答案:

    ["InputStreamReader","OutputStreamWrite"]

  14. java.io.FileOutputStream是【】的子类,它是操作文件的字节输出流。

    参考答案:

    ["OutputStream"]

  15. Java中用于产生随机数的类是位于java.util包中的【】。

    参考答案:

    ["Random类"]

  16. I/O系统提供了两个带缓冲的字节流,分别是【】和【】。

    参考答案:

    ["BufferedFileInputStream","BufferedFileOutputStream"]

  17. 在系统回收垃圾对象占用的内存时,会自动调用Object类的【】方法。

    参考答案:

    ["finalize()"]

  18. 如果一个方法要抛出多个异常,可以使用【】关键字,多个异常之间用逗号隔开。

    参考答案:

    ["throws"]

  19. 在Java中定义了3个类,用来封装对字符串的操作,分别是【】、【】和【】。

    参考答案:

    ["String","StringBuffer","StringBuilder"]

  20. 自定义异常需要继承【】类。

    参考答案:

    ["Exception"]

  21. java.io包中可以用于从文件中直接读取字符的类是【】。

    参考答案:

    ["FileReader"]

  22. 已知sb为StringBuffer的一个实例,且sb.toString()的值为"abcde",则执行sb.reverse()后,sb.toString()的值为【】。

    参考答案:

    ["\"edcba\""]

  23. File类提供了【】和【】,用于操作临时文件。

    参考答案:

    ["createTempFile()方法","deleteOnExit()方法"]

  24. 【】关键字用于在方法中声明抛出异常的实例对象。

    参考答案:

    ["throw"]

  25. 在方法中,通过throw关键字抛出异常后,还需要使用【】或【】对异常进行处理。

    参考答案:

    ["throws关键字","try…catch语句"]

  26. 【】类及其子类用于表示运行时异常。

    参考答案:

    ["RuntimeException"]

五、简答题

  1. 简述处理编译时异常的两种方式。

    参考答案:

    (1)使用try…catch语句对异常进行捕获处理。(2)使用throws关键字声明抛出异常,调用者对异常进行处理。

  2. 简述序列化和反序列化。

    参考答案:

    对象序列化(serialize)是指将一个Java对象转换成一个I/O流的字节序列的过程。对象序列化机制可以使内存中的Java对象转换成与平台无关的二进制流,通过编写程序,既可以将这种二进制流持久地保存在磁盘上,又可以通过网络将其传输到另一个网络节点。其他程序在获得了二进制流后,还可以将二进制流恢复成原来的Java对象,这种将I/O流中的字节序列恢复为Java对象的过程称为反序列化(deserialize)。

  3. 简述对目录下的文件遍历的3种方式。

    参考答案:

    (1)遍历指定目录下的所有文件。(2)遍历指定目录下指定扩展名的文件。(3)遍历包括子目录中的文件在内的所有文件。

  4. 简述字符流与字节流的区别。

    参考答案:

    字节流的两个基类是InputStream和OutputStream,字符流的两个基类是Reader和Writer,它们都是Object类的直接子类,字节流是处理以8位字节为基本单位的字节流类;Reader和Writer类是专门处理16位字节的字符流类。

  5. 简述getProperties()和getProperty()方法的区别。

    参考答案:

    System类的getProperties()方法用于获取当前系统的全部属性,该方法会返回一个 Properties对象,该对象封装了系统的所有属性,这些属性以键值对形式存在。getProperty()方法可以根据系统的属性名获取对应的属性值。

  6. 简述String、StringBuffer和StringBuilder三者的区别。

    参考答案:

    String类表示的字符串是常量,一旦创建后,内容和长度都是无法改变的。而StringBuilder类和StringBuffer类表示字符容器,其内容和长度可以随时修改。在操作字符串时,如果该字符串仅用于表示数据类型,则使用String类即可;但是如果需要对字符串中的字符进行增删操作,则使用StringBuffer与StringBuilder类。如果有大量字符串拼接操作,并且不要求线程安全,使用StringBuilder类更高效;相反,如果需要线程安全则需要使用StringBuffer类。

  7. 简述substring()方法和split()方法的区别。

    参考答案:

    substring()方法用于截取字符串的一部分,split()方法用于将字符串按照某个字符进行分割。

 

你可能感兴趣的:(python,前端,数据库)