根据提供的信息,我们可以详细分析每一道题目所涉及的知识点,并对每个选项进行解析。下面将逐一解释这些题目。 ### 第一题 **题目**: 关于上述代码编译运行的结果的是:()。 ``` 1public static void main(String[] args) throws Exception { 2 FileOutputStream fos = new FileOutputStream("record.dat"); 3 BufferedOutputStream bos = new BufferedOutputStream(fos); 4 bos.write('a'); 5} ``` #### 选项解析: - **A. 编译错误**: 这个选项不正确。因为代码中没有语法错误或其他明显的逻辑问题,可以正常编译。 - **B. 实现向文件record.dat追加写入字符a**: 这个选项也不正确。`FileOutputStream` 默认是以覆盖的方式打开文件的,除非使用 `FileOutputStream(file, true)` 显式指定以追加模式打开。 - **C. 实现向文件record.dat覆盖写入字符a**: 这个选项是正确的。由于使用了默认构造方法的 `FileOutputStream`,所以会覆盖原有文件内容。 - **D. 文件record.dat无任何内容**: 这个选项不正确。代码执行后,文件 "record.dat" 应该包含字符 'a'。 ### 第二题 **题目**: 在Java中,要创建一个 `InputStreamReader` 类的对象,下列选项正确的是: ()。 #### 选项解析: - **A. new InputStreamReader(new FileInputStream("1.dat"))**: 这个选项是正确的。`InputStreamReader` 的构造函数接受一个 `InputStream` 类型的参数,而 `FileInputStream` 是 `InputStream` 的子类。 - **B. new InputStreamReader(new FileReader("1.dat"))**: 这个选项不正确。`FileReader` 已经是一个 `InputStreamReader` 的子类,因此直接使用 `new FileReader` 即可创建 `InputStreamReader` 对象。 - **C. new InputStreamReader(new BufferedReader("1.dat"))**: 这个选项不正确。`BufferedReader` 是 `Reader` 的子类而不是 `InputStream` 的子类,因此不能作为 `InputStreamReader` 构造函数的参数。 - **D. new InputStreamReader("1.dat")**: 这个选项不正确。`InputStreamReader` 的构造函数需要一个 `InputStream` 类型的参数,而字符串 "1.dat" 并不是一个 `InputStream` 对象。 ### 第三题 **题目**: 下列代码中,能实现按行读取文件的数据的流是:()。 #### 选项解析: - **A. InputStreamReader**: 这个选项不正确。`InputStreamReader` 只能逐字符读取,不能按行读取。 - **B. BufferedReader**: 这个选项是正确的。`BufferedReader` 提供了一个 `readLine()` 方法来按行读取文本文件。 - **C. FileInputStream**: 这个选项不正确。`FileInputStream` 用于读取字节流,不是用来按行读取文本文件的。 - **D. InputStream**: 这个选项不正确。`InputStream` 是一个抽象基类,本身不能按行读取文本文件。 ### 第四题 **题目**: 下列代码编译和运行的结果是:()。 ``` 01 public static void main(String[] args) { 02 try { 03 String[] s = null; 04 s[0] = "test"; 05 System.out.println(s[0]); 06 } catch (Exception ex) { 07 System.out.println("Exception"); 08 } catch (NullPointerException npe) { 09 System.out.println("NullPointerException"); 10 } 11 } ``` #### 选项解析: - **A. 输出:test**: 这个选项不正确。由于 `s` 未被初始化,所以尝试访问 `s[0]` 会引发 `NullPointerException`。 - **B. 输出:Exception**: 这个选项不正确。捕获的异常类型顺序导致了不会捕获 `NullPointerException`。 - **C. 编译失败**: 这个选项不正确。这段代码可以正常编译。 - **D. 输出:NullPointerException**: 这个选项是正确的。由于 `s` 未被初始化,所以访问 `s[0]` 会导致 `NullPointerException`,且该异常被捕获并输出。 ### 第五题 **题目**: 下列代码运行的结果是:()。 ``` 01 public class Boxer { 02 Integer i; 03 int x; 04 public Boxer(int y) { 05 x = i + y; 06 System.out.println(x); 07 } 08 public static void main(String[] args) { 09 new Boxer(new Integer(4)); 10 } 11 } ``` #### 选项解析: - **A. 输出:4**: 这个选项不正确。由于 `i` 没有被初始化,使用 `i + y` 会导致运行时抛出 `NullPointerException`。 - **B. 在运行时抛出NullPointerException异常**: 这个选项是正确的。`i` 没有被初始化,所以使用 `i + y` 会导致运行时抛出 `NullPointerException`。 - **C. 在运行时抛出NumberFormatException异常**: 这个选项不正确。此题与 `NumberFormatException` 无关。 - **D. 在运行时抛出IllegalStateException异常**: 这个选项不正确。此题与 `IllegalStateException` 无关。 ### 第六题 **题目**: 下列代码编译和运行的结果是:()。 ``` 1 public class Threads5 { 2 public static void main(String[] args) { 3 new Thread(new Runnable() { 4 public void run() { 5 System.out.print("bar"); 6 } 7 }).start(); 8 } 9 } ``` #### 选项解析: - **A. 编译错误**: 这个选项不正确。这段代码可以正常编译。 - **B. 抛出运行时异常**: 这个选项不正确。这段代码不会抛出运行时异常。 - **C. 输出:bar**: 这个选项是正确的。`new Thread(...).start()` 会启动一个新的线程,该线程会执行 `run` 方法中的代码,即输出 "bar"。 - **D. 代码正常运行,但是无输出**: 这个选项不正确。虽然输出可能会延迟显示,但最终会输出 "bar"。 ### 第七题 **题目**: 下列代码编译和运行的结果是:()。 ``` 1 public class TestOne { 2 public static void main(String[] args) throws Exception { 3 Thread.sleep(3000); 4 System.out.println("sleep"); 5 } 6 } ``` #### 选项解析: - **A. 编译错误**: 这个选项不正确。这段代码可以正常编译。 - **B. 抛出运行时异常**: 这个选项不正确。这段代码不会抛出运行时异常。 - **C. 输出:sleep**: 这个选项是正确的。这段代码会暂停当前线程 3 秒,然后输出 "sleep"。 - **D. 代码正常运行,但是无输出**: 这个选项不正确。虽然输出会被延迟,但最终会输出 "sleep"。 ### 第八题 **题目**: 下列选项中关于 `synchronized` 的使用正确的是:()。 #### 选项解析: - **A. private synchronized Object o**: 这个选项不正确。`synchronized` 关键字不能用于修饰非静态字段。 - **B. void go() { synchronized() {/*code here*/} }**: 这个选项不正确。`synchronized` 需要指定同步对象。 - **C. public synchronized void go() {/*code here*/}**: 这个选项是正确的。`synchronized` 可以修饰方法,表示整个方法都是同步的。 - **D. public synchronized void go() {/*code here*/}**: 这个选项重复了 C 项,因此也是正确的。


















