1、计算机二级 JAVA-168 及答案解析(总分:56.60,做题时间:90 分钟)一、选择题(总题数:36,分数:56.60)1.向 Applet 中画图、画图像、显示字符串,都要用的方法是 _ 。(分数:2.00)A.paint()B.init()C.start()D.destroy()2.Java 语言的许多特点中,下列不属于 C+语言特点的是_。(分数:1.00)A.高性能B.跨平台C.面向对象D.有类库3.阅读下面程序 public class Test1 public static void main(String args) System.out.println(34+56-6);
2、 System.out.println(26*2-3); System.out.println(3*4/2); System.out.println(5/2); 程序运行结果是(分数:2.00)A.84 49 6 2B.90 25 6 2.5C.84 23 12 2D.68 49 14 2.54.在 Java 类库中,提供构建和管理用户图形界面功能,封装抽象窗口的包是 _ 。(分数:1.00)A.javautil 包B.javabean 包C.javaawt 包D.javarmi 包5.下列关于 Applet 生命周期的说法,正确的是_。(分数:1.80)A.voidinit()在 Apple
3、t 下载前调用B.voidstart()只在初始化之后调用C.voidstop()在关闭浏览器时调用D.stop()总在 voiddestroy()之前被调用6.在 Java 中,实现用户界面功能的包是_。(分数:2.00)A.java.appletB.java.transactionC.java.utilD.java.awt7.向 Applet 中画图、画图像、显示字符串,都要用的方法是 _ 。(分数:2.00)A.paint()B.init()C.start()D.destroy()8.对长度为 n 的线性表排序,在最坏的情况下,比较次数不是 n(n-1)/2 的排序方法是 _ 。(分数:
4、2.00)A.快速排序B.冒泡排序C.直接插入排序D.堆排序9.在 Java 中,可实现多重继承效果的机制是_。(分数:1.00)A.内部类B.重载C.抽象类D.接口10.有以下程序: #includestdio.h #define F(X,Y)(X)*(Y) void main() int a=3,b=4; printf(“%d/n“,F(a-,+b); 程序运行后输出的结果是_。(分数:2.00)A.8B.10C.12D.1511.为了区分类中重载的同名的不同方法,要求_。(分数:2.00)A.采用不同的形式参数列表B.使用不同的参数名C.修改访问权限D.返回值的数据类型不同12.当 Ap
5、plet 程序中的 init()方法为下列代码时,运行后用户界面会出现的情况,以下描述正确的是_。 public void init() setLayout(new BorderLayout(); add(“North“, new TextField(10); add(“Center“, new Button(“help“); (分数:1.80)A.文本框将会出现在 Applet 的顶上,且有 10 个字符的宽度B.按钮将会出现在 Applet 的正中间,且尺寸为正好能够包容 help 的大小C.文本框将会出现在 Applet 的顶上,从最左边一直延伸到最右边;按钮将会出现在 Applet 的
6、正中间,覆盖除文本框外的所有空间D.按钮与文本框的布局依赖于 Applet 的尺寸13.数据结构中,与所使用的计算机无关的是数据的 _ 。(分数:2.00)A.存储结构B.物理结构C.逻辑结构D.物理和存储结构14.Frame 默认的布局管理器是_。(分数:1.80)A.FlowLayoutB.BorderLayoutC.GridLayoutD.UpLayout15.下列属于合法的 Java 标识符是_。(分数:1.80)A.“ABC“B.B.public abstract class Animalpublic void speak();C.public class Animalpubilc
7、abstract void speak();D.public abstract class Animalpubilc abstract void speak();20.假设用一个长度为 50 的数组(数组元素的下标从 0 到 49)作为栈的存储空间,栈底指针 bottom 指向栈底元素,栈顶指针 top 指向栈顶元素,如果 bottom=49,top=30(数组下标),则栈中具有的元素个数为_。(分数:1.80)A.50B.19C.1D.2021.下列不属于 Swing 构件的是_。(分数:1.00)A.JMenuB.JAppletC.JOptionPaneD.Panel22.在 Java 中
8、,线程是_。(分数:1.80)A.分时的B.抢占式的C.非抢占式的D.非分时的23.WindowListener 中可以实现窗口关闭功能的方法是 _ 。(分数:1.00)A.public void windowOpened(WindowEvent e)B.public void windowClosed(WindowEvent e)C.public void windowClosing(WindowEvent e)D.public void windowDeactivated(WindowEvent e)24.有两个关系 R,S 如下: 由关系 R 通过运算得到关系 S,则所使用的运算为_。
9、R A B C a 3 2 b 0 1 c 2 1 S A B a 3 b 0 c 2 (分数:1.00)A.选择B.投影C.插入D.连接25.下列关于队列的叙述中,正确的是_。(分数:2.00)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表26.在 Java 语言中,ObjectOutputStream 是指_。(分数:0.80)A.字节流B.字符流C.对象输出流D.数据流27.能打印出一个双引号的语句是_。(分数:0.80)A.System. out. println“);B.System. out. println“*“;C.Syst
10、em. Out. println“/“;D.System. out. println“);28.设执行下面的赋值语句: A=Float.valueOf(“12.34“).floatValue(); 后,a 的值是_。(分数:1.00)A.a=“12.34“B.a=12.34C.a=1234D.a=1229.下列方法中,不属于 WindowListener 接口的是_。(分数:2.00)A.windowOpened()B.windowClosed()C.windowAetivated()D.mouseDragged()30.某系统总体结构图如图所示。 (分数:2.00)A.7B.6C.3D.23
11、1.下列属于黑盒测试方法的是_。(分数:1.00)A.语句覆盖B.逻辑覆盖C.边界值分析D.路径分析32.执行以下的程序段后,m 的值是 _ 。 int a23=1,2,3,4,5,6; int m,*p; p=a00; m=p4;(分数:2.00)A.4B.5C.3D.不确定33.处理器执行的指令被分成两类,其中有一类称为特权指令,它只允许 _ 使用。(分数:1.00)A.操作员B.联机用户C.操作系统D.目标程序34.数据流程图(DFD 图)是_。(分数:1.80)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具35.下列代码的执行结果
12、是_。 public class Test4 public static void main(String args) int a=4,b=6,c=8; String s=“abc“; System.out.println(a+b+s+c); System.out.println(); (分数:1.00)A.“ababcc“B.“464688“C.“46abc8“D.“10abc8“36.已知:inta=new int100;在下列给出的数组元素中,非法的是(分数:2.00)A.a0B.a1C.a99D.a100计算机二级 JAVA-168 答案解析(总分:56.60,做题时间:90 分钟)一
13、、选择题(总题数:36,分数:56.60)1.向 Applet 中画图、画图像、显示字符串,都要用的方法是 _ 。(分数:2.00)A.paint() B.init()C.start()D.destroy()解析:解析 Applet 是工作在图形方式下的,向 Applet 中画图、画图像、显示字符串,都要用 paint()方法。每当 Applet 初次显示或更新时,浏览器都将调用 paint()方法。2.Java 语言的许多特点中,下列不属于 C+语言特点的是_。(分数:1.00)A.高性能B.跨平台 C.面向对象D.有类库解析:3.阅读下面程序 public class Test1 publ
14、ic static void main(String args) System.out.println(34+56-6); System.out.println(26*2-3); System.out.println(3*4/2); System.out.println(5/2); 程序运行结果是(分数:2.00)A.84 49 6 2 B.90 25 6 2.5C.84 23 12 2D.68 49 14 2.5解析:解析 本题考查 Java 的表达式运算。 程序中包含四条输出语句,运行时首先计算表达式的结果,然后将结果进行输出。 第一个表达式 34+56-6,运算结果为 84,然后输出。因
15、此,运行结果的第一行显示“84”。 第二个表达式 26*2-3,*号代表乘法,运算结果为 49,然后输出。因此,运行结果的 第二行显示“49”。到此,可以判断,本题的正确答案是选项 A。4.在 Java 类库中,提供构建和管理用户图形界面功能,封装抽象窗口的包是 _ 。(分数:1.00)A.javautil 包B.javabean 包C.javaawt 包 D.javarmi 包解析:5.下列关于 Applet 生命周期的说法,正确的是_。(分数:1.80)A.voidinit()在 Applet 下载前调用B.voidstart()只在初始化之后调用C.voidstop()在关闭浏览器时调用
16、D.stop()总在 voiddestroy()之前被调用 解析:解析 本题考查 Applet 生命周期的概念。Applet 生命周期是考试重点考查内容,应该加以重视。init()在 Applet 下载时调用,而不是下载前调用,选项 A 错误。start()在初始化之后以及在 Applet 被重新访问时调用,不仅仅只是在初始化之后调用,选项 B 错误。stop()在停止执行时调用,关闭浏览器时调用的是 destroy(),选项 C 错误。destroy()在关闭加载 Applet 的浏览器从系统中撤出时调用,此时Applet 必然调用 stop()方法停止其运行,然后才能调用 destroy(
17、)方法从内存卸载并释放该 Applet 的所有资源。注意理解 Applet 的执行过程。6.在 Java 中,实现用户界面功能的包是_。(分数:2.00)A.java.appletB.java.transactionC.java.utilD.java.awt 解析:解析 Java 核心包包括以下内容。 1)java.lang 包:封装所有编程应用的基本类。 2)java.awt 包:封装抽象窗口工具包,提供构建和管理用户图形界面功能。 3)java.applet 包:为 Applet 提供执行需要的所有类。 4)java.io 包:提供程序输入/输出文件操作的类。 5) 包:提供程序执行网络通
18、信应用及 URL 处理的类。 6)java.rmi 包:提供程序远程方法调用所需的类。 7)java.math 包:提供程序常用的整数算术及十进制算术的基本方法类。 8)java.util 包:提供实用程序类和集合类,如系统特性定义和使用、日期方法类、集合Collection、Map、List、Arrays 等常用工具类。 9)java.sql 包:提供访问和处理标准数据源数据的类。 10)java.security 包:提供网络安全操作类。 11)java.text 包:提供处理文本、日期、数字及非自然语言消息操作的类。 12)java.bean 包:提供开发编写 JavaBean 所需的类
19、。 从上面的分析可以看出实现用户界面功能的包是 java.awt。7.向 Applet 中画图、画图像、显示字符串,都要用的方法是 _ 。(分数:2.00)A.paint() B.init()C.start()D.destroy()解析:解析 Applet 是工作在图形方式下的,向 Applet 中画图、画图像、显示字符串,都要用 paint()方法。每当 Applet 初次显示或更新时,浏览器都将调用 paint()方法。8.对长度为 n 的线性表排序,在最坏的情况下,比较次数不是 n(n-1)/2 的排序方法是 _ 。(分数:2.00)A.快速排序B.冒泡排序C.直接插入排序D.堆排序 解
20、析:9.在 Java 中,可实现多重继承效果的机制是_。(分数:1.00)A.内部类B.重载C.抽象类D.接口 解析:解析 Java 语言使用接口来实现类间多重继承的功能,从而弥补了 Java 语言只支持类间单重继承,描述复杂实际问题处理不方便的不足。接口是若干完成某一特定功能的没有方法体的方法(抽象方法)和常量的集合。接口仅提供了方法协议的封装。为了获取接口功能和真正实现接口功能,需要使用类来继承该接口。10.有以下程序: #includestdio.h #define F(X,Y)(X)*(Y) void main() int a=3,b=4; printf(“%d/n“,F(a-,+b)
21、; 程序运行后输出的结果是_。(分数:2.00)A.8B.10C.12D.15 解析:11.为了区分类中重载的同名的不同方法,要求_。(分数:2.00)A.采用不同的形式参数列表 B.使用不同的参数名C.修改访问权限D.返回值的数据类型不同解析:解析 该题考查的是重载。重载方法是 Java 实现多态性的一种体现。在 Java 程序中可以在同一个类中定义多个名称相同的方法,然而这些方法的参数数量和类型却不完全相同,即采用不同的形式参数列表,这种现象被称为方法重载。所以选项 A 是正确的。12.当 Applet 程序中的 init()方法为下列代码时,运行后用户界面会出现的情况,以下描述正确的是_
22、。 public void init() setLayout(new BorderLayout(); add(“North“, new TextField(10); add(“Center“, new Button(“help“); (分数:1.80)A.文本框将会出现在 Applet 的顶上,且有 10 个字符的宽度B.按钮将会出现在 Applet 的正中间,且尺寸为正好能够包容 help 的大小C.文本框将会出现在 Applet 的顶上,从最左边一直延伸到最右边;按钮将会出现在 Applet 的正中间,覆盖除文本框外的所有空间 D.按钮与文本框的布局依赖于 Applet 的尺寸解析:解析
23、该题考查对容器布局策略的理解。边界布局管理器 BorderLayout 将容器按上北下南左西右东划分为东、南、西、北、中 5 部分,分别用英文单词 East,gouth,North,West,Center 来表示。其中,东、西、南、北 4 个方向的组件宽度为恰好能够包容组件的内容,而长度为延伸到该容器边界的长度;而对于中间的组件,它会扩充到除四边以外的整个容器区域。本题的具体情况是:文本框将会出现在applet 的顶上,长度为整个 applet 的宽度;按钮将会出现在 applet 的正中央,覆盖除文本框外的所有空间。13.数据结构中,与所使用的计算机无关的是数据的 _ 。(分数:2.00)A
24、.存储结构B.物理结构C.逻辑结构 D.物理和存储结构解析:14.Frame 默认的布局管理器是_。(分数:1.80)A.FlowLayoutB.BorderLayout C.GridLayoutD.UpLayout解析:解析 本题考查 Java 中的布局管理器。FlowLayout 是 Pane 和 Applet 默认的布局管理器,构件在容器中从上到下、从左到右进行放置;BorderLayout 是 Window、Frame 和 Dialog 的默认布局管理器,在 BorderLayout 布局管理器中构件分成 5 个区域,每个区域只能放置一个构件;GridLayout 使容器中各个构件呈网
25、状布局,平均占据容器的空间;GardLayout 把容器分成许多层,每层只能放置一个构件。15.下列属于合法的 Java 标识符是_。(分数:1.80)A.“ABC“B. B.public abstract class Animalpublic void speak();C.public class Animalpubilc abstract void speak();D.public abstract class Animalpubilc abstract void speak();解析:解析 Java 中一个类是一个 abstract 类的子类,它必须具体实现父类的 abstract 方法
26、。如果一个类中含有 abstract 方法,那么这个类必须用 abstract 来修饰(abstract 类也可以没有 abstract 方法)。有 abstract 方法的父类只声明,由继承它的子类实现。所以选 A。20.假设用一个长度为 50 的数组(数组元素的下标从 0 到 49)作为栈的存储空间,栈底指针 bottom 指向栈底元素,栈顶指针 top 指向栈顶元素,如果 bottom=49,top=30(数组下标),则栈中具有的元素个数为_。(分数:1.80)A.50B.19 C.1D.20解析:解析 当前栈中的所有元素的个数就是用栈底指针减去栈顶指针。21.下列不属于 Swing 构
27、件的是_。(分数:1.00)A.JMenuB.JAppletC.JOptionPaneD.Panel 解析:解析 Swing 中的大多数构件名称都在 AWT 构件名前加了一个“J”。因此,很容易判断 D 项不是Swing 中的构件。Jmenu 和 JOptionPane 是 Swing 的轻量级组件;JAppiet 是 Swing 的顶层容器。因此,本题的正确答案是 D。22.在 Java 中,线程是_。(分数:1.80)A.分时的B.抢占式的 C.非抢占式的D.非分时的解析:解析 本题考查线程的调度。Java 的线程调度策略是一种基于优先级的抢占式调度,选项 B 正确。Java 这种抢占式调
28、度可能是分时的,即每个等待池中的线程轮流执行,也可以不是,即线程逐个运行,具体采用哪种方式,由具体 JVM 而定。线程一般通过使用 sleep()等方法保证给其他线程运行时间。23.WindowListener 中可以实现窗口关闭功能的方法是 _ 。(分数:1.00)A.public void windowOpened(WindowEvent e)B.public void windowClosed(WindowEvent e) C.public void windowClosing(WindowEvent e)D.public void windowDeactivated(WindowEve
29、nt e)解析:解析 本题考查事件监听器的概念。窗口事件接口 WindowListener 有几个关键方法,应该注意,如 public void windowClosing(WindowEvent e)是把退出窗口的语句写在本方法中;pubic void windowOpened(WindowEvent e)是窗口打开时调用;public void windowClose d(indnwEvent e)是窗口关闭时调用,选项 B 正确;public void windowIconified(WindowEve nt e)是窗口图标化时调用;public void windowDeiconifi
30、ed (WindowEvent e)是窗口非图标化时调用;public void windowActivated (WindowEvent e)是窗口激活时调用:public void windowDeactivated(WmdowEvent e)是窗口非激活时调用。24.有两个关系 R,S 如下: 由关系 R 通过运算得到关系 S,则所使用的运算为_。 R A B C a 3 2 b 0 1 c 2 1 S A B a 3 b 0 c 2 (分数:1.00)A.选择B.投影 C.插入D.连接解析:解析 由专门的关系运算:选择、投影、插入、连接的定义可知,本题操作中所使用的运算是投影。25.下
31、列关于队列的叙述中,正确的是_。(分数:2.00)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表 D.队列是先进后出的线性表解析:解析 队列是指允许在一端进行插入而在另一端进行删除的线性表。队列又称为“先进先出”或“后进后出”的线性表,它体现了“先来先服务”的原则。在队列中,队尾指针与队首指针共同反映队列中元素动态变化的情况。26.在 Java 语言中,ObjectOutputStream 是指_。(分数:0.80)A.字节流B.字符流C.对象输出流 D.数据流解析:解析 本题考查 Java 输入/输出流的概念。FileInputStream 是字节流,Buffer
32、edWriter 是字符流,ObjectOutputStream 是对象输出流,既继承了 OutputStream 抽象类,又实现了 ObjectOutput 接口,这是 Java 用接口技术代替双重继承的例子,其构造方法参数是串行化的对象。27.能打印出一个双引号的语句是_。(分数:0.80)A.System. out. println“);B.System. out. println“*“;C.System. Out. println“/“;D.System. out. println“); 解析:解析 双引号字符的输出应使用转义字符。28.设执行下面的赋值语句: A=Float.valu
33、eOf(“12.34“).floatValue(); 后,a 的值是_。(分数:1.00)A.a=“12.34“B.a=12.34 C.a=1234D.a=12解析:29.下列方法中,不属于 WindowListener 接口的是_。(分数:2.00)A.windowOpened()B.windowClosed()C.windowAetivated()D.mouseDragged() 解析:解析 窗口事件接口 WindowListener 的方法有:public void windowClosing(WindowEvent e)是把退出窗口的语句写在本方法中;public void windo
34、wOpened(WindowEvent e)是窗口打开时调用;public void windowClosed(WindowEvent e)是窗口关闭时调用;public void windowIconified(WindowEvent e)是窗口图标化时调用;public void windowDeiconified(WindowEvent e)是窗口非图标化时调用;public void windowActived(WindowEvent e)是窗口激活时调用;public void windowDeactived(WindowEvent e)是窗口非激活时调用。因此,选项 D 不是 wi
35、ndowListener 接口的方法。30.某系统总体结构图如图所示。 (分数:2.00)A.7B.6C.3 D.2解析:从最顶层出发延伸最长的为 3 层,所以深度为 3。31.下列属于黑盒测试方法的是_。(分数:1.00)A.语句覆盖B.逻辑覆盖C.边界值分析 D.路径分析解析:解析 黑盒测试用于对软件的功能进行测试和验证,不须考虑程序内部的逻辑结构。黑盒测试的方法主要包括:等价类划分法、边界值分析法、错误推测法、因果图等。语句覆盖、逻辑覆盖、路径分析均是白盒测试的方法。32.执行以下的程序段后,m 的值是 _ 。 int a23=1,2,3,4,5,6; int m,*p; p=a00;
36、m=p4;(分数:2.00)A.4B.5 C.3D.不确定解析:33.处理器执行的指令被分成两类,其中有一类称为特权指令,它只允许 _ 使用。(分数:1.00)A.操作员B.联机用户C.操作系统 D.目标程序解析:34.数据流程图(DFD 图)是_。(分数:1.80)A.软件概要设计的工具B.软件详细设计的工具C.结构化方法的需求分析工具D.面向对象方法的需求分析工具 解析:解析 数据流程图是一种结构化分析描述模型,用来对系统的功能需求进行建模。35.下列代码的执行结果是_。 public class Test4 public static void main(String args) int
37、 a=4,b=6,c=8; String s=“abc“; System.out.println(a+b+s+c); System.out.println(); (分数:1.00)A.“ababcc“B.“464688“C.“46abc8“D.“10abc8“ 解析:36.已知:inta=new int100;在下列给出的数组元素中,非法的是(分数:2.00)A.a0B.a1C.a99D.a100 解析:解析 本题考查 Java 中数组的概念。对于数组的掌握,不能仅仅停留在概念上,更多的是能将所学的知识灵活运用。inta=new int100定义了一个数组 a,含有 100 个整型元素。在 Java 中,数组元素的下标是从 0 开始的,因此上面定义的数组实际上下标是从 099,所以选项 D 错误。