1、计算机二级 Java 考试 3+2015 年及答案解析(总分:40.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.数据的存储结构是指( )。(分数:1.00)A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示2.对于长度为 n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )。(分数:1.00)A.冒泡排序 n/ZB.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n 一 1)/z3.栈和队列的共同点是( )。(分数:1.00)A.都是先进先出B.都是先进后出C.只允许在端点处插
2、入和删除元素D.没有共同特点4.有下列二叉树,对此二叉树中序遍历的结果为( )。 (分数:1.00)A.ABCEDFB.ABCDEFC.ECBDFAD.ECFDBA5.对建立良好的程序设计风格,下列描述中正确的是( )。(分数:1.00)A.程序应该简单、清晰、可读性好B.符号名的命名只需要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无6.下列叙述中正确的是( )。(分数:1.00)A.在面向对象的程序设计中,各个对象之间具有密切的关系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D.上述 3 种说法都不对7.为了提高软件
3、模块的独立性,模块之间最好是( )。(分数:1.00)A.控制耦合B.公共耦合C.内容耦合D.高内聚低耦合8.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指( )。(分数:1.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对9.下列描述中正确的是( )。(分数:1.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发过程中的技术问题10.对关系 S 和 R 进行集合运算,结果中既包含 S
4、中的所有元组也包含 R 中的所有元组,这样的集合运算称为( )。(分数:1.00)A.并运算B.交运算C.差运算D.积运算11.下列关于数据存储方式的叙述中,不正确的是( )。(分数:1.00)A.数据的主要存储方式有顺序存储结构和链式存储结构B.顺序存储结构存储空间利用率低,链式存储结构空间利用率高C.顺序存储结构的结点只有自身域,链式存储结构除了自身域还包括指针域D.顺序存储结构可通过计算直接确定数据结构中某个结点的存储地址12.二维数组 A0,80,9,其每个元素占 2 字节。从首地址 400 开始,按行优先顺序存储,则元素 A85的存储地址为( )。(分数:1.00)A.570B.50
5、6C.410D.48213.下列有关操作系统的叙述中,不正确的是( )。(分数:1.00)A.操作系统管理计算机系统中的各种资源B.操作系统为用户提供良好的界面C.操作系统与用户程序必须交替运行D.操作系统位于各种软件的最底层14.系统出现死锁的原因是( )。(分数:1.00)A.计算机系统发生了重大故障B.有多个封锁的进程同时存在C.若干进程因竞争资源而无休止地等待其他进程释放已占有的资源D.资源数大大少于进程数,或进程同时申请的资源数大大超过资源总数15.若干进程之间相互合作,共同完成一项任务,进程的这种协同工作关系称为( )。(分数:1.00)A.异步B.同步C.并发D.互斥16.下面属
6、于面向对象语言的是( )。(分数:1.00)A.Java 语言B.机器语言C.C 语言D.汇编语言17.下列选项默认的布局管理器不是 BorderLayout 的是( )。(分数:1.00)A.WindowB.PanelC.FrameD.Dialog18.用来实现 Java 虚拟机的语言是( )。(分数:1.00)A.JavaB.CC.C+D.汇编19.下列关于 Java 安全性的说法错误的是( )。(分数:1.00)A.有严格的访问权限检查B.对程序执行前要检查C.不允许使用指针D.可防止对内存的非法入侵20.下列有关 Java 语言的叙述中,正确的是( )。(分数:1.00)A.可以有 2
7、 个以上 package 语句B.可以有 2 个以上 import 语句C.可以有 2 个以上 public 类D.只能有 l 个类定义21.下列对类的声明,正确的是( )。(分数:1.00)A.abstract final classHhB.abstract private move()C.protected private number;D.public abstract classCar22.Java 中用于提供 Java 语言、Java 虚拟机的核心的类和接口的包是( )。(分数:1.00)A.java.io 包B.java.applet 包C.java.lang 包D 包23.下列关
8、于 JDK 目录结构的说法,错误的是( )。(分数:1.00)A.bin 目录下有许多工具B.demo 目录下有各种演示例子C.include 目录下都是库文件D.jre 目录是 Java 程序运行环境的根目录24.下列说法正确的是( )。(分数:1.00)A.类 FileInputStream 和 FileOutputStream 用来进行文件 I/O 处理,由它们所提供的方法可以打开本地主机上的文件,并进行顺序的读/写B.通过类 File 的实例或者一个表示文件名称的字符串可以生成文件输入/输出流,在流对象生成的同时,文件被打开,但还不能进行文件读/写C.对于 InputStream 和
9、OutputStream 来说,它们的实例都是是非顺序访问流,即只能进行顺序的读/写D.当从标准输入流读取数据时,从键盘输入的数据直接输入到程序中25.能将程序补充完整的选项是( )。 class Person private int a; public int change(int m)return m;) public class Teacher extends Person public int b; public static void main(String arg) Person p=new Person(); Teacher t=new Teacher(); int i; (分数
10、:1.00)A.i=mB.i=bC.i=P.aD.i=P.change(50)26.下列程序实现对 ZIP 文件 file.zip 的检索,在横线处填入正确的语句( )。 package test; importjava.io.*; import java.util.*; import java.util.zip.*; public class Exam public static void main(Stringargs) try FileInputStream fis=new FileInputStream(“test/file. zip“); ZipInputStream zis=new
11、 ZiplnputStream(fis); ZipEntry an; while( )!=null) en.getName(); zis.closeEntry(); zis.close(): catch(Exception e) e.printStackTrace(); (分数:1.00)A.en=zis.getNextEntry()B.en= =zis.getNextEntry()C.en=zis.getEntry()D.zis.getNextEntry()27.将一个容器 panel1 放到容器 framel 中的方法是( )。(分数:1.00)A.framel.insert(panel1
12、)B.framel.add(panel1)C.framel.addJPanel(panel1)D.framel.insertJPanel(panel1)28.下列程序的输出结果是( )。 class Test public static void main(String args) int n=7: n=2: System.out.println(n); )(分数:1.00)A.0B.-1C.14D.6429.文件操作中,用于移动文件指针到指定的位置的是( )。(分数:1.00)A.seek(long pos)B.lengh()C.find()D.skipBytes(int n)30.当检索一
13、个压缩文件时,首先要建立压缩文件输入流对象,该对象( )。(分数:1.00)A.以选中的压缩文件为参数B.以 FileInputStream 对象为参数C.以 InputStreamReader 对象为参数D.以 BufferedReader 对象为参数31.下列不是 InputStream 子类的是( )。(分数:1.00)A.文件输入流 FilelnputStreamB.对象输入流 ObjectlnputStreamC.字符输入流 CharInputStreamD.压缩文件输入流 ZiplnputStream32.下列方法中可以用来创建一个新线程的是( )。(分数:1.00)A.实现 ja
14、va.lang.Runnable 接口并重写 start()方法B.实现 java.lang.Runnable 接口并重写 run()方法C.继承 java.lang.Thread 类并重写 run()方法D.实现 java.lang.Thread 类并实现 start()方法33.下列关于 JavaApplication 与 Applet 的说法中,正确的是( )。(分数:1.00)A.都包含 main()方法B.都通过“appletviewer”命令执行C.都通过“javac”命令编译D.都嵌入在 HTML 文件中执行34.当启动 Applet 程序时,首先调用的方法是( )。(分数:1.
15、00)A.stop()B.init()C.start()D.destroy()35.下列关于线程优先级的说法中,正确的是( )。(分数:1.00)A.线程的优先级是不能改变的B.线程的优先级是在创建线程时设置的C.在创建线程后的任何时候都可以设置D.B 和 C36.下列代码中,将引起编译错误的行是( )。 1)public class Exercise 2)public static void main(String args) 3)floatf=0.0; 4)f+=1.0: 5) 6)(分数:1.00)A.第 2 行B.第 3 行C.第 4 行D.第 6 行37.为了向一个 Applet 传
16、递参数,可以在 HTML 文件的 APPLET 标志中使用 param 选项。在 Applet 程序中获取参数时,应使用的方法是( )。(分数:1.00)A.getParameter()B.getDocumentBase()C.getCodeBase()D.getlmage()38.线程在生命周期中要经历 5 种状态。如果线程当前是新建状态,则它可到达的下一个状态是( )。(分数:1.00)A.运行状态B.阻塞状态C.可运行状态D.终止状态39.下列关于 Java 多线程并发控制机制的叙述中,错误的是( )。(分数:1.00)A.Java 中对共享数据操作的并发控制是采用加锁技术B.线程之间的
17、交互,提倡采用 suspend()/resume()方法C.共享数据的访问权限都必须定义为 privateD.Java 中没有提供检测与避免死锁的专门机制,但程序员可以采用某些策略防止死锁的发生40.下列操作中,不属于 Applet 安全限制的是( )。(分数:1.00)A.加载本地库B.读写本地文件系统C.运行本地可执行程序D.与同一个页面中的 Applet 通信计算机二级 Java 考试 3+2015 年答案解析(总分:40.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.数据的存储结构是指( )。(分数:1.00)A.存储在外存中的数据B.数据所占的存储空间量
18、C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示 解析:解析:数据的存储结构是指数据结构(数据的逻辑结构)在计算机中的表示,又称物理结构。数据的存储结构主要有两种:顺序存储结构和链式存储结构。2.对于长度为 n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )。(分数:1.00)A.冒泡排序 n/ZB.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n 一 1)/z 解析:解析:冒泡排序法首先将第一个记录的关键字与第二个记录的关键字进行比较,若逆序则交换,然后比较第二个与第三个,以此类推,直至第 n-1 个与第 n 个记录的关键字进行比较。在最坏情况下
19、,冒泡排序中,若初始序列为”逆序”序列,需要比较 n(n-1)/2 次。快速排序是对通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字比另一部分记录的关键字小,然后分别对这两部分记录继续进行排序,最终达到整个记录有序。最坏情况下比较次数为 n(n-1)/2。3.栈和队列的共同点是( )。(分数:1.00)A.都是先进先出B.都是先进后出C.只允许在端点处插入和删除元素 D.没有共同特点解析:解析:栈是只允许在表的一端进行插入和删除的操作,队列是允许在表的一端进行插入,另一端进行删除的操作。4.有下列二叉树,对此二叉树中序遍历的结果为( )。 (分数:1.00)A.ABCEDFB.
20、ABCDEFC.ECBDFA D.ECFDBA解析:解析:二叉树的中序遍历是指先访问左子树。再访问树结点,最后访问右子树;当访问下级左右子树时,也对照此原则。所以 C 选项正确。5.对建立良好的程序设计风格,下列描述中正确的是( )。(分数:1.00)A.程序应该简单、清晰、可读性好 B.符号名的命名只需要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无解析:解析:”清晰第一,效率第二”,在考虑到程序的执行效率的同时,一定要保证程序清晰、可读;对符号名的命名,除了要符合语法要求外,还要具有一定的含义;程序的注释可以帮助程序员理解程序,不是可有可无的。6.下列叙述中正确的是( )。(分数
21、:1.00)A.在面向对象的程序设计中,各个对象之间具有密切的关系B.在面向对象的程序设计中,各个对象都是公用的C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小 D.上述 3 种说法都不对解析:解析:面向对象的程序设计是用对象模拟问题领域中的实体,各对象之间相对独立,相互依赖性小,通过消息来实现对象之间的相互联系。7.为了提高软件模块的独立性,模块之间最好是( )。(分数:1.00)A.控制耦合B.公共耦合C.内容耦合D.高内聚低耦合 解析:解析:耦合性与内聚性是模块独立性的两个定性标准,一般的程序设计都会尽量做到高内聚、低耦合,有利于提高模块的独立性。8.数据独立性是数据库技术
22、的重要特点之一。所谓数据独立性是指( )。(分数:1.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上三种说法都不对 解析:解析:数据独立性是数据库系统的一个最重要的目标之一,它使数据能独立于应用程序。数据独立性包括数据的物理独立性和逻辑独立性。物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。即数据在磁盘上怎样存储由 DBMS 管理,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构,这样当数据的物理存储改变了,应用程序不用改变。逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,即当数据的逻辑结构
23、改变时,用户程序也可以不变。9.下列描述中正确的是( )。(分数:1.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则 D.软件工程只是解决软件开发过程中的技术问题解析:解析:软件工程是指将工程化的思想应用于软件的开发、应用和维护的过程,包括软件开发技术和软件工程管理。10.对关系 S 和 R 进行集合运算,结果中既包含 S 中的所有元组也包含 R 中的所有元组,这样的集合运算称为( )。(分数:1.00)A.并运算 B.交运算C.差运算D.积运算解析:解析:关系的并运算是指由结构相同的两个关系合
24、并,形成一个新的关系,其中包含两个关系中的所有元组。11.下列关于数据存储方式的叙述中,不正确的是( )。(分数:1.00)A.数据的主要存储方式有顺序存储结构和链式存储结构B.顺序存储结构存储空间利用率低,链式存储结构空间利用率高 C.顺序存储结构的结点只有自身域,链式存储结构除了自身域还包括指针域D.顺序存储结构可通过计算直接确定数据结构中某个结点的存储地址解析:解析:顺序存储结构的结点只有自身信息域,没有连接信息的域,因此存储密度大,存储空间利用率高。链式存储结构除了自身域还包括指针域,因此比顺序存储结构的存储密度小,存储空间利用率低。12.二维数组 A0,80,9,其每个元素占 2 字
25、节。从首地址 400 开始,按行优先顺序存储,则元素 A85的存储地址为( )。(分数:1.00)A.570 B.506C.410D.482解析:解析:A85元素存储的位置在第 9 行第 6 列,所以 A85之前存储的个数应为 810+5=85,这些元素占用的空间为 852 字节=170 字节,所以 A85的存储位置为 400+170=570。13.下列有关操作系统的叙述中,不正确的是( )。(分数:1.00)A.操作系统管理计算机系统中的各种资源B.操作系统为用户提供良好的界面C.操作系统与用户程序必须交替运行 D.操作系统位于各种软件的最底层解析:解析:操作系统是计算机系统中的一个系统软件
26、,它能有效地组织和管理计算机系统中的各种资源,并且为用户提供良好的界面。没有任何软件支持的计算机称为裸机,而实际呈现在用户面前的计算机系统是经过若干层软件改造的计算机,而操作系统位于各种软件的最底层。14.系统出现死锁的原因是( )。(分数:1.00)A.计算机系统发生了重大故障B.有多个封锁的进程同时存在C.若干进程因竞争资源而无休止地等待其他进程释放已占有的资源 D.资源数大大少于进程数,或进程同时申请的资源数大大超过资源总数解析:解析:计算机系统中有限的资源与众多请求分配资源的进程间存在矛盾。当若干进程需求资源的总数大于系统所能提供的资源数时,进程间就会出现抢占资源的现象,如果对进程抢占
27、的资源管理或分配不当就会引起死锁。15.若干进程之间相互合作,共同完成一项任务,进程的这种协同工作关系称为( )。(分数:1.00)A.异步B.同步 C.并发D.互斥解析:解析:进程同步是指进程之间一种直接的协同工作关系,这些进程相互合作,共同完成一项任务。进程间的直接相互作用构成进程的同步。16.下面属于面向对象语言的是( )。(分数:1.00)A.Java 语言 B.机器语言C.C 语言D.汇编语言解析:解析:本题考查 Java 语言的特点。Java 语言是面向对象的,将客观世界看成由各种对象组成的;机器语言是计算机实际处理时使用的语言,把客观世界都看成由 0 和 1 组成;过去的高级语言
28、大多数是面向过程的,比如 C 语言等,它们是通过数据结构与算法来描述客观世界;汇编语言属于低级语言。考生应注意区分各种语言的区别。本题正确答案为选项 A。17.下列选项默认的布局管理器不是 BorderLayout 的是( )。(分数:1.00)A.WindowB.Panel C.FrameD.Dialog解析:解析:本题考查 Java 中的布局管理器。Pane 和 Applet 默认的布局管理器是 FlowLayout,构件在容器中放置规律是从上到下、从左到右进行放置;BorderLayout 是 Window、Frame 和 Dialog 的默认布局管理器,在 BorderLayout 布
29、局管理器中构件分成 5 个区域 North、South、East、West 和 Center,每个区域只能放置一个构件。考生应注意区分各个布局管理器的区别和联系,以及各个布局管理器的特点。18.用来实现 Java 虚拟机的语言是( )。(分数:1.00)A.JavaB.C C.C+D.汇编解析:解析:本题考查 Java 语言的虚拟机。Java 本身的编译器用 Java 语言编写,运行系统的虚拟机用C 语言实现。Java 语言的执行模式是半编译和半解释型,程序首先由编译器转换为标准字节代码,然后由Java 虚拟机去解释执行,字节代码实际上可以看作是虚拟机的机器代码。考生应当理解 Java 语言的
30、实现机制,这属于考试重点。正确答案为选项 B。19.下列关于 Java 安全性的说法错误的是( )。(分数:1.00)A.有严格的访问权限检查B.对程序执行前要检查 C.不允许使用指针D.可防止对内存的非法入侵解析:解析:本题考查 Java 的安全性特点。面向网络、分布式的 Java 语言,对非法入侵的防范是非常重要的,Java 语言提供充分的安全保障,在运行程序时,有严格的访问权限检查。对字节代码执行前要检查,不允许使用指针,可防止对内存的非法入侵,它是目前安全性最佳的语言。但是 Java 并不是对程序执行前检查,而是对字节代码进行检查,Java 编写好的程序首先由编译器转换为标准字节代码,
31、然后由Java 虚拟机去解释执行。20.下列有关 Java 语言的叙述中,正确的是( )。(分数:1.00)A.可以有 2 个以上 package 语句B.可以有 2 个以上 import 语句 C.可以有 2 个以上 public 类D.只能有 l 个类定义解析:解析:本题考查考生对 Java 语言概念的理解。属于考试重点内容,考生应注意理解这些基本概念。考生应该明确,Java 语言中可以有 package 语句,用来指定源文件存入所指定的包中,只能有 0 或 1 个,所以选项 A 说法错误;可以有 0 或多个以上 import 语句,但必须在所有类定义之前引入标准类,所以选项B 说法正确;
32、源文件中最多只能有一个 public 类,其他类的个数不限,所以选项 C 和选项 D 说法错误。21.下列对类的声明,正确的是( )。(分数:1.00)A.abstract final classHhB.abstract private move()C.protected private number;D.public abstract classCar 解析:解析:本题考查类的声明。选项 A 错误,abstract 用来声明抽象类,final 用来声明最终类。这两个修饰词不能同时出现在类声明中;选项 B 错误,缺少 class 关键字;选项 C 错误,类不能声明为protected 和 pr
33、ivate 属性,且不以”;”结尾,也缺少 class 关键字;选项 D 正确,声明了一个可以公有继承的抽象类。22.Java 中用于提供 Java 语言、Java 虚拟机的核心的类和接口的包是( )。(分数:1.00)A.java.io 包B.java.applet 包C.java.lang 包 D 包解析:解析:本题考查考生对 Java 语言中的类和接口的理解。java.lang 包提供了构成 Java 语言、Java虚拟机核心的类和接口。例如,类 object、类 String 和类 Thread 等。对任何一个 Java 程序来说,这些类几乎都是必不可少的。java.lang 还包含了
34、许多由 Java 虚拟机发出的异常,这些异常也是”类”的一种。另外,java.lang 包还包含一些用于访问系统资源的类,如 ClassLoader 等。java.lang 包具有极其重要的作用,在程序开头可以不必明文编写装载它的代码。23.下列关于 JDK 目录结构的说法,错误的是( )。(分数:1.00)A.bin 目录下有许多工具B.demo 目录下有各种演示例子C.include 目录下都是库文件 D.jre 目录是 Java 程序运行环境的根目录解析:解析:本题考查 JDK 目录结构。bin 目录下有编译器、解释器和各种工具,如服务器工具、IDLpackage 工具和 jdb 等。j
35、re 目录是 Java 程序运行环境的根目录,它下面有 bin 子目录,包括平台所用工具和库的可执行文件和 DLL 文件;lib 子目录包括 java 运行环境的代码库。lib 目录下都是库文件。demo 目录下有各种演示例子。include 目录下是 Win32 子目录,都是本地方法文件,选项 C 错误。24.下列说法正确的是( )。(分数:1.00)A.类 FileInputStream 和 FileOutputStream 用来进行文件 I/O 处理,由它们所提供的方法可以打开本地主机上的文件,并进行顺序的读/写 B.通过类 File 的实例或者一个表示文件名称的字符串可以生成文件输入/
36、输出流,在流对象生成的同时,文件被打开,但还不能进行文件读/写C.对于 InputStream 和 OutputStream 来说,它们的实例都是是非顺序访问流,即只能进行顺序的读/写D.当从标准输入流读取数据时,从键盘输入的数据直接输入到程序中解析:解析:本题是考查对文件输入、输出流的理解。通过类 File 的实例或者一个表示文件名称的字符串可以生成文件输入/输出流,在流对象生成的同时,文件被打开,然后就可以进行文件读/写,选项 B 说法错误。对于 InputStream 和 OutputStream 来说,它们的实例都是顺序访问流,即只能进行顺序的读/写,选项 C 说法错误。当从标准输入流
37、读取数据时,从键盘输入的数据被缓冲,按键时,程序才会得到输入数据,选项 D 说法错误。25.能将程序补充完整的选项是( )。 class Person private int a; public int change(int m)return m;) public class Teacher extends Person public int b; public static void main(String arg) Person p=new Person(); Teacher t=new Teacher(); int i; (分数:1.00)A.i=mB.i=bC.i=P.aD.i=P.c
38、hange(50) 解析:解析:本题考查类的声明。选项 A 中 m 没有被声明过,不能使用;选项 B 中虽然 b 是类 Teacher 的public 成员变量,但在静态方法中,不能使用类中的非静态成员;选项 C 中 a 是类 Person 的 private 成员,在类外不能直接引用;选项 D 中 change(intm)方法是 pubtic 方法,并且返回一个 int 型值,可以通过类的实例变量 P 引用并赋值给一个 int 型变量。26.下列程序实现对 ZIP 文件 file.zip 的检索,在横线处填入正确的语句( )。 package test; importjava.io.*; i
39、mport java.util.*; import java.util.zip.*; public class Exam public static void main(Stringargs) try FileInputStream fis=new FileInputStream(“test/file. zip“); ZipInputStream zis=new ZiplnputStream(fis); ZipEntry an; while( )!=null) en.getName(); zis.closeEntry(); zis.close(): catch(Exception e) e.p
40、rintStackTrace(); (分数:1.00)A.en=zis.getNextEntry() B.en= =zis.getNextEntry()C.en=zis.getEntry()D.zis.getNextEntry()解析:解析:本题考查 Java 类实现 ZIP 数据压缩方式。ZIP 压缩文件结构:一个 ZIP 文件由多个 Entry组成,每个 Entry 有一个唯一的名称,Entry 的数据项存储压缩数据。ZiplnputStream 实现了 ZIP 压缩文件的读输入流,支持压缩和非压缩 Entry.题目程序中 FileInputStreallD_fis=new Filelnp
41、utStream(“test/file.zip“)构造了一个文件输入 流,ZiplnputStream zis=new ZiplnputStream(fis)语句利用文件输入流 fis 构造了一个 ZIP 输入流,zis.getNextEntry()语句返回ZIP 文件中的下一个 Entry,并将输出流定位在此 entry 数据项的起始位置.27.将一个容器 panel1 放到容器 framel 中的方法是( )。(分数:1.00)A.framel.insert(panel1)B.framel.add(panel1) C.framel.addJPanel(panel1)D.framel.ins
42、ertJPanel(panel1)解析:解析:本题考查容器的嵌套。将一个容器 Panel1 放到容器 framel 中的方法和在容器上添加部件是一样的,使用 add()方法即可。28.下列程序的输出结果是( )。 class Test public static void main(String args) int n=7: n=2: System.out.println(n); )(分数:1.00)A.0B.-1C.14 D.64解析:解析:本题考查 Java 中的运算符。首先要清楚程序里面涉及的运算符的含义。“=2 语句执行恬,n 的值为 14,所以选项 C 正确。29.文件操作中,用于移
43、动文件指针到指定的位置的是( )。(分数:1.00)A.seek(long pos) B.lengh()C.find()D.skipBytes(int n)解析:解析:本题考查文件操作。seek(long pos)是随机文件记录的查找,满足题意。lengh()方法是求随机文件字节长度的方法,不符合题意;Java 中没有 find()方法;skipBytes(int n)方法是使随机文件访问跳过指定字节,不符合题意。30.当检索一个压缩文件时,首先要建立压缩文件输入流对象,该对象( )。(分数:1.00)A.以选中的压缩文件为参数B.以 FileInputStream 对象为参数 C.以 Inp
44、utStreamReader 对象为参数D.以 BufferedReader 对象为参数解析:解析:本题考查压缩文件流的概念。当输入一个 ZIP 文件时要将 ZIP 文件作为 FilelnputStream 构造方法的参数,所以选项 B 正确。而 FilelnputStream 对象又作为 ZiplnputStream 构造方法的参数出现。这里的 ZipInputStream 对象在将压缩文件内的输入项作为字符文本读出时即作为 InputStreamReader 的构造方法参数出现。最后,InputStreamReader 对象作为 BufferedReader 的构造方法的参数,并且使用re
45、adLine()方法将压缩文件输入项作为文本读出。31.下列不是 InputStream 子类的是( )。(分数:1.00)A.文件输入流 FilelnputStreamB.对象输入流 ObjectlnputStreamC.字符输入流 CharInputStream D.压缩文件输入流 ZiplnputStream解析:解析:本题考查考生对 Java 中 InputStream 非字符输入流的掌握。所有的字节输入流都是从InputStream 继承的,包括:ByteArraylnputStre8m,以字节数组作为输入流 FilelnputStream,可对一个磁盘文件设计的数据进行处理;Pip
46、edInputStream,实现线程之间通信的一个类;FilterInputStream,过滤器输入流;SequenceInputStream,将多个输入流首尾相接;ObjectlnputStream,实现 ObjeetInPut接 15/。选项 D 中压缩文件输入流 ZiplnputStream 是 InflaterInputStream 的子类,而InflaterInputStream 是 FilterInputStream 的子类,只有选项 C 中字符输入流 CharInputStream 类是字符流。本题涉及内容较多,要求对整个输入输出流有所了解。32.下列方法中可以用来创建一个新线程
47、的是( )。(分数:1.00)A.实现 java.lang.Runnable 接口并重写 start()方法B.实现 java.lang.Runnable 接口并重写 run()方法C.继承 java.lang.Thread 类并重写 run()方法 D.实现 java.lang.Thread 类并实现 start()方法解析:解析:本题考查考生对创建线程的使用。创建线程有两种方法:通过实现 Runnable 接口创建线程和通过继承 Thread 类创建线程。通过实现 Runnable 接口创建线程,当实现 Runnable 接口的类的对象用来创建线程以后,该线程的启动将使得对象的 run()
48、方法被调用。通过继承 Thread 类创建线程,可以通过继承 Thread 类,并重写其中的 run()方法定义线程体,然后创建该子类的对象创建线程。线程创建是考试重点内容,请务必掌握。33.下列关于 JavaApplication 与 Applet 的说法中,正确的是( )。(分数:1.00)A.都包含 main()方法B.都通过“appletviewer”命令执行C.都通过“javac”命令编译 D.都嵌入在 HTML 文件中执行解析:解析:本题考查 JavaApplication 与 Applet 的区别。Applet 与 Application 的主要区别在执行方式上,Applieat
49、ion 以 main()方法为入口点运行,Applet 要在浏览器或 appletviewer 中运行,运行过程比 Application 更复杂。两者都是通过”javac”命令编译,所以只有选项 C 说法正确.34.当启动 Applet 程序时,首先调用的方法是( )。(分数:1.00)A.stop()B.init() C.start()D.destroy()解析:解析:本题考查 Applet 程序的运行方式。在 Applet 运行时,首先由浏览器调用 init()方法,所以选项 B 正确。初始化完成后,将调用 start()方法使 Applet 成为激活状态。当 Applet 被覆盖时.可用stop()方法停止线