1、国家二级( JAVA)笔试模拟试卷 186及答案与解析 1 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是? ( ) ( A)概要设计 ( B)详细设计 ( C)可行性分析 ( D)需求分析 2 下列选项中不属于结构化程序设计方法的是 ( )。 ( A)自顶向下 ( B)逐步求精 ( C)模块化 ( D)可复用 3 下列数据结构中,能用二分法进行查找的是 ( )。 ( A)顺序存储的有序线性表 ( B)线性链表 ( C)二叉链表 ( D)有序线性链表 4 线程在生命 周期中要经历 5种状态。如果线程当前是新建状态,则它可到达的下一个状态是 ( A)运行状态 ( B)
2、阻塞状态 ( C)可运行状态 ( D)终止状态 5 要在 HTML文件中嵌入 Applet,在 applet标记中必须定义的是 ( A) Applet字节码文件的 URL ( B) Applet显示区域的高度和宽度 ( C) Applet字节码的文件名 ( D)选项 B和选项 C 6 栈和队列的共同特点是 ( )。 ( A)都是先进先出 ( B)都是先进后出 ( C)只允许在端点处插入和删除元素 ( D)没有共同 点 7 算法的时间复杂度是指 ( )。 ( A)执行算法程序所需要的时间 ( B)算法程序的长度 ( C)算法执行过程中所需要的基本运算次数 ( D)算法程序中的指令条数 8 软件测
3、试的目的是 ( )。 ( A)证明软件系统中存在错误 ( B)找出软件系统中存在的所有错误 ( C)尽可能多地发现软件系统中的错误和缺陷 ( D)证明软件的正确性 9 数据库 DB,数据库系统 DBS,数据库管理系统 DBMS,这 3者之间的关系是( )。 ( A) DBS包括 DB和 DBMS ( B) DBMS包括 DB和 DBS ( C) DB包括 DBS和 DBMS ( D) DBS就是 DB,也就是 DBMS 10 “商品 ”与 “顾客 ”两个实体集之间的联系一般是 ( A)一对一 ( B)一对多 ( C)多对一 ( D)多对多 11 在软件生命周期中,能准确地确定软件系统必须做什么
4、和必须具备哪些功能的阶段是 _。 ( A)概要设计 ( B)详细设计 ( C)可行性分析 ( D)需求分析 12 以下符号,不能作为标识符的是 ( )。 ( A) abc123 ( B) 123abc ( C) $abc123 ( D) _abe123 13 下列不属于 JComponent类的功能的是 ( )。 ( A)边框设置 ( B)键盘导航 ( C)支持布局 ( D)调用本地图形系统 14 下列程序的输出结果是 ( )。 public class Test public static void main (String args) String s=“hello“; s.replace
5、 (r,m); System.out.println(s); ( A) hello ( B) HELLO ( C) hemmo ( D) HEMMO 15 下列关于 J2EE的特点的说法中,错误的是 ( )。 ( A) J2EE的基础是 J2SE ( B) J2EE提供高度的安全性支持 ( C)支持事务处理和异步通信 ( D)支持面向过程的 Web开发 16 在 Java中,负责对字节代码解释执行的是 ( A)垃圾回收器 ( B)虚拟机 ( C)编译器 ( D)多线程机制 17 下列选项成员变量声明正确的是 ( A) public protected final int i; ( B) abs
6、tract class F1 ( C) private double height; ( D) double weight 18 在 switch(expression)语句中, expression的数据类型不能是 ( A) double ( B) char ( C) byte ( D) short 19 阅读下面程序 publicclasslncrement publicstaticvoidmain(Stringargs) intc; C=5; System.out.printlnSystem.out.println(C+); System.out.println(C); 程序运行结果是
7、( )。 ( A) 5 6 6 ( B) 5 5 6 ( C) 6 7 7 ( D) 6 6 6 20 Java程序的执行过程中用到一套 JDK工具,其中 javadoc.exe是指 ( )。 ( A) Java编译器 ( B) Java解释器 ( C) Java文档生成器 ( D) Java测试器 21 下面不属于线程生命周期的状态的是 ( )。 ( A)新建状态 ( B)可运行状态 ( C)运行状态 ( D)等待状态 22 文件类是, java.io包中的 ( )。 ( A)文件流类 ( B)字节流类 ( C)对象流类 ( D)非流类 23 int型 public成员变量 MAX_LENG
8、TH,该值保持为常数 100,则定义这个变量的语句是 ()。 ( A) publicintMAXLENGTH=100 ( B) finalintMAX_LENGTH=100 ( C) publicconstintMAX_LENGTH=100 ( D) publicfinalintMAX_LENGTH=100 24 执行下面程序后输出的正确结果是 ( )。 public class Test public static void main(String args) System.out.print(100%3); System.out.print(“/“); System.out.print(1
9、00%3.0); ( A) 1, 1 ( B) 1, 1.0 ( C) 1.0,1 ( D) 1.0,1.0 25 下列哪个类是 Applet进行绘制的关键类 ?它支持基本绘图,另外还支持图形绘制方法 ? ( ) ( A) Paint ( B) Graphic ( C) Graphics ( D) Paints 26 ActionEvent事件相应的监听器接口是 ( )。 ( A) ActionListener ( B) ActionEventListener ( C) ContainerListener ( D) ContainerEventListener 27 下列哪一项不是 J2ME中
10、的 Profile所定义的内容 ? ( ) ( A)应用系统的生命周期模型 ( B)用户界面的特性 ( C)访问设备的特性 ( D)使用 X.509认证 28 在下列说法中正确的是 ( )。 ( A) Java语言是以类为程序基本单元的 ( B) Java语言是不区分大小写的 ( C)多行注释语句必须以 “/”开始 ( D) CEJava语言中,类的 源文件名和该类名可以不相同 29 在创建线程时可以显式地指定线程组,此时可供选择的线程构造方法有 ( )种。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 30 _布局管理器是 AWT中最灵活,同时又是最复杂的一种布局管理器。 ( A)
11、 GridBagLayout ( B) GridLayout ( C) BorderLayout ( D) FlowLayout 31 下列说法正确的是 ( ) ( A) Swing代构件不具有 AWT对应构件的特征 ( B) AWT的按钮和标签只能显 示文本,而不能显示图标 ( C) Swing的按钮和标签只能显示文本,而不能显示图标 ( D) Swing构件和 AWT构件的默认名称一模一样 32 以下叙述中不属于 Java语言特点的是 ( )。 ( A)面向对象 ( B)可移植性 ( C)多线程 ( D)宏定义 33 有如下程序段 if(x0) System.out.println(“fi
12、rst“); else if (x -4) System.out.println(“second“); else System.out.println(“third“); x 的取值在什么范围内时,将打印出字符串 “second“? ( A) x 0 ( B) x -4 ( C) x -4 34 下列叙述中,错误的是 ( A) Java提供了丰富的类库 ( B) Java最大限度地利用网络资源 ( C) Java支持多线程 ( D) Java不支持 TCP/IP 协议 35 下列描述中,正确的是 ( A)在 Serializable接口中定义了抽象方法 ( B)在 Serializable接口
13、中定义了常量 ( C)在 Serializable接口中没有定义抽象方法,也没有定义常量 ( D)在 Serializable接口中定义了成员方法 36 在面向对象方法中,信息隐蔽是通过对象的【 】性来实现的。 37 软件工程的 3要素包括方法、工具和过程,其中, _支持软件开发的各个环节的控制和管理。 38 若想在程序中使用 JLabel类,则该程序可以使用 import_ JLabel;语句引入 JLabel类。 39 Java接口内的方法都是公共的、 _的,实现接口就要实现接口内的所有方法。 40 程序流程图中的菱形框表示的是 _。 41 在 Java语言中,标识符以【 】或下划线、 $
14、开头,后面可以包含数字,标识符是大小写有区别的,无长度限制。 42 线程调用了 sleep()方法后,该线程将进入【 】状态。 43 JscrollPane面板的滚动条通过移动【 】对象实现。 44 编译 Java Applet源 程序文件产生的字节码文件的扩展名为 _。 45 所有由 Container派生的类称为 _。 46 在 Java中,线程的模型就是一个 CPU、程序代码和【 】的封装体。 47 Java语言的执行模式是半编译和【 】。 48 J2SDK的命令可以分为 6类:基本命令、 RMI远程方法调用命令、【 】、安全控制命令、 Java IDL和 RMI-IIOP命令、 Jav
15、a Plug-in命令。 49 Java语言具有可移植性、高性能、健壮性、安全性和独立于体系结构的【 】特点。 50 Applet生命周期方法有 init(),【 】 (), stop()和 destroy()。 国家二级( JAVA)笔试模拟试卷 186答案与解析 1 【正确答案】 D 【试题解析】 软件生命周期的主要活动阶段为: 可行性研究和计划制定。确定待开发软件系统的开发目标和总的要求,给出其功能、性能、可靠性以及接口等方面的可能方案,制定完成开发任务的实施计划。 需求分析。对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能,编写软件规格说明书及初步的用户手册,提
16、交评审。 软件设计 。系统设计人员和程序设计人员应该在反复理解软件需求的基础上,给出软件的结构、模块的划分、功能的分配以及处理流程。 软件实现。完成源程序的编码,编写用户手册、操作手册等面向用户的文档,编写单元测试计划。 软件测试。在设计测试用例的基础上,检验软件的各个组成部分。编写测试分析报告。 运行和维护。将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。 2 【正确答案】 D 【试题解析】 结构化程序设计的方法是自顶向下、逐步求精和模块化。自顶向下是指在程序设计时先 考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。不要一开始就过多追求众
17、多的细节,先从最上层总目标开始设计,逐步使问题具体化;逐步求精是指对复杂问题,应设计一些子目标作过渡,逐步细化;模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,每个小目标称为一个模块。可复用是面向对象程序设计的一个优点。 3 【正确答案】 A 【试题解析】 二分法查找只适用于顺序存储的有序表。 4 【正确答案】 C 5 【正确答案】 A 【试题解析】 Applet是能够嵌入 HTML页面中 ,并在浏览器中运行的 Java类。Applet的运行环境是 Web 浏览器,所以不能直接通过命令行启动,必须建立HTML 文件,告诉浏览器如何加载和运行 Applet。在浏览器中指定此
18、 HTML 文件的 URL,就可以通过 HTML 文件启动 Applet运行。 6 【正确答案】 C 【试题解析】 栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除,是一种 “后进先出 ”的线性表;而队列只允许在表的一端进行插入,在另一端进行删除,是一种“先进先出 ”的线性表。 7 【正确答案】 C 【试题解析】 算法的复杂度主要包括算法的时间复杂度和空间复杂度。算法的时间复杂度是执行算法所需要的计算工作量;算法的空间复杂度是执行这个算法所需要的内存空间。 8 【正确答案】 C 【试题解析】 软件测试的目的不是证明系统的正确或
19、是系统的错误,而是要发现错误以便编程人员能够改正。系统中的错误和缺陷往往受到很多偶然因素的影响,不可能完全发现,只能是尽可能地去发现并加以改正。 9 【正确答案】 A 【试题解析】 本题考查考生对数据库 DB,数据库系统 DBS,数据库管理系统DBMS 3者关系的理解。其中数据库系统是指数据库和数据库管理系统软件的合称。数据库管理系统是一个帮助用户创建和管理数据库的应用程序的集合。数据库是指存储在计算机内有结构的数据集合。 10 【正确答案】 D 【试题解析】 本题考核实体集之间的联系。实体集之间的联系有 3种: 一对一、一对多和多对多。因为一类商品可以由多个顾客购买,而一个顾客可以购买多类商
20、品;所以, “商品 ”与 “顾客 ”两个实体集之间的联系一般是 “多对多 ”,选项D正确。 11 【正确答案】 D 【知识模块】 软件工程基础 12 【正确答案】 B 【试题解析】 Java语言中,标识符是以字母、下划线、美元符开始的一个字符序列,后面可以跟字母、下划线、美元符、数字。 13 【正确答案】 D 【试题解析】 Swing是轻量级的构件,与本地系统无关。 14 【正确答案】 A 【试题解析】 String类的 replace (char oldChar, char newChar)函数的作用是返回一个新的字符串,它是通过用 newChar替换此 字符串中出现的所有 oldChar而
21、生成的。返回的是新字符串,但是原字符串变量的值并未发生改变。因此,输出的是 “hello”而不是 “hemmo”。如果替换语句换为: s=s.replace(l,m);,则输出“hemmo”。 15 【正确答案】 D 【试题解析】 J2EE支持高效率的基于构件的 Web 开发,构件是面向对象的,不是面向过程的。 16 【正确答案】 B 【试题解析】 本题考查 Java语言的虚拟机。 Java语言的执行模式是半编译半解释型。 Java编写好的程序首先由编译器转 换为标准字节代码,然后由 Java虚拟机去解释执行。字节代码是一种二进制文件,但不能直接在操作系统上运行,可看作是虚拟机的机器码。虚拟机
22、把字节码程序与各操作系统和硬件分开,使 Java程序独立于平台。 Java中的虚拟机是非常重要的概念,是 Java语言的基础,掌握后有助于理解 Java语言的实现。 17 【正确答案】 C 【试题解析】 本题考查对成员变量的声明。成员变量的声明格式位:修饰符 type变量名;其中 type可以是 java语言中的任意数据类型,而修饰符可以是 public、protected, private, static, final, transient, volatile等。选项 A错误,成员变量不能同时声明成 public和 protected。选项 B是类的声明格式,并不是成员变量的声明。成员变量声
23、明应以 “; ”结尾,选项 D错误。选项 C声明了一个私有的double型成员变量,为正确答案。 18 【正确答案】 A 【试题解析】 本题考查考生对 swithch (expression)语句的理解。表达式expression 只能返回: int、 byte、 short和 char,题目中的 double是不正确的。 同时还要注意,多分支结构中, case子句的值必须是常量,而且所有 case子句中的值应是不同的, default子句是任选的。 19 【正确答案】 B 【试题解析】 本题考查的是 Java增量运算符 “+”。 x+是先使用后加 1。首先使用 x的值进行表达式的计算,然后才
24、对 x的值加 1。 +x是先加 1后使用。首先对 x的值加 1,然后使用 x的值进行表达式的计算。本题首先生成一个整型变量c,其初始值为 5。第一条输出语句输出 c的初始值,即 5。然后,第二条输出表达式 c抖的结果。先输出 c的值,然后才对 c的值加 1。因 此,第二条输出语句输出的是 5,输出后 c的结果才为 6。最后一条输出语句显然输出结果为 6。因此,本题的正确答案为 B。 20 【正确答案】 C 21 【正确答案】 D 22 【正确答案】 D 23 【正确答案】 D 24 【正确答案】 B 【试题解析】 本题考查 Java语言 %运算符的使用。 %运算符是模数除,也就是求余,表达式为
25、: op1%op2 Java中的二元运算符适用于所有数值型数据类型,但需要注意,如果两个操作数全是 int型,结果也是 int型, 100%3=1;如果两个操作数全是 float型,或其中一个是 float型,而另外一个是整型时,表达式结果是float型, 100%3.0=1.0,所以选项 B 为正确答案。务必注意操作数类型不同时运算结果的类型。 25 【正确答案】 C 【试题解析】 一般情况下, Applet中的 paint()方法有一个参数 8是 Graphics类的实例。而且 update()方法也会用到 Graphics 类的实例。 Graphics 类中提供的绘图方法有两种:一是绘制
26、图形;二是绘制文本。 26 【正确答案】 A 【试题解析】 本题考查 Java中常用监 听器的基本知识。选项 A正确,与ActionEvent事件相应的监听器接口就是 ActionListener;选项 B 错误,没有ActionEventListener监听器;选项 C错误,监听器 ContainerListener监听的是ContainerEvent事件;选项 D错误,没有 ContainerEventListener 该监听器。故本题答案是 A。 27 【正确答案】 D 【试题解析】 使用 X.509认证是 J2SE 的附加安全中的一部分,不是 Profile中定义的内容。 28 【正确
27、答案】 A 【试题解析】 Java语言是区分大小的, B 选项是错误的,这点在初学 Java时要特别注意:选项 C错误,以 “/”开始的应该是单行的注释语句; Java程序源文件名必须和 public类名相同,否则编译出错,故选项 D是错误的。因此正确的答案应该是选项 A。 29 【正确答案】 C 【试题解析】 线程组是由, iava lang 包中的 ThreadGroup 类实现的。在创建线程时可以显式地指定线程组,此时需要从如下 3种线程构造方法中选择一种:public Thread(ThreadGroup group,Runnable target); public Thread(Th
28、readGroup group,String name); public Thread(ThreadGroup group,Runnable target,String name)。 30 【正确答案】 A 【试题解析】 GridBayLayout 是 AWT 中最灵活,同时又是最复杂的一种布局管理器。容器中各个组件所占的空间可以互不相同,故选项 A是正确的。 31 【正确答案】 B 【试题解析】 选项 A的说法是错误的, Swing代构件也具有 AWT对应构件的特征;选项 B是正确的, AWT的按钮和标签只能显示文本,而不能显示图标;选项C是错误的,与 AWT的构件不同,许多 Swing构件
29、如按钮、标签,除了使用文字外,还可以使用图标修饰自己;选项 D的说法错误, Swing构件以 “J”开头。即Swing 大多数构件比 AWT 构件名称前面多了一个 “J”。 32 【正确答案】 D 【试题解析】 本题考查 Java语言的基本特点。选项 A正确, Java最大的特点之一是跨平台、面向对象;选项 B 正确,解释同 A;选项 C正确,多线程是 Java的一 个主要特性,它使可执行程序具有同时保持几个线程执行的能力;选项 D错误, Java不支持宏定义。 33 【正确答案】 D 【试题解析】 此题考查 if语句的用法, x0时打印 “first”, x, -3 x=0时打印 “seco
30、nd”, x=-3时打印 “third”。 34 【正确答案】 D 【试题解析】 本题考查 Java语言的特点及优势。 Java语言提供了丰富的类库,为编程人员提供快速和标准的应用接口,提高了应用软件的生产效率。因此,选项 A的说法正确。 Java围绕网络应用开发, 最大限度的利用网络资源,它的小应用程序 (Applet)在网络上的传输不受计算机 CPU和环境限制。因此,选项 B 的说法正确。 多线程是 Java程序的并发机制,它能同步共享数据、处理不同的事件。因此,选项 C的说法正确。 Java提供的类库支持 TCP/IP协议,应用程序可以通过 URL 地址,在访问网络上任何地方的对象时,如
31、同访问本题文件一样简单。因此,选项 D的说法是错误的。 本题的正确答案是选项 D。 35 【正确答案】 C 【试题解析】 在 java.io包中,接口 Serializable 是实现对象串行化的工具。实际上, Serializable接口是一个空接口,它里面既没有定义抽象方法,也没有定义常量。 Serializable接口的目的只是简单地标识一个类的对象是可以被串行化的。因此,本题的正确答案是 C。 36 【正确答案】 封装 【试题解析】 信息隐蔽是指采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。 37 【正确答案】 过程 【试题解析】 软件工程包括 3个要素:方法、工具和
32、过程。方法是完成软件工程项日的技术手段;工具支持软件的开发、管理、文档生成; 过程支持软件开发的各个环节的控制管理。 38 【正确答案】 javax.swing 【试题解析】 在 javax.swing包中,定义了两种类型的构件:顶层容器(JFrame、 JApplet、 JDialog和 JWindow)和轻量级构件。其中就含有不可编辑信息的显示 JLabel 等。所以需要引入 javax.swing.JLabel。 39 【正确答案】 抽象 【试题解析】 接口是一种只含有抽象方法或常量的一种特殊的抽象类。接口是不包含成员变量和方法实现的抽象类,只包含常量和方法的定义。 40 【正确答案】
33、逻辑判断 【试题解析】 绘制流程图时对实体的描述用椭圆形表示,行动方案用矩形表示,问题用菱形表示,箭头代表流动方向。 41 【正确答案】 字母 【试题解析】 Java语言中,所有的变量、常量、对象和类都是用标识符命各的,标识符的命名规则为:标识符是以字母、下划线、美元符 $作为首字符的字符串序列,在首字符后面可以跟字母、下划线、美元符 $和数字 . 42 【正确答案】 阻塞 【试题解析】 n 果发生下面几种情况时,线程就进入阻塞状态:线程调用了sleep()方法、 join()方法时,线程进入阻塞状态;线程调用 wait()方法时,线程由运行状态进入阻塞状态。 43 【正确答案】 JViewp
34、ort 【试题解析】 视口 (JViewport)类的对象是一种特殊的对象,用于查看基础信息的 “视口 ”或 “观察孔 ”。在滚动时,移动部分称为视口。这好像通过照相机的取景器进行查看。将取景器向上移动会将图片顶部的内容移入视野,而底部的内容将消失。 44 【正确答案】 class 【试题解析】 Applet源程序与任何 java源程序一样,其文件扩展名都为 java,编译之后生成 的目标文件的扩展名为 class,但要执行该小程序,必须有相应的HTML 文件。 45 【正确答案】 容器 【试题解析】 本题考查容器的概念。容器指所有由 Container派生的类,可以包含由 Component
35、 派生的任何类的对象,如 Window类和 Panel 类都由容器类Container直接派生而来: Frame继承自 Window 类; Panel 类派生了 Applet类。其他容器还有面板 Panel、滚动条 ScrollPane 和选项面板 OptionPane。 46 【正确答案】 数据 【试题解析 】 将一个程序转换成为多个独立运行的子任务,每个子任务就是一个线程。线程是程序的一个执行流,它是一个以 CPU为主体的行为。在 Java中,线程的模型就是一个 CPU、程序代码和数据的封装体。 47 【正确答案】 半解释型 【试题解析】 Java不同于一般的编译执行计算机语言和解释执行计
36、算机语言。它首先将源代码编译成字节码,然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了 “一次编译、到处执行 ”的跨平台特性。 48 【正确答案】 国际化命令 【试题解析】 J2SDK的命令可以分为 6类:基本命令、远程方法调用命令RMI、国际化命令、安全控制命令、 Java IDL 和 RMI-IIOP命令、 Java Plug-in命令。 49 【正确答案】 跨平台 【试题解析】 本题考查 Java语言的特点。关于这个知识点的考查,历次考试都有相关内容,务必牢记。 Java语言具有可移植性、高性能、健壮性、安全性和独立于体系结构的跨平台特点。同时 Java语言还具有简单易学、利用面向对象技术、分布式计算、解释执行、多线程、动态性等特点。 50 【正确答案】 start 【试题解析】 本题考查 Applet的生命周期。 Applet声明周期是指从 Applet下载到浏览器,到用户退出浏览器,终止 Applet运行的过程。 Apptet生命周期方法包括 init()方法、 start()方法、 stop()方法和 destroy()方法。