1、国家二级( JAVA)笔试模拟试卷 169及答案与解析 1 下面程序段的输出结果是 int data=0; char k=a,p=f: data=p-k; system.out.println(data); ( A) 0 ( B) a ( C) f ( D) 5 2 下面程序的输出结果是 public class Test public static void main(String args) intarray=2,4,6,8,10; int size=6; int result=-1: try for(int i=0; i size public class XieShuzu public
2、 static void main(String a) intmyArray=10,20,30,40; try DataoutputStream dos=new DataOutputStream(new FileoutputStream(“ints.dat“); for(int i=0; i myArray.1ength; i+)dos._(myArrayi); dos.close(); System.out.println(“已经将整数数组写入二进制文件: ints.dat“); catch(IOException ice) System.out.println(“IO Exception“
3、); ( A) writeArray ( B) writeByte ( C) writeInt ( D) writeDouble 4 下面 Java语句从指定的网址读取 HTML文件,在下画线处应填上的选项是 Reader in=new_(new URL(urlString).openStrream(); ( A) Reader ( B) DataOutputStream ( C) ByteArrayInputStream ( D) InputStreamReader 5 当使用 SomeThread t=new SomeThread()创建一个线程时,下列叙述中正确的是 ( A) SomeT
4、hread类是包含 run()方法的任意 Java类 ( B) SomeThread类一定要实现 Runnable接口 ( C) SomeThread类是 Thread类的子类 ( D) SomeThread类是 Thread类的子类并且要实现 Runnable接口 6 在下面程序的下画线处应填入的选项是 public class Test_ public static void main(String args) Test t=new Test(); Thread tt=new Thread(t); tt.start(); public void run() for(int i=0; i 5
5、;i+) System.out.println(“i=“+i); ( A) implements Runnable ( B) extends Thread ( C) implements Thread ( D) extends Runnable 7 为了支持压栈线程与弹栈线程之间的交互与同步,在下画线处依次填入的语句是 public class IntStack private int idx=0; private intdata=new int8; public _ void push(int i) dataidx=i; idx+; _ ( A) synchronized() notify(
6、) ( B) synchronized() this.wait() ( C) synchronized() this.notify() ( D) synchronized() sleep() 8 下列叙述中正确的是 ( A)对长度为 n的有序链表进行查找,最坏情况下需要比较的次数为 n ( B)对长度为 n的有序链表进行对分查找,最坏情况下需要比较的次数为 n/2 ( C)对长度为 n的有序链表进行对分查找,最坏情况下需要比较的次数为 log2n ( D)对长度为 n的有序链表进行对分查找,最坏情况下需要比较的次数为 nlog2n 9 算法的时间复杂度是指 ( A)算法的执行时间 ( B)算法
7、所处理的数据量 ( C)算法程序中语句或指令的条数 ( D)算法在执 行过程中所需要的基本运算次数 10 软件按功能可以分为应用软件、系统软件和支撑软件。下面属于系统软件的是 ( A)编辑软件 ( B)操作系统 ( C)教务管理系统 ( D)浏览器 11 软件 (程序 )调试的任务是 ( A)诊断和改正程序中的错误 ( B)尽可能多地发现程序中的错误 ( C)发现和改正程序中的所有错误 ( D)确定程序中的错误性质 12 数据流程图 (DFD图 )是 ( A)软件概要设计的工具 ( B)软件详细设计的工具 ( C)结构化方法的需求分析工具 ( D)面向对象方法的需求分析工 具 13 软件生命周
8、期可分为定义阶段、开发阶段和维护阶段。详细设计属于 ( A)定义阶段 ( B)开发阶段 ( C)维护阶段 ( D)上述三个阶段 14 数据库管理系统中负责数据模式定义的语句是 ( A)数据定义语言 ( B)数据管理语言 ( C)数据操纵语言 ( D)数据控制语言 15 在学生管理的关系数据库中,存取一个学生信息的数据单位是 ( A)文件 ( B)数据库 ( C)字段 ( D)记录 16 数据库设计中,用 E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的 ( A)需求分析阶段 ( B)逻辑设计阶段 ( C)概念设计阶段 ( D)物理设计阶段 17 Java中定义常量的保留字
9、是 ( A) const ( B) final ( C) finally ( D) native 18 下列有关 Java布尔类型的描述中,正确的是 ( A)一种基本的数据类型,它的类型名称为 boolean ( B)用 int表示类型 ( C)其值可以赋给 int类型的变量 ( D)有两个值, 1代表真, 0代表假 19 Java中所有类的父类是 ( A) Father ( B) Lang ( C) Exception ( D) Object 20 下列数中为八进制的是 ( A) 27 ( B) 0x25 ( C) 26 ( D) 28 21 下列方法中,不属于 Throwable类的方法是
10、 ( A) printMessage ( B) getMessage ( C) toString ( D) fillInStackTrace 22 下列包中,包含 JOptionPane类的是 ( A) javax.swing ( B) java.lang ( C) java.util ( D) java.applet 23 下 列选项中,与成员变量共同构成一个类的是 ( A)关键字 ( B)方法 ( C)运算符 ( D)表达式 24 Java中的抽象类 Reader和 Writer所处理的流是 ( A)图像流 ( B)对象流 ( C)字节流 ( D)字符流 25 下列叙述中,错误的是 ( A
11、)内部类的名称与定义它的类的名称可以相同 ( B)内部类可用 abstract修饰 ( C)内部类可作为其他类的成员 ( D)内部类可访问它所在类的成员 26 用于在子类中调用被重写父类方法的关键字是 ( A) this ( B) super ( C) This ( D) Super 27 下列不属于表达式语句的是 ( A) +i; ( B) -j; ( C) b#a; ( D) b*=a; 28 下列为窗口事件的是 ( A) MouseEvent ( B) WindowEvent ( C) ActionEvent ( D) KeyEvent 29 用鼠标点击菜单项 (MenuItem)产生的
12、事件是 ( A) MenuEvent ( B) ActionEvent ( C) KeyEvent ( D) MouseEvent 30 下列不属于逻辑运算符的是 ( A) ! ( B) | ( C) /如果 score超过 60分,则结果是 passed,否则是 doesnt pass result=(score =60)?“passed“:“doesnt pass“: System.out.println(result); return result; public static void main(String args) OperatorsAndExpressions OperAndE
13、xp=new OperatorsAndExpressions(); /条件表达式 OperAndExp.conditionalExpression(65); 程序的执行结果是 _。 36 阅读下面程序 int i=3.j; outer:while(i 0) j=3; inner:while(j 0) if(j 2)break outer; System.out.println(j+“and“+i); j-; i-; 被输出到屏幕的第一行结果是 _。 37 在深度为 7的满二叉树中,度为 2的结点个数为 _。 38 软件测试分为白箱 (盒 )测试和黑箱 (盒 )测试。等价类划分法属 于 _测试。
14、 39 在数据库系统中,实现各种数据管理功能的核心软件称为 _。 40 软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于 _阶段。 41 _是为嵌入式和移动设备提供的 Java平台。 42 在 Java中,转义字符 “n”表示 _。 43 类是变量和 _的集合体。 44 Java中的异常对象是 Error类或 Exception 类的对象,这两类对象中 _类的对象不会被 Java应用程序捕获和抛出。 45 在 java.io包中,字符输出流类都是 _类的子类。 46 在 Java线程中,共享数据的所有访问都必须作为临界区,使用 _进行加锁控制。 47 Swing
15、是由纯 Java实现的轻量级构件,没有本地代码,不依赖 _系统的支持。这是它与 AWT构件的最大区别。 48 Applet类属 _包。 国家二级( JAVA)笔试模拟 试卷 169答案与解析 1 【正确答案】 D 2 【正确答案】 B 【试题解析】 ArithmeticException 是当出现异常的运算条件时,抛出此异常。例如,一个整数 “除以零 ”时,是抛出此类的一个实例;ArrayIndexOutOfBoundsException 是用非法索引访问数组时抛出的异常。如果索引为负或大于等于数组大小,则该索引为非法索引。本程序中,数组大小为 5个元素,数组下标为 0 4,而循环为 0 5,
16、数组越界,所以会捕获ArrayIndexOutOfBoundsException。 3 【正确答案】 C 【试题解析】 字节输出流首先要实现 DataOutput接口,字节数据流DataOutputStream是一个实现这一接口的类。字节数据是以文件输出流FileOutputStream对象的形式作为 DataOutputStream的构造方法的参数。字节数据来自二进制文件,二进制文件作为 FileOutputSteam对象的构造方法的参数出现。 writeInt方法是将一个 int值以 4字节值形式写入基础输出流中,先写入高字节,本程序中写入的是整型数值,所以答案为 C。 4 【正确答案 】
17、 A 5 【正确答案】 C 6 【正确答案】 A 【试题解析】 创建线程有两种方法:实现 java.lang.Runnahle 接口和继承Thread 类并重写 run()方法。从创建线程实例的语句 Thread tt=new Thread(t);可以看出本程序将 Test类的实例 t作为参数传递给 Thread 类的构造方法,因此是通过实现 Runnable 接口创建线程。 7 【正确答案】 C 【试题解析】 一个程序中单独的、并发的线程对同一个对象进行访问的代码段,称为临界区。在 Java语言中,临界 区可以是一个语句块或是一个方法,并且用synchronized 关键字标识。本程序中 p
18、ush()方法即为临界区,所以需要用synchronized 关键字标识。 this.notify()把当前堆栈对象的 wait pool中的一个线程释放到 lock pool,等待该堆栈的锁以便运行。 8 【正确答案】 A 【试题解析】 有序链表中定位元素需要通过指针逐个查找,所以对分查找的意义不大。选项 A正确。 9 【正确答案】 D 【试题解析】 算法的时间复杂度是指执行算法所需要的计算工作量。度量一个算法的 工作量,可用算法在执行过程中所需基本运算的执行次数来度量。选项 D正确。 10 【正确答案】 B 【试题解析】 教务管理系统是为解决特定领域的应用而开发的软件,属于应用软件,编辑软
19、件和浏览器是支撑软件,只有操作系统是系统软件。选项 B 正确。 11 【正确答案】 A 【试题解析】 软件 (程序 )调试的任务是为了诊断和改正程序中的错误,软件 (程序 )测试的任务才是为了发现错误。选项 A正确。 12 【正确答案】 C 【试题解析】 数据流程图 (DF 13 【正确答案】 B 【试题解析 】 软件生命周期由软件定义、软件开发和软件维护三个阶段组成。软件定义可分为软件系统的可行性研究和需求分析两个阶段。软件开发阶段由 5个阶段组成:概要设计、详细设计、编写代码、组装测试和确认测试。软件维护时期的主要任务是使软件持久地满足用户的需要。选项 B 正确。 14 【正确答案】 A
20、【试题解析】 数据定义语言 (DataDefinitionLanguage, DDL)用于定义数据库的所有特性和属性,尤其是行布局、列定义、键列 (有时是选键方法 )、文件位置和存储策略。选项 A正确。 15 【正确答案】 D 【试题解析】 在学生管理的关系数据库中,存取一个学生信息的数据单位是记录。选项 D正确。 16 【正确答案】 B 【试题解析】 用 E-R图来描述信息结构属于数据库设计的逻辑设计阶段。选项 B正确。 17 【正确答案】 B 【试题解析】 final 属性是专门定义常量变量的保留字,说明该变量赋值以后永不改变,变量初值是该变量的默认值。 18 【正确答案】 A 【试题解析
21、】 Java语言中 boolean 型数据只有两个值: true(真 )和 false(假 )。它不对应任何数值,也不能与 数字进行相互转换。 19 【正确答案】 D 【试题解析】 java.lang包封装所有编程应用的基本类,如 Object、 Class、String、 System、 Integer、 Thread 等。而 Object是所有类的根,它所包含的属性和方法被所有类继承。 20 【正确答案】 C 【试题解析】 整型常量分 3种书写格式:十进制、八进制和十六进制,八进制整数以 0开头且各位数字小于 8。 21 【正确答案】 A 【试题解析】 Java中所有的异常对象都必须是 T
22、hrowable类的实例或其 子类的实例。 Throwable 类中的方法对抛出异常进行描述。方法 getMessage返回此Throwable的详细信息字符串;方法 toString 返回此 Throwable 的简短描述;方法 fillInStackTrace 在异常堆栈跟踪中填充。 22 【正确答案】 A 【试题解析】 JOptionPane有助于弹出要求用户提供值或向其发出通知的标准对话框,是 javax.swing的子类。 23 【正确答案】 B 【试题解析】 在 Java中,类是程序的基本要素,由成员变量和成员方法组成。 24 【正确答案】 D 【试题解析】 Java的 I/O 功
23、能主要是通过输入输出类库 java.io 包实现的,java.io包中包括了可以处理字节流、字符流、文件流和对象流等的类。 Java.io包中的抽象类有:字节流的抽象类 InputStream和 OutputStream;过滤流的抽象类FilterOutputStream和 FiherInputStream;字符流的抽象类 Reader 和 Writer;压缩抽象类 InflaterInputStream和 DeflaterOutputStream。 25 【正确 答案】 A 【试题解析】 内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用,外部使用它时必须给出类的全名。而且,内部类
24、的类名不允许与包含它的类名相同。 26 【正确答案】 B 【试题解析】 当子类隐藏了父类的变量,并重写了父类方法后,又要使用父类变量或父类被重写的方法时,可通过 super来实现对父类变量和父类方法的调用。super是用来引用当前对象的父类。 27 【正确答案】 C 【试题解析】 “#”不是合法的 Java运算符,所以选项 C不是表达式。 28 【正确答案 】 B 【试题解析】 MouseEvent为鼠标事件类, ActionEvent为动作事件类,KeyEvent为键盘事件类。 29 【正确答案】 D 【试题解析】 鼠标事件 MouseEvent包含鼠标移动和鼠标点击等,本题中用鼠标点击了菜
25、单项,所以是鼠标时间。 30 【正确答案】 D 【试题解析】 选项 D中的 “|”为位运算符。选项 A为逻辑非运算符,选项 B 为逻辑或运算符,选项 C为逻辑与运算符。 31 【正确答案】 D 【试题解析】 线程调用 wait()方法时,线程由运行状态进 入等待阻塞状态;在等待阻塞状态下的线程若被 notifyAll()和 notionAll()唤醒、被 interrupt()中断或者等待时间到,线程将进入对象锁阻塞状态,而不是直接进入可运行状态。 32 【正确答案】 B 【试题解析】 init()方法是在 Applet被下载时调用,一般用来完成所有必需的初始化操作; start()方法是在
26、Applet初始化之后以及 Applet被重新访问时调用,使Applet成为激活状态;当 Applet被覆盖时或退出时,调用 stop()方法可以停止线程。 start()与 stop()是一对相对应的方法,一般常在 start()启动一些动作,而在stop()中暂停这些动作; destroy()方法是在关闭浏览器 Applet从系统中撤出时调用,彻底终止 Applet,从内存卸载并释放该 Applet的所有资源。 33 【正确答案】 C 【试题解析】 选项 A、 B、 D为 applet必须有的属性,只有选项 C为可选属性。 34 【正确答案】 C 35 【正确答案】 passed 【试题解
27、析】 条件运算符的形式为 expression1? expression2:expression3。如果expression1 的结果为 true,则计算 expression2,并将结果作为整个表达式的值;如果 expression1 的结果为 false,则计算 expression3,并将结果作为整个表达式的值。本程序中, score=65, score 60的判断结果为 true,所以 result=“passed“,最后输出结果当然也是 passed。 36 【正确答案】 3 and 3 【试题解析】 第一次执行外层循环时,为 j赋初值 3,然后开始执行内层循环。j=3显然满足 j
28、0的条件,进入内层 循环体执行 if语句。由于不满足 j 2的条件,因此执行 System.out.println(j+“and“+i);语句,输出屏幕的第一行结果即 3 and 3。 37 【正确答案】 63 38 【正确答案】 黑箱或黑盒 【试题解析】 黑箱测试是根据程序规格说明所规定的功能来设计测试用例,它不考虑程序的内部结构和处理过程。常用的黑箱测试技术分为等价类划分、边界分析、错误猜测及因果图等。 39 【正确答案】 数据库管理系统 (DBMS) 【试题解析】 数据库管理系统 (DatabaseManagementSystem, DBMS)对数据库进行统一的管理和控制,以保证数据库的
29、安全性和完整性。它是数据库系统的核心软件。 40 【正确答案】 开发 【试题解析】 软件生命周期 (SDLC,也称软件生存周期 )是软件的产生直到报废的生命周期,周期内有问题定义、可行性分析、总体描述、系统设计、编码、调试和测试、验收与运行、维护升级与废弃等阶段,其中的编码和测试属于开发阶段。 41 【正确答案】 J2ME 【试题解析】 J2ME 是一种高度优化的 Java运行环境,主要针对消费类电子设备,例如蜂窝电话 和可视电话、数字机顶盒、汽车导航系统等。它将 Java语言的与平台无关的特性移植到小型电子设备上,允许移动无线设备之间共享应用程序。因而 J2ME 是为嵌入式和移动设备提供的
30、Java平台。 42 【正确答案】 换行 43 【正确答案】 方法 【试题解析】 类是变量和方法的集合体。类是 Java程序中的基本结构单位。所有的 Java语句出现在方法中,所有的方法都定义在类中。 44 【正确答案】 Exception 【试题解析】 Throwable 类分为 Error和 Exception 两个子类, Error类包括动态连接失败、硬件设备和虚拟机出错等,通常的 Java应用程序不会捕获和抛出这类异常,而是捕获和抛出 Exception 类异常,它包括运行时出现的异常,并对类异常作出处理。 45 【正确答案】 Writer 【试题解析】 字符输出流类都是 Writer
31、抽象类的子类,其中包括 PrintWriter类、 OutputStreamWriter类等。 46 【正确答案】 synchronized 【试题解析】 在 Java线程中,共享数据的访问都必须作为临界区,使用synchronized 进行 加锁控制。用 synchronized 保护的共享数据必须是私有的。 47 【正确答案】 操作 【试题解析】 Swing是由纯 Java实现的轻量级构件,没有本地代码,不依赖操作系统的支持,这是它与 AWT构件的最大的区别。 48 【正确答案】 java.applet 【试题解析】 任何嵌入 Web 浏览器或者 Javaappletviewer中的 Applet必须是java.applet.Applet类的子类,所以说 Applet类是属于 java.applet包的。