1、计算机二级 JAVA-172 及答案解析(总分:59.60,做题时间:90 分钟)一、选择题(总题数:36,分数:59.60)1.设 a=8,则表达式 a2:的值是 _(分数:2.00)A.1B.2C.3D.42.下列程序执行后,输出的结果是_。 public class Test public static void main(String args) int a=100; if(a100|a100) System.out.println(“a100“); else System.out.println(“a=100“); (分数:2.00)A.a=100B.a100C.a100D.a100
2、3.Java 语言中,下列标识符错误的是 _(分数:1.00)AnB.$_yiC._nerD.uNiT4.下列叙述中正确的是_。(分数:2.00)A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对5.下列 Swing 组件中属于 Swing 新增组件,AWT 中没有相对应的组件是 _ 。(分数:1.00)A.JCheckBoxB.JRadioButtonC.JToolBarD.JList6.算法的空间复杂度是指_。(分数:1.00)A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行
3、过程中所需要的临时工作单元数7.对排序文件的初始状态不作任何要求的排序方法有_。(分数:2.00)A.直接插入和快速排序B.直接插入和归并排序C.归并和快速排序D.归并和直接选择排序8.在软件开发中,需求分析阶段产生的主要文档是_。(分数:2.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书9.下列叙述中,错误的是(分数:2.00)A.接口可实现互不相关的类具有相同的行为B.通过接口可说明多个类所需实现的方法C.通过接口需要了解对象所对应的类,才能了解对象的交互界面D.接口与存储空间无关10.当一个包含 Applet 的 Web 页面被其他页面覆盖时,被调用的
4、 Applet 方法是_。(分数:1.00)A.start()B.init()C.stop()D.destroy()11.若有定义:bytex=11,22,33,-66; 其中 0k3,则对 x 数组元素错误的引用是_。(分数:2.00)A.x5-3B.xkC.xk+5D.x012.程序的 3 种基本控制结构是(分数:1.00)A.过程、子过程和分程序B.顺序、选择和重复C.递归、堆栈和队列D.调用、返回和转移13.有定义语句:char s10;,若要从终端给 s 输入 5 个字符,错误的输入语句是 _ 。(分数:2.00)A.gets(s0);B.scanf(“%s“,s+1);C.gets
5、(s);D.scanf(“%s“,s1);14.在 Java 语言的下列哪个包是编译器自动导入的?(分数:2.00)A.java.langB.java.awtC.java.ioD.java.applet15.由于安全性的限制,Applet 只能和_进行通信。(分数:2.00)A.与它在同一局域网中的主机B.与它授权的主机C.与它在同一个工作组内的主机D.提供它的主机16.关于下列程序段的说法中,正确的是_。 public classArrTest public static void main(Stringargs) inti=new into5,6,7,8); System.out prin
6、tln(i4); (分数:1.00)A.结果输出:4B.结果输出:8C.结果输出:5 6 7 8D.产生数组越界异常17.定义一个表示 10 个值为 null 的字符串数组,下面选项正确的是 _ 。(分数:2.00)A.Stringa;B.String a;C.chara10;D.String a=new String10;18.当一个应用程序的所有非守护线程终止运行时,但仍然有守护线程在运行,应用程序将 _ 。(分数:2.00)A.运行B.阻塞C.终止D.休眠19.下列数据中_是长整型数据。(分数:2.00)A.123.321fB.0892C.892LD.0x23420.下面描述中错误的是_
7、。(分数:2.00)A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具21.结构化程序设计的基本原则不包括(分数:2.00)A.多态性B.自顶向下C.模块化D.逐步求精22.当使用 SomeThread t=new SomeThread()创建一个线程时,下列叙述中正确的是_。(分数:1.00)A.SomeThread 类是包含 run()方法的任意 Java 类B.SomeThread 类一定要实现 Runnable 接口C.SomeThread 类是 Thread 类的子类D
8、.someThread 类是 Thread 类的子类并且要实现 Run-nable 接口23.下列类中属于字节输入抽象类的是 _ 。(分数:2.00)A.FileInputStreamB.ObjectInputStreamC.FiterInputStreamD.InputStream24.下列代码的执行结果是_。 public class Expression public static void main(String arga( Int v1=10, v2=99, v3=0; System. out. prIntln(v10)“(v2/v3)=3); (分数:0.80)A.9.9B.3C.
9、falseD.true25.算法分析的目的是 _ 。(分数:2.00)A.找出数据结构的合理性B.找出算法中输入和输出之间的关系C.分析算法的易懂性和可靠性D.分析算法的效率以求改进26.设有图示二叉树,对此二叉树执行中序遍历的结果是_。 (分数:2.00)A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA27.执行完语句 int x=new int25;后,则下列哪个说法是正确的? _(分数:1.00)A.x24值为 0B.x24值未定义C.x25值为 0D.x0值为空28.下面的 _ 关键字通常用来对对象加锁,从而使得对对象的访问是排他的。(分数:2.00)A.seriali
10、zeB.transientC.synchronizedD.static29.下列描述中,错误的是(分数:2.00)A.Java 要求编程者管理内存B.Java 的安全性体现在多个层次上C.Applet 要求在支持 Java 的浏览器上运行D.Java 有多线程机制30.阅读下列 Java 语句: ObjectoutputStream out=new ObjectOutputStream(new_(“employee. dat“); 在下画线处,应填的正确选项是_。(分数:1.80)A.FileB.FileWriterC.FileOutputStreamD.Outputstream31.关于 A
11、pplet 执行的操作,下面说法正确的是(分数:1.00)A.在运行时调用其他程序B.可以进行文件读写操作C.不能装载动态连接库和调用任何本地方法D.试图打开一个 socket 进行网络通信,但是所连接的主机并不是提供 Applet 的主机32.数据库设计包括两个方面的设计内容,它们是_。(分数:2.00)A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计33.在黑盒测试方法中,设计测试用例的主要根据是_。(分数:2.00)A.程序内部逻辑B.程序流程图C.程序数据结构D.程序外部功能34.用来实现 Java 虚拟机的语言是(分数:1.00)A
12、.JavaBCC.C+D.汇编35.AWT 中用来表示颜色的类是_。(分数:1.00)A.FontB.ColorC.PanelD.Dialog36.在结构化程序设计方法中,下面内聚性最弱的是 _ 。(分数:2.00)A.逻辑内聚B.时间内聚C.偶然内聚D.过程内聚计算机二级 JAVA-172 答案解析(总分:59.60,做题时间:90 分钟)一、选择题(总题数:36,分数:59.60)1.设 a=8,则表达式 a2:的值是 _(分数:2.00)A.1B.2 C.3D.4解析:解析 本题具体考查对位运算符中无符号右移运算符的掌握。无符号右移运算符“”用于将个数的各二进制位全部无符号右移若干位,与
13、运算符“”不同的是左补 0。在本题中,8 的二进制表示是 1000,右移两位后变成了 0010,对应的十进制数是 202.下列程序执行后,输出的结果是_。 public class Test public static void main(String args) int a=100; if(a100|a100) System.out.println(“a100“); else System.out.println(“a=100“); (分数:2.00)A.a=100 B.a100C.a100D.a100解析:解析 程序中 a=100,在经过判定 a100|a100 时,由于 a 既不小于 1
14、00,也不大于 100,所以判定结果为假。程序会走 if 语句的 else 分支,所以输出为“a=100”。3.Java 语言中,下列标识符错误的是 _(分数:1.00)AnB.$_yi C._nerD.uNiT解析:4.下列叙述中正确的是_。(分数:2.00)A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈与队列都是非线性结构D.以上三种说法都不对 解析:栈和队列都是特殊的线性表,栈(Stack)只能在表的一端进行插入和删除运算,所以,栈是一种“先进后出”的线性表;而队列(Queue)只允许在一端删除,在另一端插入,所以,队列是一种“先进先出”的线性表。5.下列 Swing
15、组件中属于 Swing 新增组件,AWT 中没有相对应的组件是 _ 。(分数:1.00)A.JCheckBoxB.JRadioButtonC.JToolBar D.JList解析:解析 本题考查 Swing 常用组件的基本知识。选项 A 错误,复选框组件 JCheckBox,AWT 中也有相对应的 CheckBox 组件;选项 B 错误,单选框组件 JRadioButton,AWT 中也有相对应的 JRadioButton 组件;选项 C 正确,工具栏组件 JToolBar 为 Swing 中新增组件;选项 D 错误,列表组件 JList,AWT 中也有相对应的 List 组件。故本题答案是
16、C。6.算法的空间复杂度是指_。(分数:1.00)A.算法在执行过程中所需要的计算机存储空间 B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数解析:解析 算法的空间复杂度是指算法在执行过程中所需要的计算机存储空间。7.对排序文件的初始状态不作任何要求的排序方法有_。(分数:2.00)A.直接插入和快速排序 B.直接插入和归并排序C.归并和快速排序D.归并和直接选择排序解析:解析 只有归并排序要求待排序文件“部分排序”(把待排序的文件分成若干个子文件,每个子文件内的记录是已排序的)。8.在软件开发中,需求分析阶段产生的主要文档是_。(分数:2.00)
17、A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书 解析:解析 在软件工程中,需求分析指的是在建立一个新的或改变一个现存的软件系统时描写新系统的目的、范围、定义和功能时所要做的所有工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后才能够分析和寻求新系统的解决方法。需求分析主要是了解用户的需求为以后的设计和测试提供依据,其最后产生的主要文档是软件需求规格说明书。9.下列叙述中,错误的是(分数:2.00)A.接口可实现互不相关的类具有相同的行为B.通过接口可说明多个类所需实现的方法C.通过接口需要了解对象所
18、对应的类,才能了解对象的交互界面 D.接口与存储空间无关解析:解析 本题考查接口的概念。接口是一种只含有抽象方法或常量的一种特殊的抽象类。主要功能是:不管类的层次,可实现互不相关的类具有相同的方法,所以选项 A 说法正确;通过接口说明多个类所需实现的方法,选项 B 说法正确;通过接口可以了解对象的交互界面,无需了解对象所对应的类,选项 C说法错误;因为接口不包括任何实现,所以与存储空间没有任何关系,选项 D 说法正确。10.当一个包含 Applet 的 Web 页面被其他页面覆盖时,被调用的 Applet 方法是_。(分数:1.00)A.start()B.init() C.stop()D.de
19、stroy()解析:解析 init()方法主要是为 Applet 的正常运行做一些初始化工作。当一个 Applet 被系统调用时,系统首先调用的就是该方法。通常可以在该方法中完成从网页向 Applet 传递参数,添加用户界面的基本组件等操作。系统在调用完 init()方法之后,将自动调用 start()方法。stop()方法在用户离开 Applet所在页面时执行,因此,它也是可以被多次执行的。它可以使用户在不注意 Applet 的时候,停止一些耗用系统资源的工作以免影响系统的运行速度,且并不需要人为地去调用该方法。如果 Applet 中不包含动画、声音等程序,通常也不必实现该方法。Java 在
20、浏览器关闭的时候才调用 destroy()方法。Applet 是嵌在 HTML 文件中的,所以 destroy()方法不关心何时 Applet 被关闭,它在浏览器关闭的时候自动执行。在 destroy()方法中一般可以要求收回占用的非内存独立资源。所以,但一个 Applet 被系统调用时,首先调用的就是 init()方法。11.若有定义:bytex=11,22,33,-66; 其中 0k3,则对 x 数组元素错误的引用是_。(分数:2.00)A.x5-3B.xkC.xk+5 D.x0解析:解析 该题考查的是数组。本题中定义的数组 x 拥有 4 个元素,于是下标的取值范围应为 03,所以对 x
21、数组元素的引用下标不能超出它的下标范围。选项 A 的引用是 x5 -3)即 x2,所以它的引用是正确的;选项 B 的引用也是正确的,k 的范围没超出下标范围;选项 C 的引用 xk+5是错误的,它超出了下标范围;选项 D 的引用是正确的。12.程序的 3 种基本控制结构是(分数:1.00)A.过程、子过程和分程序B.顺序、选择和重复 C.递归、堆栈和队列D.调用、返回和转移解析:解析 本题考查基本的程序控制结构。 【解题要点】采用结构化程序设计方法编写程序,可使程序结构良好、易读、易理解、易维护,它包括 3种基本控制结构,分别是顺序结构、选择结构和重复结构(又称循环结构)。 【考点链接】控制程
22、序结构的方法和作用。13.有定义语句:char s10;,若要从终端给 s 输入 5 个字符,错误的输入语句是 _ 。(分数:2.00)A.gets(s0);B.scanf(“%s“,s+1);C.gets(s);D.scanf(“%s“,s1); 解析:14.在 Java 语言的下列哪个包是编译器自动导入的?(分数:2.00)A.java.lang B.java.awtC.java.ioD.java.applet解析:解析 Java 语言的 java.lang 包是编译器自动导入的。因此,编程时使用该包中的类,可省去import 导入。但使用其他包中的类,必须用 import 导入。15.由
23、于安全性的限制,Applet 只能和_进行通信。(分数:2.00)A.与它在同一局域网中的主机B.与它授权的主机C.与它在同一个工作组内的主机D.提供它的主机 解析:解析 许多浏览器为了保护本地主机,对 Applet 做了如下安全限制。 1)Applet 不能运行任何本地可运行程序。 2)禁止加载本地库或方法。Applet 只能使用自身的代码或 Applet 浏览器提供的 Java API。 3)禁止读、写本地计算机的文件系统。 4)禁止向提供 Applet 之外的任何主机建立网络连接。 5)不能读取某些系统信息。 6)Applet 弹出的窗口中将会有警告提示信息,以帮助用户区分 Applet
24、 窗口与可信的 Application 窗口。 从以上安全限制可以看出,Applet 只能和提供它的主机进行通信。16.关于下列程序段的说法中,正确的是_。 public classArrTest public static void main(Stringargs) inti=new into5,6,7,8); System.out println(i4); (分数:1.00)A.结果输出:4B.结果输出:8C.结果输出:5 6 7 8D.产生数组越界异常 解析:解析 该程序主要考查的是对数组的使用。数组元素的下标是从 0 开始的,若数组有 n 个元素,数组下标的的范围是 0n-1,不能超出
25、这个范围。题目中的数组有 4 个元素,下标只可能是0、1、2、3,所以程序产生下标越界异常。17.定义一个表示 10 个值为 null 的字符串数组,下面选项正确的是 _ 。(分数:2.00)A.Stringa;B.String a;C.chara10;D.String a=new String10; 解析:解析 本题考查字符串数组变量的声明。选项 A 和选项 B 的效果是一样的,都是用来定义一个字符串数组,但没有指明数组个数,不满足题目要求;选项 C 是一个二维的字符数组,在 C 语言中,一个二维的字符数组就可以表示一个一维的字符串数组,而在 Java 中,字符 char 是基本类型,字符串
26、 String则是以对象的形式来表示的;选项 D 正确,它定义了一个含有 10 个元素的字符串数组,如果没有给字符串数组赋值,则默认为 null。18.当一个应用程序的所有非守护线程终止运行时,但仍然有守护线程在运行,应用程序将 _ 。(分数:2.00)A.运行B.阻塞C.终止 D.休眠解析:解析 本题考查线程的机制。守护线程是一类特殊的线程,它和普通线程的区别在于它并不是应用程序的核心部分,当一个应用程序的所有非守护线程终止运行时,即使仍然有守护线程在运行,应用程序也将终止;反之,只要有一个非守护线程在运行,应用程序就不会终止。守护线程一般被用于在后台为其他线程提供服务。可以通过调用方法 i
27、sDaemon()来判断一个线程是否是守护线程,也可以调用方法setDaemon()来将一个线程设为守护线程。19.下列数据中_是长整型数据。(分数:2.00)A.123.321fB.0892C.892L D.0x234解析:20.下面描述中错误的是_。(分数:2.00)A.系统总体结构图支持软件系统的详细设计 B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具解析:系统设计工作应该自顶向下进行。首先设计总体结构,然后再逐层深入,直至进行每一个模块的设计。总体设计主要是指在系统分析的基础上,对整个系统的划分(子系统)、
28、机器设备(包括软、硬设备)的配置、数据的存储规律及整个系统实现规划等方面进行合理的安排。软件设计是把许多事物和问题抽象起来,并且抽象它们不同的层次和角度,将软件需求转换为软件表示的过程。系统总体结构图支持软件系统的总体设计而非详细设计。21.结构化程序设计的基本原则不包括(分数:2.00)A.多态性 B.自顶向下C.模块化D.逐步求精解析:解析 结构化程序设计的原则包括:“自顶而下,逐步求精”的设计思想,“独立功能,单出、入口”的模块化设计等。多态性是面向对象程序语言的特征。22.当使用 SomeThread t=new SomeThread()创建一个线程时,下列叙述中正确的是_。(分数:1
29、.00)A.SomeThread 类是包含 run()方法的任意 Java 类B.SomeThread 类一定要实现 Runnable 接口C.SomeThread 类是 Thread 类的子类 D.someThread 类是 Thread 类的子类并且要实现 Run-nable 接口解析:解析 由 SomeThread t=new SomeThread()可知此题是通过继承 Thread 类来创建线程的。23.下列类中属于字节输入抽象类的是 _ 。(分数:2.00)A.FileInputStreamB.ObjectInputStreamC.FiterInputStreamD.InputStr
30、eam 解析:解析 在 Java 中定义了两种类型的流,字节型和字符型,这两种流分别用 4 个抽象类表示:InputStrearm,OutputStream,Reader,Writer,其中 InptutStream 和 OutStream 表示字节流,Reader和 Reader 是表示字符流,所以字节输入抽象类为 InptutStream。24.下列代码的执行结果是_。 public class Expression public static void main(String arga( Int v1=10, v2=99, v3=0; System. out. prIntln(v10)“
31、(v2/v3)=3); (分数:0.80)A.9.9B.3C.false D.true解析:解析 此题后半部分除数是 0,按常理说应该报异常,且不会得出结果。但是在计算 在下画线处,应填的正确选项是_。(分数:1.80)A.FileB.FileWriterC.FileOutputStream D.Outputstream解析:解析 ObjectOutputStream 即继承了 OutputStream 抽象类,又实现了 ObjectOutput 接口,这是Java 用接口技术代替双重继承的例子,其构造方法参数是串行化了的对象。所以,此处应为串行化的文件输出流。31.关于 Applet 执行的
32、操作,下面说法正确的是(分数:1.00)A.在运行时调用其他程序B.可以进行文件读写操作C.不能装载动态连接库和调用任何本地方法 D.试图打开一个 socket 进行网络通信,但是所连接的主机并不是提供 Applet 的主机解析:解析 本题考查 Applet 的概念。Java 虚拟机为 Applet 提供能够良好运行的沙箱,一旦它们试图离开沙箱则会被禁止。由于 Applet 是通过网络传递的,这就不可避免地使人想到会发生安全问题。例如,有人编写恶意程序通过小应用程序读取用户密码并散播到网络上,这将会是一件非常可怕的事情。所以,必须对小应用程序进行限制。浏览器禁止 Applet 执行下列操作:A
33、pplet 不能运行任何本地可运行程序,选项 A 错误。禁止加载本地库或方法,Applet 只能使用自身的代码或 Applet 浏览器提供的 Java API,不允许装载动态连接库和调用任何本地方法,选项 C 正确。禁止读写本地计算机的文件系统,选项 B 错误。禁止向提供 Applet 之外的任何土机建立网络连接,如果 Applet 试图打开一个 socket 进行网络通信,所连接的主机必须是提供 Applet 的主机,选项 D 错误。32.数据库设计包括两个方面的设计内容,它们是_。(分数:2.00)A.概念设计和逻辑设计 B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行
34、为特性设计解析:33.在黑盒测试方法中,设计测试用例的主要根据是_。(分数:2.00)A.程序内部逻辑B.程序流程图C.程序数据结构D.程序外部功能 解析:软件测试方法常用的包括黑盒测试和白盒测试,白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构来测试程序的。黑盒测试也称功能测试或数据驱动测试,它是通过测试来检测每个功能是否能正常使用,主要着眼于程序外部结构,不考虑程序的内部结构和内部特征,而只是根据软件界面和软件功能设计测试用例。34.用来实现 Java 虚拟机的语言是(分数:1.00)A.JavaBC C.C+D.汇编解析:解析 本题考查 Java 语言的虚拟机。Java 本身的
35、编译器用 Java 语言编写,运行系统的虚拟机用C 语言实现。Java 语言的执行模式是半编译和半解释型,程序首先由编译器转换为标准字节代码,然后由Java 虚拟机去解释执行,字节代码实际上可以看作是虚拟机的机器代码。考生应当理解 Java 语言的实现机制,这属于考试重点。正确答案为选项 B。35.AWT 中用来表示颜色的类是_。(分数:1.00)A.FontB.Color C.PanelD.Dialog解析:解析 Font 是字体类;Panel 是面板类;Dialog 是对话框类。因此,本题选择 B。36.在结构化程序设计方法中,下面内聚性最弱的是 _ 。(分数:2.00)A.逻辑内聚B.时间内聚C.偶然内聚 D.过程内聚解析: