1、二级 JAVA 笔试-92 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.用鼠标单击菜单项(MenuItem)产生的事件是( )。(分数:2.00)A.MenuEventB.ActionEventC.KeyEventD.MouseEvent2.数据流程图(DFD 图)是( )。(分数:2.00)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具3.下列选项中,与成员变量共同构成一个类的是( )。(分数:2.00)A.关键字B.方法C.运算符D.表达式4.软件(程序)调试的任务是( )。(
2、分数:2.00)A.诊断和改正程序中的错误B.尽可能多地发现程序中的错误C.发现并改正程序中的所有错误D.确定程序中错误的性质5.Java 中的抽象类 Reader 和 Writer 所处理的流是( )。(分数:2.00)A.图像流B.对象流C.字节流D.字符流6.下列叙述中正确的是( )。(分数:2.00)A.对长度为 n 的有序链表进行查找,最坏情况下需要的比较次数为 nB.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(log 2n)D.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比
3、较次数为(nlog 2n)7.为了支持压栈线程与弹栈线程之间的交互与同步,在程序的下画线处依次填入的语句是( )。public class IntStackprivate int idx=0;private intdata=new int8;public void push(int i)dataidx=i;idx+;_ (分数:2.00)A.synchronized()notify()B.synchronizedthis.wait()C.synchronizedthis.notify()D.Serializablesleep()8.数据库设计中,用 E-R 图来描述信息结构但不涉及信息在计算机
4、中的表示,它属于数据库设计的( )。(分数:2.00)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段D.物理设计阶段9.用于在子类中调用被重写父类方法的关键字是( )。(分数:2.00)A.thisB.superC.ThisD.Super10.下列叙述中,错误的是( )。(分数:2.00)A.内部类的名称与定义它的类的名称可以相同B.内部类可用 abstract 修饰C.内部类可作为其他类的成员D.内部类可访问它所在类的成员11.在程序的下画线处应填入的选项是( )。public class Test_public static void main(String args)Test t=ne
5、w Test();Thread tt=new Thread(t);tt.start();public void run()for(int i=0;i5;i+)System.out.println(“i=“+i);(分数:2.00)A.implements RunnableB.extends ThreadC.implements ThreadD.extends Runnable12.Java 中所有类的父类是( )。(分数:2.00)A.FatherB.DangC.ExceptionD.Object13.下列关于 Java 布尔类型的描述中,正确的是( )。(分数:2.00)A.一种基本的数据类
6、型,它的类型名称为 booleanB.用 int 表示类型C.其值可以赋给 int 类型的变量D.有两个值,1 代表真,0 代表假14.下列不属于表达式语句的是( )。(分数:2.00)A.+i;B.-j;C.b#a;D.b*=a;15.下列不属于逻辑运算符的是( )。(分数:2.00)A.!B.|C.(分数:2.00)A.ReaderB.DataOutputStreamC.ByteArray InputStreamD.InputStreamReader18.下列为窗口事件的是( )。(分数:2.00)A.MouseEventB.WindowEventC.ActionEventD.KeyEve
7、nt19.有两个关系 R 和 T 如下:(分数:2.00)A.B.C.D.20.算法的时间复杂度是指( )。(分数:2.00)A.算法的执行时间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的基本运算次数21.当一个 Applet 被加载,后续对 Applet 生命周期方法的调用中,可能存在的次序是( )。(分数:2.00)A.start(),stop(),destroy()B.init(),start(),stop(),start(),stop(),destroy()C.start(),init(),stop(),destroy()D.init(),start
8、(),destroy()22.Java 中定义常量的保留字是( )。(分数:2.00)A.constB.finalC.finallyD.native23.在 HTML 文件的applet标志中作为可选属性的是( )。(分数:2.00)A.Applet 主类的文件名B.Applet 显示区域的宽度C.Applet 主类的路径D.Applet 显示区域的高度24.下列程序的输出结果是( )。Public class TestPublic static void main(Stringargs)intarray=(2,4,6,8,10);int size=6;int result=-1;tryfor
9、(int i=0;isize)if(arrayi=20)result=i;catch(ArithmeticException e)System.out.println(“Catch-1);catch(ArrayIndexOutOfBoundsException e)System.out.println(“Catch-2);catch(Exception e)System.out.println(“Catch-3“);(分数:2.00)A.Catch-1B.Catch-2C.catch-3D.以上都不对25.在学生管理的关系数据库中,存取一个学生信息的数据单位是( )。(分数:2.00)A.文件
10、B.数据库C.字段D.记录26.下列包中,包含 JOptionPane 类的是( )。(分数:2.00)A.javax.swingB.java.langC.java.utilD.java.applet27.如果线程正处于阻塞状态,不能够使线程直接进入可运行状态的情况是( )。(分数:2.00)A.sleep()方法的时间到B.获得了对象的锁C.线程在调用 t.join()方法后,线程 t 结束D.wait()方法结束28.下列程序段的输出结果是( )。int data=0;char k=a,p=f;data=p-k;System.out.printlln(data);(分数:2.00)A.0B
11、.aC.fD.529.如果应用程序要在 Applet 上显示输出,则必须重写的方法是( )。(分数:2.00)A.Graphics.drawString()B.repaint()C.paint()D.update()30.软件生命周期可分为定义阶段、开发阶段和维护阶段。详细设计属于( )。(分数:2.00)A.定义阶段B.开发阶段C.维护阶段D.上述三个阶段31.下列程序的功能是将一个整数数组写入二进制文件,在程序的下画线处应填入的选项是( )。import java.io.*;public class XieShuzupublic static void main(Stringa)intmy
12、Array=(10,20,30,40);tryDataOutputStream dos=new DataOutputStream(newFileOutput Stream(“ints.dat“);for(int i=0;imyArray.length;i+)dos._(myArrayi);dos.close();System.out.println(“已经将整数数组写入二进制文件:ints.dat“);catch(IOException ioe)System.out.println(“IO Excepr_on“);(分数:2.00)A.writeArrayB.writeByteC.writeI
13、ntD.writeDouble32.数据库管理系统中负责数据模式定义的语言是( )。(分数:2.00)A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言33.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件),下面属于系统软件的是( )。(分数:2.00)A.编辑软件B.操作系统C.教务管理系统D.浏览器34.下列数中为八进制的是( )。(分数:2.00)A.27B.0x25C.026D.02835.下列方法中,不属于 Throwable 类的方法是( )。(分数:2.00)A.printMessageB.getMessageC.toStringD.fillStackT
14、race二、填空题(总题数:15,分数:30.00)36.一个队列的初始状态为空。现将元素 A,B,C,D,E,F,5,4,3,2,1 依次入队,然后再依次退队则元素退队的顺序为 1。(分数:2.00)填空项 1:_37.设某循环队列的容量为 50,如果头指针 front=45(指向队头元素的前一位置),尾指针 rear=10(指向队尾元素),则该循环队列中共有 1 个元素。(分数:2.00)填空项 1:_38.设二叉树如下所示:对该二叉树进行后序遍历的结果为_。(分数:2.00)填空项 1:_39.软件是 1、数据和文档的集合。(分数:2.00)填空项 1:_40.有一个学生选课的关系,其中
15、学生的关系模式为:(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学好, 1,成绩)。(分数:2.00)填空项 1:_41.C 语言是面向过程的语言,Java 语言是面向 1 的语言。(分数:2.00)填空项 1:_42.Java 字节码文件的扩展名是 1。(分数:2.00)填空项 1:_43.JDBC 是 Java 程序与 1 连接的一种机制。(分数:2.00)填空项 1:_44.能够用于创建可变字符串对象的类是 1。(分数:2.00)填空项 1:_45. 1 类在定义数组时,不必限定数组的大小。(
16、分数:2.00)填空项 1:_46.下列程序的功能是统计命令行参数的个数,请在下画线处填上适当的代码。public class Lengthpublic static void main(string args)System.out.println(“number of string args:“+args._);(分数:2.00)填空项 1:_47.Java 中的返回语句是 1 语句。(分数:2.00)填空项 1:_48.Java 中,线程必须属于一个进程,线程是程序运行中的一个 1。(分数:2.00)填空项 1:_49.线程由于调用 sleep1 方法进入阻塞状态,当睡眠结束时,该线程将进
17、入 2 状态。(分数:2.00)填空项 1:_50.在下列 Java Applet 程序的下画线处填入代码,使程序完整并能够正确运行。import java.applet.*;import java.awt.*;public class HelloWorld_public void paint(Graphics g)g.drawString(“Hello World!“,25,25);(分数:2.00)填空项 1:_二级 JAVA 笔试-92 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.用鼠标单击菜单项(MenuItem)产生的事件是(
18、)。(分数:2.00)A.MenuEventB.ActionEvent C.KeyEventD.MouseEvent解析:解析 ActionEvent 是组件事件,当特定于组件的动作(比如被按下)发生时,由组件(比如 Button)生成此高级别事件。事件被传递给每一个 ActionListener 对象,这些对象是使用组件的addActionListener 方法注册的,用以接收这类事件。2.数据流程图(DFD 图)是( )。(分数:2.00)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具 解析:解析 数据流程图是一种结构化分析描述模型,
19、用来对系统的功能需求进行建模。3.下列选项中,与成员变量共同构成一个类的是( )。(分数:2.00)A.关键字B.方法 C.运算符D.表达式解析:解析 类体中定义的两种成员是数据成员和成员函数。4.软件(程序)调试的任务是( )。(分数:2.00)A.诊断和改正程序中的错误 B.尽可能多地发现程序中的错误C.发现并改正程序中的所有错误D.确定程序中错误的性质解析:解析 调试的目的是发现错误或导致程序失效的错误原因,并修改程序以修正错误。调试是测试之后的活动5.Java 中的抽象类 Reader 和 Writer 所处理的流是( )。(分数:2.00)A.图像流B.对象流C.字节流D.字符流 解
20、析:解析 Reader/Writer 所处理的流是字符流,Inputstream/OutputStream 的处理对象是字节流。6.下列叙述中正确的是( )。(分数:2.00)A.对长度为 n 的有序链表进行查找,最坏情况下需要的比较次数为 nB.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(log 2n) D.对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog 2n)解析:解析 二分法查找只适用于顺序存储的有序表,对于长度为 n 的有序线性表,最坏情况只需比较log2n
21、次。7.为了支持压栈线程与弹栈线程之间的交互与同步,在程序的下画线处依次填入的语句是( )。public class IntStackprivate int idx=0;private intdata=new int8;public void push(int i)dataidx=i;idx+;_ (分数:2.00)A.synchronized()notify()B.synchronizedthis.wait() C.synchronizedthis.notify()D.Serializablesleep()解析:解析 在 Synchronized 块中等待共享数据的状态改变时调用 walt(
22、)方法,这样该线程等待并暂时释放共享数据对象的锁。8.数据库设计中,用 E-R 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的( )。(分数:2.00)A.需求分析阶段B.逻辑设计阶段C.概念设计阶段 D.物理设计阶段解析:解析 E-R 图为实体-联系图,提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型。9.用于在子类中调用被重写父类方法的关键字是( )。(分数:2.00)A.thisB.super C.ThisD.Super解析:解析 super 可用于调用被重写的父类方法,注意 Java 区分大小写。10.下列叙述中,错误的是( )。(分数:2.00)A.内
23、部类的名称与定义它的类的名称可以相同 B.内部类可用 abstract 修饰C.内部类可作为其他类的成员D.内部类可访问它所在类的成员解析:解析 内部类与外部类的名称不能相同。11.在程序的下画线处应填入的选项是( )。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;i5;i+)System.out.println(“i=“+i);(分数:2.00)A.implements
24、 Runnable B.extends ThreadC.implements ThreadD.extends Runnable解析:解析 Test 类实现了 Runnable 接口。12.Java 中所有类的父类是( )。(分数:2.00)A.FatherB.DangC.ExceptionD.Object 解析:解析 Object 是所有类的根。13.下列关于 Java 布尔类型的描述中,正确的是( )。(分数:2.00)A.一种基本的数据类型,它的类型名称为 boolean B.用 int 表示类型C.其值可以赋给 int 类型的变量D.有两个值,1 代表真,0 代表假解析:解析 布尔类型数
25、据只有两个值 true(真)和 false(假),不对应任何数字,不能与数字进行转换,布尔类型数据一般用于逻辑判别。14.下列不属于表达式语句的是( )。(分数:2.00)A.+i;B.-j;C.b#a; D.b*=a;解析:解析 前两项是自加减运算,最后一项是 b=b*a。15.下列不属于逻辑运算符的是( )。(分数:2.00)A.!B.|C.(分数:2.00)A.Reader B.DataOutputStreamC.ByteArray InputStreamD.InputStreamReader解析:解析 创建一个 Reader 流的对象 in。18.下列为窗口事件的是( )。(分数:2.
26、00)A.MouseEventB.WindowEvent C.ActionEventD.KeyEvent解析:解析 MouseEvent 是鼠标事件,ActionEvent 是组件事件,KeyEvent 是键盘事件。19.有两个关系 R 和 T 如下:(分数:2.00)A.B.C.D. 解析:解析 关系的选择运算是指从关系 R 中得到满足给定条件的元组组成新的关系。由题可以看出,T 是由满足条件 R.B=T.B and R.C=T.C 进行选择得到的。20.算法的时间复杂度是指( )。(分数:2.00)A.算法的执行时间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所
27、需要的基本运算次数 解析:解析 算法的时间复杂度是指算法需要消耗的时间资源。一般来说,计算机算法是问题规模 n 的函数 f(n),算法的时间复杂度也因此记做 T(n)=0(f(n)因此,算法执行的时间的增长率与 f(n)的增长率正相关,称作渐进时间复杂度(Asymptotic Time Compkxity)。简单来说就是算法在执行过程中所需要的基本运算次数。21.当一个 Applet 被加载,后续对 Applet 生命周期方法的调用中,可能存在的次序是( )。(分数:2.00)A.start(),stop(),destroy()B.init(),start(),stop(),start(),s
28、top(),destroy() C.start(),init(),stop(),destroy()D.init(),start(),destroy()解析:解析 init()一般用来完成所有必需的初始化操作,start()是在初始化之后 Applet 被加载时调用,stop()在 Applet 停止执行时调用,destory()是 Applet 从系统中撤出时调用。22.Java 中定义常量的保留字是( )。(分数:2.00)A.constB.finalC.finally D.native解析:解析 final 是最终的修饰符,其修饰的是常量。23.在 HTML 文件的applet标志中作为可
29、选属性的是( )。(分数:2.00)A.Applet 主类的文件名 B.Applet 显示区域的宽度C.Applet 主类的路径D.Applet 显示区域的高度解析:解析 通过使用Applet标记,至少要指定 Applet 子类的位置以及浏览器中 Applet 的显示大小。24.下列程序的输出结果是( )。Public class TestPublic static void main(Stringargs)intarray=(2,4,6,8,10);int size=6;int result=-1;tryfor(int i=0;isize)if(arrayi=20)result=i;catc
30、h(ArithmeticException e)System.out.println(“Catch-1);catch(ArrayIndexOutOfBoundsException e)System.out.println(“Catch-2);catch(Exception e)System.out.println(“Catch-3“);(分数:2.00)A.Catch-1B.Catch-2 C.catch-3D.以上都不对解析:解析 本题考查了数组及 for 循环。本题数组定义的值为 5,下标从 04。数组越界,所以答案为 B。25.在学生管理的关系数据库中,存取一个学生信息的数据单位是( )
31、。(分数:2.00)A.文件B.数据库C.字段D.记录 解析:解析 一个数据库由一个文件或文件集合组成。这些文件中的信息可分解成一个个记录。26.下列包中,包含 JOptionPane 类的是( )。(分数:2.00)A.javax.swing B.java.langC.java.utilD.java.applet解析:解析 Swing 中提供了 JOptionPane 类来实现类似 Windows 平台下的 MessageBox 的功能,利用JOptionPane 类中的各个 static 方法来生成各种标准的对话框,实现显示信息、提出问题、警告、用户输入参数等功能,且这些对话框都是模式对话
32、框。27.如果线程正处于阻塞状态,不能够使线程直接进入可运行状态的情况是( )。(分数:2.00)A.sleep()方法的时间到B.获得了对象的锁C.线程在调用 t.join()方法后,线程 t 结束D.wait()方法结束 解析:解析 wait()会使线程放弃对象锁,进入等待此对象的等待锁定池。28.下列程序段的输出结果是( )。int data=0;char k=a,p=f;data=p-k;System.out.printlln(data);(分数:2.00)A.0B.aC.fD.5 解析:解析 a 和 f 的 ASCII 值相差 5。29.如果应用程序要在 Applet 上显示输出,则
33、必须重写的方法是( )。(分数:2.00)A.Graphics.drawString()B.repaint()C.paint() D.update()解析:解析 paint()是画 Applet 界面的基本方法。30.软件生命周期可分为定义阶段、开发阶段和维护阶段。详细设计属于( )。(分数:2.00)A.定义阶段B.开发阶段 C.维护阶段D.上述三个阶段解析:解析 开发阶段在开发初期分为需求分析、总体设计和详细设计三个阶段,在开发后期分为编码和测试两个子阶段。31.下列程序的功能是将一个整数数组写入二进制文件,在程序的下画线处应填入的选项是( )。import java.io.*;publi
34、c class XieShuzupublic static void main(Stringa)intmyArray=(10,20,30,40);tryDataOutputStream dos=new DataOutputStream(newFileOutput Stream(“ints.dat“);for(int i=0;imyArray.length;i+)dos._(myArrayi);dos.close();System.out.println(“已经将整数数组写入二进制文件:ints.dat“);catch(IOException ioe)System.out.println(“IO
35、 Excepr_on“);(分数:2.00)A.writeArrayB.writeByteC.writeInt D.writeDouble解析:解析 向流中写入整数数组,用 WrinteInt 方法。32.数据库管理系统中负责数据模式定义的语言是( )。(分数:2.00)A.数据定义语言B.数据管理语言C.数据操纵语言 D.数据控制语言解析:解析 模式描述语言(Data Description Language,DDL)来描述、定义的,体现、反映了数据库系统的整体观。33.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件),下面属于系统软件的是( )。(分数:2.00)A.编辑软件B
36、.操作系统C.教务管理系统 D.浏览器解析:解析 编辑软件和浏览器属于工具软件,教务系统是应用软件。34.下列数中为八进制的是( )。(分数:2.00)A.27B.0x25C.026 D.028解析:解析 采用 0,1,2,3,4,5,6,7 八个数码,逢八进位,并且开头一定要以数字 0 开头的为八进制。35.下列方法中,不属于 Throwable 类的方法是( )。(分数:2.00)A.printMessageB.getMessageC.toString D.fillStackTrace解析:解析 toString 是 Object 类的方法,所有类都从 Object 类继承。二、填空题(总
37、题数:15,分数:30.00)36.一个队列的初始状态为空。现将元素 A,B,C,D,E,F,5,4,3,2,1 依次入队,然后再依次退队则元素退队的顺序为 1。(分数:2.00)填空项 1:_ (正确答案:A,B,C,D,E,F,5,4,3,2,1)解析:解析 队列是先进先出的。37.设某循环队列的容量为 50,如果头指针 front=45(指向队头元素的前一位置),尾指针 rear=10(指向队尾元素),则该循环队列中共有 1 个元素。(分数:2.00)填空项 1:_ (正确答案:15)解析:解析 队列个数=rear-front+容量。38.设二叉树如下所示:对该二叉树进行后序遍历的结果为
38、_。(分数:2.00)填空项 1:_ (正确答案:EDBGHFCA)解析:解析 先遍历左子树,然后遍历右子树,最后遍历访问根结点,各子树都是同样的递归遍历。39.软件是 1、数据和文档的集合。(分数:2.00)填空项 1:_ (正确答案:程序)解析:解析 参考软件的定义。40.有一个学生选课的关系,其中学生的关系模式为:(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学好, 1,成绩)。(分数:2.00)填空项 1:_ (正确答案:课号)解析:解析 课号是课程的唯一标识即主键。41.C 语言是面向过程
39、的语言,Java 语言是面向 1 的语言。(分数:2.00)填空项 1:_ (正确答案:对象)解析:解析 参考 Java 简介。42.Java 字节码文件的扩展名是 1。(分数:2.00)填空项 1:_ (正确答案:.class)解析:解析 Java 文件经过 JVM 编译成字节码文件,即.class 文件。43.JDBC 是 Java 程序与 1 连接的一种机制。(分数:2.00)填空项 1:_ (正确答案:数据库)解析:解析 JDBC(Java Data Base Connectivity,java 数据库连接)是用于执行 SQL 语句的 Java API,可以为多种关系数据库提供统一访问
40、,它由一组用 Java 语言编写的类和接口组成。44.能够用于创建可变字符串对象的类是 1。(分数:2.00)填空项 1:_ (正确答案:StringBuffer)解析:解析 它能提供长度可变字符串对象的表示。45. 1 类在定义数组时,不必限定数组的大小。(分数:2.00)填空项 1:_ (正确答案:ArrayList)解析:解析 它是在运行时动态自动调整组的大小。46.下列程序的功能是统计命令行参数的个数,请在下画线处填上适当的代码。public class Lengthpublic static void main(string args)System.out.println(“numb
41、er of string args:“+args._);(分数:2.00)填空项 1:_ (正确答案:length)解析:解析 统计数组的长度即所需参数的个数。47.Java 中的返回语句是 1 语句。(分数:2.00)填空项 1:_ (正确答案:return)解析:解析 作用是从当前方法中退出,返回到调用该方法的语句。48.Java 中,线程必须属于一个进程,线程是程序运行中的一个 1。(分数:2.00)填空项 1:_ (正确答案:执行流)解析:解析 一个进程的执行过程中会产生多个线程即执行流。49.线程由于调用 sleep1 方法进入阻塞状态,当睡眠结束时,该线程将进入 2 状态。(分数:
42、2.00)填空项 1:_ (正确答案:可运行状态(Runnable))解析:解析 sleep-|_|-方法结束后,线程将进入可运行状态。50.在下列 Java Applet 程序的下画线处填入代码,使程序完整并能够正确运行。import java.applet.*;import java.awt.*;public class HelloWorld_public void paint(Graphics g)g.drawString(“Hello World!“,25,25);(分数:2.00)填空项 1:_ (正确答案:extends Applet)解析:解析 本题是考查继承。继承了 Applet 类。