剩余17页未读,继续阅读


- 粉丝: 3
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- arm 架构openssh9.9版本rpm部署包(openssh/openssl全量升级)
- 毕设&课设:基于全国职业技能大赛(2021)移动应用开发赛项题库标准,自主开发设计的智慧城市App.zip
- 毕设&课设:基于个性化定制的智慧校园管理系统设计与开发,计算机毕业设计,毕设,Java毕业设计,SpringBo.zip
- 毕设&课设:课程设计,基于 Vue 、Node 、SSM 的前后端分离 - 智慧养老服务平台.zip
- 毕设&课设:农产品智慧物流系统,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序,J.zip
- 毕设&课设:面向智慧教育的实习实践系统,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小.zip
- 毕设&课设:山东省大学生软件设计大赛--智慧校园管理系统项目.zip
- 毕设&课设:农业大学智慧校园毕业设计项目.zip
- 毕设&课设:突然一时兴起,给大口袋设计的智慧职教的视频与PPT抓取工具.zip
- 毕设&课设:项目申报评审系统是一个综合性的信息化管理平台,旨在规范和优化项目的申报、评审、执行与验收等全流程管理.zip
- 毕设&课设:无人智慧超市管理系统,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序,.zip
- 毕设&课设:这是一个基于 Vite + Vue 3 构建的智慧城市数据可视化大屏前端项目。它以 Cesium.j.zip
- 毕设&课设:智慧110界面UI设计.zip
- 毕设&课设:这是一个智慧宠物的APP,APP的界面已经设计好,而且登录界面和注册界面也已经做好,只需要实现功能即.zip
- 毕设&课设:智慧党建系统,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序,Java.zip
- 毕设&课设:智慧草莓基地管理系统,计算机毕业设计,毕设,Java毕业设计,SpringBoot,SSM,小程序,.zip


