1、全国计算机等级考试二级 JAVA 真题题库 1+2016 年 3 月及答案解析(总分:100.00,做题时间:120 分钟)一、选择题(每小题 1 分,共 40 分)(总题数:40,分数:40.00)1.下列关于 System 类的叙述中,错误的是( )。(分数:1.00)A.System 类是一个 final 类B.System 类不能实例化C.System 类中没有定义属性D.System 类主要提供了系统环境参数的访问2.结构化程序设计的 3 种基本结构是( )。(分数:1.00)A.过程、子程序和分程序B.顺序、选择和循环C.递归、堆栈和队列D.调用、返回和转移3.在下列代码的下画线处
2、应填入的内容是( )。 (分数:1.00)A.staffB.doubleC.intD.String4.下列选项中不属于结构化程序设计原则的是( )。(分数:1.00)A.可封装B.自顶向下C.模块化D.逐步求精5.下列构造方法的调用方式中,正确的是( )。(分数:1.00)A.按照般方法调用B.由用户直接调用C.只能通过 new 自动调用D.被系统调用6.下列代表十六进制整数的是( )。(分数:1.00)A.OXA6B.1234LC.840D.01447.Java 程序默认引用的包是( )。(分数:1.00)A.javatext 包B.javaawt 包C.javalang 包D.javaut
3、il 包8.数据库管理系统中负责数据模式定义的语言是( )。(分数:1.00)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言9.要下列 Java Applet 程序完整并能够正确运行,横线处应填入的内容是( )。 (分数:1.00)A.extends ThreadB.extends AppletC.extends CharD.extends Float10.下列程序的执行结果为( )。 (分数:1.00)A.1310B.1211C.1111D.121211.下列叙述中正确的是( )。(分数:1.00)A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构
4、不一定是线性结构C.循环链表是非线性结构D.双向链表是非线性结构12.int 类型的取值范围为( )。(分数:1.00)A.-2162 16-1B.-2312 31-1C.-2322 32-1D.-2642 64-113.个工作人员可以使用多台计算机,而台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。(分数:1.00)A.一对一B.一对多C.多对多D.多对一14.下列叙述中,正确的是( )。(分数:1.00)A.Java 语言的标识符是区分大小写的B.源文件名与 public 类名可以不相同C.源文件的扩展名为jarD.源文件中 public 类的数目不限15.为使 Ja
5、va 程序独立于平台,Java 虚拟机把字节码与各个操作系统及硬件( )。(分数:1.00)A.分开B.结合C.联系D.融合16.下列命令中,是 Java 编译命令的是( )。(分数:1.00)A.javacB.javaC.javadocD.appletviewer17.当使用 SomeThread tnew SomeThread( )创建一个线程时,下列叙述中正确的是( )。(分数:1.00)A.SomeThread 类是包含 run( )方法的任意 Java 类B.SomeThread 类定要实现 Runnable 接口C.SomeThread 类是 Thread 类的子类D.SomeTh
6、read 类是 Thread 类的子类并且要实现 Runnable 接口18.按层次次序将一棵有 n 个结点的完全二叉树的所有结点从 1n 编号,当 in/2 时,编号为 i 的结点的左子树的编号是( )。(分数:1.00)A.2i1B.2iC.2i1D.不确定19.在软件开发中,需求分析阶段产生的主要文档是( )。(分数:1.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书20.阅读下列代码后 public class Person int arr=new int10; public static void main(String args) System.
7、out.println(arr1); 正确的说法是( )。(分数:1.00)A.编译时将产生错误B.编译时正确,运行时将产生错误C.输出零D.输出空21.下列代码中,将引起个编译错误的行是( )。 (分数:1.00)A.第 3 行B.第 5 行C.第 6 行D.第 10 行22.下列关于面向对象的论述中,正确的是( )。(分数:1.00)A.面由对象是指以对象为中心,分析、设计和实现应用程序的机制B.面向对象是指以功能为中心,分析、设计和实现应用程序的机制C.面向对象仅适用于程序设计阶段D.面向对象是种程序设计语言23.在读取二进制数据文件的记录时,为了提高效率常常使用的种辅助类是( )。(分
8、数:1.00)A.InputStreamB.FilelnputStreamC.StringBufferD.BufferedReader24.下列关于链式存储结构的叙述中,不正确的是( )。(分数:1.00)A.结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构B.逻辑上相邻的结点物理上不必相邻C.可以通过计算确定第 i 个结点的存储地址D.插人、删除运算操作方便,不必移动结点25.软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于( )。(分数:1.00)A.定义阶段B.开发阶段C.维护阶段D.上述三个阶段26.下列关于实型变量书写正确的是( )。(分数:1.00)A.E3B
9、.2e03C.12e3D.12E0327.线性表 L(a1,a2,a3,ai,an),下列说法正确的是( )。(分数:1.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有且只有一个直接前继和直接后继28.设计程序时,应采纳的原则之一是( )。(分数:1.00)A.程序的结构应有助于读者的理解B.不限制 goto 语句的使用C.减少或取消注释行D.程序越短越好29.下列选项中,不能输出 100 个整数的是( )。(分数:1.00)A.B.C.D.30.在所大学中,每个系都有自
10、己的局域网,则连接各个系的校园网( )。(分数:1.00)A.是广域网B.还是局域网C.是地区网D.这些局域网不能互连31.下面属于面向对象语言的是( )。(分数:1.00)A.Java 语言B.机器语言C.C 语言D.汇编语言32.下列 Java 组件中,不属于容器的是( )。(分数:1.00)A.PanelB.WindowC.FrameD.Label33.阅读下列代码 (分数:1.00)A.JavaB.LanguageC.TestD.编译时出错34.下列关于正则表达式的说法,不正确的是( )。(分数:1.00)A.在 J2SE 14 中的正则表达式包中有一个 Pattern 类B.在 J2
11、SE 14 中的正则表达式包中有一个 Macher 类C.在 J2SE 14 中的正则表达式包名为 javautilregexD.以上说法都不对35.Java 中定义常量的保留字是( )。(分数:1.00)A.constB.finalC.finallyD.native36.设数组 data0m作为循环队列 s q 的存储空间,front 为队头指针,rear 为队尾指针,则执行出队操作的语句为( )。(分数:1.00)A.S qfront:s qfront1;B.S qfront:(S qfront1)%maxsize;C.S qrear:(S qrear1)%maxsize;D.S qfro
12、nt:(s qfront1)%(maxsize1);37.Java 的核心包中,提供编程应用的基本类的包是( )。(分数:1.00)A.javalangB.javautilC.javaappletD.javarmi38.下列不属于虚拟机执行过程的特点的是( )。(分数:1.00)A.多线程B.动态连接C.异常处理D.代码安全检查39.数据流程图(DFD 图)是( )。(分数:1.00)A.软件概要没计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具40.下列关于 Java 多线程并发控制机制的叙述中,错误的是( )。(分数:1.00)A.Java 中对共享
13、数据操作的并发控制是采用加锁技术B.线程之间的交互,提倡采用 suspend( )/resume( )方法C.共享数据的访问权限都必须定义为 privateD.Java 中没有提供检测与避免死锁的专门机制,但程序员可以采用某些策略防止死锁的发生二、基本操作题(共 18 分)(总题数:1,分数:18.00)41.本题的功能是计算二维数组 arr=34,21,45,67,20),23,10,3,45,76,22,3,79,56,50中的最小值,并输出。 (分数:18.00)_三、简单应用题(共 24 分)(总题数:1,分数:24.00)42.本题的功能是通过鼠标确定两个点,然后画两点间的直线。窗口
14、中有个按钮“Draw line”,单击该按钮后,它就处于按下状态,然后用鼠标在窗口中单击下,在单击的地方就会出现个坐标圆点,用鼠标在另外个地方单击下又会出现另外个圆点,并且此时在两个坐标圆点间画出条直线,且“Draw line”处于可用状态,再单击这个按钮就可以画另外条直线。 (分数:24.00)_四、综合应用题(共 18 分)(总题数:1,分数:18.00)43.本题的功能是定义自已的组件类。窗口中排布着 12 个按钮,鼠标移动按钮时,按钮背景颜色改变,用鼠标单击按钮时,后台将显示该按钮对应的字符。 (分数:18.00)_全国计算机等级考试二级 JAVA 真题题库 1+2016 年 3 月答
15、案解析(总分:100.00,做题时间:120 分钟)一、选择题(每小题 1 分,共 40 分)(总题数:40,分数:40.00)1.下列关于 System 类的叙述中,错误的是( )。(分数:1.00)A.System 类是一个 final 类B.System 类不能实例化C.System 类中没有定义属性 D.System 类主要提供了系统环境参数的访问解析:本题考查 System 类的基本知识。Systern 类是一个 final 类,所有的方法都用类变量来调用,对 System 类不可能实例化。System 类主要用来提供标准输入/输出和系统环境信息的访问设置。而System 类的属性有
16、:public static final InputStream in;标准输入;publicstatic final OutputStream out;标准输出;public static finalPrintStream err;标准错误输出。2.结构化程序设计的 3 种基本结构是( )。(分数:1.00)A.过程、子程序和分程序B.顺序、选择和循环 C.递归、堆栈和队列D.调用、返回和转移解析:程序的基本控制结构包括顺序、选择和循环。3.在下列代码的下画线处应填入的内容是( )。 (分数:1.00)A.staffB.doubleC.intD.String 解析:这是学习 Java 语言接
17、触的第个程序,main 函数的参数是 String argsE3。4.下列选项中不属于结构化程序设计原则的是( )。(分数:1.00)A.可封装 B.自顶向下C.模块化D.逐步求精解析:结构化程序设计的主要原则概括为自顶向下,逐步求精,限制使用 GOT( )语句。5.下列构造方法的调用方式中,正确的是( )。(分数:1.00)A.按照般方法调用B.由用户直接调用C.只能通过 new 自动调用 D.被系统调用解析:本题考查 Java 中的构造方法。构造方法在 Java 中占有非常重要的地位,务必掌握。构造方法是类中的种特殊方法,是为对象初始化操作编写的方法,用来定义对象的初始状态。构造方法不能被
18、程序调用,构造方法名必须与类名相同,没有返回值,用户不能直接调用,只能通过 new 自动调用,所以选项 C正确。6.下列代表十六进制整数的是( )。(分数:1.00)A.OXA6 B.1234LC.840D.0144解析:本题考查 Java 语言中的整型常量。整型常量有 3 种书写格式:十进制整数、八进制整数和十六进制整数。十六进制整数以 Ox 或 0X 开头,如 0X123 表示十进制数 291。选项 A 表示的是十六进制整数,选项 B 是 long 类型整型常量,选项 C 是十进制整数,选项 D 是八进制整数,因此选项 A 为本题正确选项。7.Java 程序默认引用的包是( )。(分数:1
19、.00)A.javatext 包B.javaawt 包C.javalang 包 D.javautil 包解析:javalang 包提供 Java 编程语言进行程序设计的基础类。javalang 包是编译器自动导入的。8.数据库管理系统中负责数据模式定义的语言是( )。(分数:1.00)A.数据定义语言 B.数据管理语言C.数据操纵语言D.数据控制语言解析:数据模式是由数据定义语言(Data Definition Language,DDL)来描述、定义的,体现、反映了数据库系统的整体观。9.要下列 Java Applet 程序完整并能够正确运行,横线处应填入的内容是( )。 (分数:1.00)A
20、.extends ThreadB.extends Applet C.extends CharD.extends Float解析:10.下列程序的执行结果为( )。 (分数:1.00)A.1310 B.1211C.1111D.1212解析:程序是由 ifelse 语句构成的流程,分析判断条件,变量 i 和 j 比较,得到条件表达式的值为true,然后执行 i1,现在变量 i 的值为 12,而 j 的值为 10;由于条件表达式为 true,则执行 i,因此 i 的值为 13,并跳过 else 子句块,循环控制语句执行完毕,这时变量 i 和 i 的值分别为 13 和 10。11.下列叙述中正确的是(
21、 )。(分数:1.00)A.有一个以上根结点的数据结构不一定是非线性结构B.只有一个根结点的数据结构不一定是线性结构C.循环链表是非线性结构D.双向链表是非线性结构 解析:线性表的特点是:在数据元素的非空有限集合中;存在唯一的一个被称为“第一个”的数据元素;存在唯个被称为“最后一个”的数据元素;除第一个以外,集合中的每个数据元素均只有个后继;除最后个以外,集合中的每个数据元素均只有一个后继。因此,双向表是非线性结构。12.int 类型的取值范围为( )。(分数:1.00)A.-2162 16-1B.-2312 31-1 C.-2322 32-1D.-2642 64-1解析:本题考查 int 类
22、型的取值范围。int 类型是最常用的整数类型,存储时占 32 位 bit,能表示的范围是2 的 31 次方至 2 的 31 次方1,选项 B 正确。而 short 类型在存储时占 l6 位 bit,能表示的范围是2 的 16 次方至 2 的 16 次方1。long 类型存储时占 64 位 bit,数据范围是2 的 64 次方至 2 的 64 次方1。正确答案为选项 B。13.个工作人员可以使用多台计算机,而台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是( )。(分数:1.00)A.一对一B.一对多C.多对多 D.多对一解析:一个工作人员对应多台计算机,一台计算机对应多个工作人员
23、,则实体工作人员与实体计算机之间的联系是多对多。14.下列叙述中,正确的是( )。(分数:1.00)A.Java 语言的标识符是区分大小写的 B.源文件名与 public 类名可以不相同C.源文件的扩展名为jarD.源文件中 public 类的数目不限解析:本题考查考生对 Java 语言概念的理解。这些属于考试重点内容。Java 语言和 C 语言不同,它是区分大小写的,选项 A 正确。Java 程序的源文件扩展名为class,jar 文件是由归档工具 jar 生成的。源文件中的 public 类的数目只能有 0 个或 l 个,用来指定应用程序类名,也是源文件名。15.为使 Java 程序独立于
24、平台,Java 虚拟机把字节码与各个操作系统及硬件( )。(分数:1.00)A.分开 B.结合C.联系D.融合解析:只有分开,才能做到独立于平台,与硬件无关。16.下列命令中,是 Java 编译命令的是( )。(分数:1.00)A.javac B.javaC.javadocD.appletviewer解析:本题考查 Java 中 JDK 工具。javac 是 Java 的编译命令,能将源代码编译成字节码,以class 扩展名存入 Java 工作目录中。Java 是 Java 解释器,执行字节码程序,该程序是类名所指的类,必须是个完整定义的名字。javadoc 是 Java 文档生成器,对 Ja
25、va 源文件和包以 XML 格式生成 API 文档。appletviewer 是 Java Applet 浏览器。17.当使用 SomeThread tnew SomeThread( )创建一个线程时,下列叙述中正确的是( )。(分数:1.00)A.SomeThread 类是包含 run( )方法的任意 Java 类B.SomeThread 类定要实现 Runnable 接口C.SomeThread 类是 Thread 类的子类 D.SomeThread 类是 Thread 类的子类并且要实现 Runnable 接口解析:由 SomeThread tnew SomeTharead( )可知此题
26、是通过继承 Thread 类来创建线程的。18.按层次次序将一棵有 n 个结点的完全二叉树的所有结点从 1n 编号,当 in/2 时,编号为 i 的结点的左子树的编号是( )。(分数:1.00)A.2i1B.2i C.2i1D.不确定解析:完全二叉树中除最下面层外,各层都被结点充满了,每层结点个数恰是上层结点个数的 2 倍。因此,从一个结点的编号就可推知它的双亲及左、右子树结点的编号。当 in/2 时,编号为 i 的结点的左子树的编号是 2i,否则结点 i 没有左子树。当 i(n1)/2 时编号为 i 的结点的右子树的编号是2i1,否则结点 i 没有右子树。当 i1 时,编号为 i 的结点的双
27、亲是结点 i/2。19.在软件开发中,需求分析阶段产生的主要文档是( )。(分数:1.00)A.软件集成测试计划B.软件详细设计说明书C.用户手册D.软件需求规格说明书 解析:需求分析阶段只能产生需求分析规格说明数,A 测试说明书是软件测试阶段生成的,B 软件详细设计说明书是设计阶段生成的,C 用户手册是软件发布时随软件同交付给用户的。20.阅读下列代码后 public class Person int arr=new int10; public static void main(String args) System.out.println(arr1); 正确的说法是( )。(分数:1.00
28、)A.编译时将产生错误 B.编译时正确,运行时将产生错误C.输出零D.输出空解析:本题考查考生对 Java 中数组的定义及使用。int arrnewint10表示数组 arr 是一个含有 10个元素的整数数组。Java 中的数据类型必须实例化后才能使用,但是有种情况例外,就是该成员是用static 声明的。题目中对于数组并没有实例化,因此不能使用,所以选项 A 说法正确。如果加上 static修饰符,改为 static int arrnew int10或者将该数组实例化即可,输出为 0。21.下列代码中,将引起个编译错误的行是( )。 (分数:1.00)A.第 3 行B.第 5 行C.第 6
29、行D.第 10 行 解析:本题考查考生对 Java 中构造方法的理解及应用。构造方法名必须与类名相同,没有返回值,用户不能直接调用,只能通过 new 自动调用。题目有两个构造方法 Test( )和 Test(int a),按照参数决定调用哪个方法。tlnewTest( )语句调用 Test( )方法,而 t2newTest(j,k)将会找不到相应的构造方法,程序编译出错在第 10 行,所以选项 D 正确。22.下列关于面向对象的论述中,正确的是( )。(分数:1.00)A.面由对象是指以对象为中心,分析、设计和实现应用程序的机制 B.面向对象是指以功能为中心,分析、设计和实现应用程序的机制C.
30、面向对象仅适用于程序设计阶段D.面向对象是种程序设计语言解析:面向对象是种程序设计方式,Java、C是面向对象设计的语言,而 C 是面向过程设计的语言。面向对象设计适应于设计、编码、实现、测试等系列环节。23.在读取二进制数据文件的记录时,为了提高效率常常使用的种辅助类是( )。(分数:1.00)A.InputStreamB.FilelnputStreamC.StringBuffer D.BufferedReader解析:本题考查 Java 语言的输入/输出流。InputStream 类、FileInputStream 类和 BufferedReader 类都是 Java 语言中和输入输出直接
31、相关的类,不属于辅助类,因此可以直接判断出选项 c 为正确答案。24.下列关于链式存储结构的叙述中,不正确的是( )。(分数:1.00)A.结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构B.逻辑上相邻的结点物理上不必相邻C.可以通过计算确定第 i 个结点的存储地址 D.插人、删除运算操作方便,不必移动结点解析:链式存储结构的主要特点有:结点中除自身信息外,还有表示链接信息的指针域,因此存储密度小、存储空间利用率低;逻辑上相邻的结点物理上不必相邻;插入、删除操作灵活方便。线性存储结构可以通过计算确定第 i 个结点的存储地址,但链式存储结构不能。25.软件生命周期可分为定义阶段,开发阶
32、段和维护阶段。详细设计属于( )。(分数:1.00)A.定义阶段B.开发阶段 C.维护阶段D.上述三个阶段解析:开发阶段在开发初期分为需求分析、总体设计、详细设计 3 个阶段,在开发后期分为编码、测试两个子阶段。26.下列关于实型变量书写正确的是( )。(分数:1.00)A.E3B.2e03C.12e3 D.12E03解析:本题考查实型变量科学计算格式的书写。在科学计算格式中,e 或 E 是指数符,要求在 e/E 之前必须有数字,选项 A 错误。同时还要求在 e/E 之后必须是整数,选项 B 和选项 D 错误。虽然题目非常简单,但是不容易正确回答。正确答案为选项 C。27.线性表 L(a1,a
33、2,a3,ai,an),下列说法正确的是( )。(分数:1.00)A.每个元素都有一个直接前件和直接后件B.线性表中至少要有一个元素C.表中诸元素的排列顺序必须是由小到大或由大到小D.除第一个元素和最后一个元素外,其余每个元素都有且只有一个直接前继和直接后继 解析:线性表可以为空表;第一个元素没有直接前驱,最后一个元素没有直接后继;线性表的定义中,元素的排列并没有规定大小顺序。28.设计程序时,应采纳的原则之一是( )。(分数:1.00)A.程序的结构应有助于读者的理解 B.不限制 goto 语句的使用C.减少或取消注释行D.程序越短越好解析:程序设计的风格主要强调程序的简单、清晰和可理解性,
34、以便读者理解。程序滥用 goto 语句将使程序流程无规律,可读性差;添加注释行有利于对程序的理解,程序的长短要依据实际的需要而定,并不是越短越好。29.下列选项中,不能输出 100 个整数的是( )。(分数:1.00)A.B.C.D. 解析:continue 语句的作用是不执行循环体后面的语句直接进入循环判断阶段。所以本题选 D。30.在所大学中,每个系都有自己的局域网,则连接各个系的校园网( )。(分数:1.00)A.是广域网B.还是局域网 C.是地区网D.这些局域网不能互连解析:广域网是指远距离的计算机互联网络,分布范围可达几千千米乃至上万千米甚至跨越国界、州界、遍及全球范围。局域网是指一
35、个局部区域中的、近距离的计算机互联网络,通常采用有线方式连接,分布范围从几百米到几千米,例如,一座大楼内或相邻的几座楼之间的互联网络。一个单位、学校内部的网络多为局域网。31.下面属于面向对象语言的是( )。(分数:1.00)A.Java 语言 B.机器语言C.C 语言D.汇编语言解析:本题考查 Java 语言的特点。Java 语言是面向对象的,将客观世界看成由各种对象组成的;机器语言是计算机实际处理时使用的语言,把客观世界都看成由 0 和 1 组成;过去的高级语言大多数是面向过程的,比如 C 语言等,它们是通过数据结构与算法来描述客观世界;汇编语言属于低级语言。考生应注意区分各种语言的区别。
36、本题正确答案为选项 A。32.下列 Java 组件中,不属于容器的是( )。(分数:1.00)A.PanelB.WindowC.FrameD.Label 解析:本题考查 Java 组件中容器的基本知识。选项 A 错误,Panel 类派生自容器类 Container,属于容器的种;选项 B 错误,Window 类也派生自容器类 Container,也属于容器的种;选项 C 错误,Frame 类派生自 Window 类,也是种容器;选项 D 正确,Lable 组件是标签组件,不属于容器。33.阅读下列代码 (分数:1.00)A.JavaB.LanguageC.TestD.编译时出错 解析:本题考查
37、 switch 语句的用法。switch 语句是多分支语句,即根据表达式的值来执行多个操作中的一个。在 switch 语句中,”表达式”的返回值类型必须是这几种类型之一:int、byte、char、short。本题中,switch 的表达式 S 是一个字符串 String 类型的值,它不是 int、byte、char、short 中的任意一个。因此表达式 S 的类型不对,编译时出错。34.下列关于正则表达式的说法,不正确的是( )。(分数:1.00)A.在 J2SE 14 中的正则表达式包中有一个 Pattern 类B.在 J2SE 14 中的正则表达式包中有一个 Macher 类C.在 J2
38、SE 14 中的正则表达式包名为 javautilregex D.以上说法都不对解析:本题考查 J2SE l4 中的正则表达式。记忆型题目,没有太大难度,考生记住即可。javautilregex 和 javanetURL 类相结合,用于网络上的字符输入流的模式字符串搜索中。35.Java 中定义常量的保留字是( )。(分数:1.00)A.constB.final C.finallyD.native解析:final 是最终的修饰符,其修饰的是常量。36.设数组 data0m作为循环队列 s q 的存储空间,front 为队头指针,rear 为队尾指针,则执行出队操作的语句为( )。(分数:1.0
39、0)A.S qfront:s qfront1;B.S qfront:(S qfront1)%maxsize; C.S qrear:(S qrear1)%maxsize;D.S qfront:(s qfront1)%(maxsize1);解析:循环队列采用的方法是:假设向量 S qdatamaxsi ze是一个首尾相接的圆环,即 S qdata0接在 S qdatamaxsi ze1之后,我们将这种意义下的向量称循环向量,并将循环向量中的队列称为循环队列。若当前尾指针等于向量的上界,则再做入队列操作时,令尾指针等于向量的下界,这样就利用到已被删除的元素空间,克服假上溢现象。因此入队操作时,在循环
40、意义下的尾指针加 1操作可描述为:if(S qrearmaxsi ze)s qnear:0;else s qrear;如果利用“模运算”,上述循环意义下的尾指针加 l 操作,可以更简洁地描述为:S qrear(s qrear1)%maxsi ze。同样,出队操作时,在循环意义下的头指针加 1 操作,也可利用“模运算”来实现:s qfront:(s qfront1)%maxsize。37.Java 的核心包中,提供编程应用的基本类的包是( )。(分数:1.00)A.javalang B.javautilC.javaappletD.javarmi解析:Java 的核心包共有 12 个,其中:jav
41、alang 包中封装了所有编程应用的基本类;javautil包提供实用程序类和集合类,如系统特性定义和使用、日期函数类、集合等常用工具;javaapplel 包为 Applet 提供执行需要的所有类,主要是访问 Applet 内容的通信类;javarmi 包提供程序远程方法调用所需的类。因此,本题的正确答案是 A。38.下列不属于虚拟机执行过程的特点的是( )。(分数:1.00)A.多线程B.动态连接C.异常处理D.代码安全检查 解析:本题考查虚拟机执行过程的特点。Java 虚拟机是编译器生成的字节码,不用考虑具体的硬件环境实现次编写,随处运行,实现其可移植性。虚拟机执行过程的特点有:多线程、
42、动态连接、异常处理。代码安全检查是 Java 语言的一个突出特点,但不属于虚拟机执行过程特点。39.数据流程图(DFD 图)是( )。(分数:1.00)A.软件概要没计的工具B.软件详细设计的工具C.结构化方法的需求分析工具 D.面向对象方法的需求分析工具解析:数据流程图是一种结构化分析描述模型,用来对系统的功能需求进行建模。40.下列关于 Java 多线程并发控制机制的叙述中,错误的是( )。(分数:1.00)A.Java 中对共享数据操作的并发控制是采用加锁技术B.线程之间的交互,提倡采用 suspend( )/resume( )方法 C.共享数据的访问权限都必须定义为 privateD.
43、Java 中没有提供检测与避免死锁的专门机制,但程序员可以采用某些策略防止死锁的发生解析:本题考查多线程的并发控制机制。Java 中对共享数据操作的并发控制采用传统的加锁技术,也就是给对象加锁,选项 A 说法正确。线程之间的交互,提倡采用 wait( )和 notify( )方法,这两个方法是 javalangobject 类的方法,是实现线程通信的两个方法,不提倡使用 suspend( )和 resume( )方法,它们容易造成死锁,所以选项 B 说法错误。共享数据的访问权限都必须定义为private,不能为 public 或其他,选项 c 说法正确。Java 中没有提供检测与避免死锁的专门
44、机制,因此完全由程序进行控制,但程序员可以采用某些策防止死锁的发生,选项 D 说法正确。二、基本操作题(共 18 分)(总题数:1,分数:18.00)41.本题的功能是计算二维数组 arr=34,21,45,67,20),23,10,3,45,76,22,3,79,56,50中的最小值,并输出。 (分数:18.00)_正确答案:(第 1 处:j5 或 j解析:【解析】整个程序是要将最小的数组元素放到 min 里并输出。思路是将二维数组看成维然后逐个遍历。第 1 处因为数组共有 5 列;第 2 处、第 3 处为遍历同样看做维数组的下组数据元素,并做归零或加 1 运算。三、简单应用题(共 24 分
45、)(总题数:1,分数:24.00)42.本题的功能是通过鼠标确定两个点,然后画两点间的直线。窗口中有个按钮“Draw line”,单击该按钮后,它就处于按下状态,然后用鼠标在窗口中单击下,在单击的地方就会出现个坐标圆点,用鼠标在另外个地方单击下又会出现另外个圆点,并且此时在两个坐标圆点间画出条直线,且“Draw line”处于可用状态,再单击这个按钮就可以画另外条直线。 (分数:24.00)_正确答案:(第 1 处:Point 第 2 处:mevtgetPoint)解析:【解析】第 1 处表示获得 Point 型的坐标给了 P;第 2 处获得鼠标单击的坐标。四、综合应用题(共 18 分)(总题数:1,分数:18.00)43.本题的功能是定义自已的组件类。窗口中排布着 12 个按钮,鼠标移动按钮时,按钮背景颜色改变,用鼠标单击按钮时,后台将显示该按钮对应的字符。 (分数:18.00)_正确答案:(第 1 处:int i0;i解析:【解析】第 1 处是作为遍历 keys 中元素的条件,而 keys 的字符元素就是各个按钮对应的字符;第2 处注册键盘事件监听功能,KeyButton 实现了 KeyLIstener 接口,而 kb 是 KeyButton 类的对象,所以它是合格的监听者;第 3 处将从键盘读到的字符输出。