计算机二级JAVA-167

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机二级JAVA-167
(总分:57.60,做题时间:90分钟)
一、选择题(总题数:36,分数:57.60)
1.对鼠标单击按钮操作进行事件处理的接口是______。

(分数:1.00)
A.MouseListener √
B.WindowListener
C.ActionListener
D.KeyListener
解析:[解析] WindowListener是监听窗口事件的接口;ActionListener是监听按钮、文本框、列表框等组件的动作事件的接口;KeyLitener是监听键盘事件的接口。

因此,本题选择A。

2.下列关于Applet 生命周期的说法,正确的是______。

(分数:2.00)
A.void init()在Applet 下载前调用
B.void start()只在初始化之后调用
C.void stop()在关闭浏览器时调用
D.stop()总在void destroy()之前被调用√
解析:
3.下列关于JDK目录结构的说法,错误的是
(分数:1.00)
A.bin目录下有许多工具
B.demo目录下有各种演示例子
C.include目录下都是库文件√
D.jre目录是Java程序运行环境的根目录
解析:[解析] 本题考查JDK目录结构。

bin目录下有编译器、解释器和各种工具,如服务器工具、IDL、package工具和jdb等。

jre目录是Java程序运行环境的根目录,它下面有bin子目录,包括平台所用工具和库的可执行文件和DLL文件;lib子目录包括 java运行环境的代码库。

lib目录下都是库文件。

demo 目录下有各种演示例子。

include目录下是Win32子目录,都是本地方法文件,选项C错误。

4.如果进栈序列为e1、e2、e3、e4、e5,则可能的出栈序列是______。

(分数:2.00)
A.e3、e1、e4、e2、e5
B.e5、e2、e4、e3、e1 √
C.e3、e4、e1、e2、e5
D.任意顺序
解析:[解析] 根据栈先进后出的特点可知e1肯定是最后出栈的,因此正确答案为选项B。

5.下列不属于Swing的构件是______。

(分数:1.00)
A.JButton
B.JLabel
C.JFrame
D.JPane √
解析:[解析] Swing常用组件包含JLabel组件(标签)、JButton组件(按钮)、JTextField组件(单行文本)、JTextArea组件(多行文本)、JcheckBox组件(复选按钮)、JRadioButton组件(单选按钮)、JComboBox组件(下拉列表框)、JList组件(列表)、JTablc组件(表格)、JTree组件(树)等。

选项D中JPane写错了。

选择D。

6.鼠标在窗口中移动时,产生的事件是______。

(分数:2.00)
A.ActionEvent
B.PrintEvent
C.KeyEvent
D.MouseEvent √
解析:[解析] 属于记忆概念题,固定用法。

7.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是______。

(分数:1.00)
A.编译程序
B.操作系统
C.教务管理系统√
D.汇编程序
解析:[解析] 操作系统属于系统软件,编译程序与汇编程序都属于支撑软件,而教务管理系统是属于应用软件的。

8.下列可用作switch(expression)语句参数的是______。

(分数:2.00)
A.String s
B.Integer i
C.boolean b
D.int i √
解析:[解析] switch多分支选项运算的判别对象必须是byte、int、short和char这几种类型的原始类型。

9.有以下程序:
#include<stdio.h>
#define F(X,Y)(X)*(Y)
void main()
{
int a=3,b=4;
printf("%d/n",F(a--,++b));
}
程序运行后输出的结果是 ____ 。

(分数:2.00)
A.8
B.10
C.12
D.15 √
解析:
10.下列程序的执行结果是______。

public classExceptionTest{
public static void main(String [] args){
String[]data={"1","2.5"};
int sum=0;
for(int i=1;i<=2;i++){
try{
sum=sum+Integer.parseInt(data[i])
}catch(NumberFormatException f){
System.out.println("*");
)catch(Exception e){
System.out println("#");
}finally{
System.out.println("end");
}
}
}
(分数:1.00)
A.*end#end √
B.endend
C.*#
D.end#
解析:[解析] try...catch...finally...代码块的运行方式是:首先运行try{...}中的代码,如果没有发生任何异常,执行完毕try{...}中的代码后,执行finally{...}中的全部代码;如果执行try{...}中的代码时发生异常,在发生异常的语句处停止继续执行,进入catch{...}语句块,执行其中的全部代码,执行完毕后,接着执行finally{...}中的全部代码。

也就是说,无论任何情况,都会执行finally{...}
中的代码。

首先,程序运行至Integer.parseInt(data[i])时会出NumberFormatException()异常,程序用try—catch捕获了这个异常,故而第一次for循环时会先输出“*”,然后输出“end”。

接下来的程序也有异常,也是先运行catch{...}语句块,再运行finally{...}中的代码。

11.javax. swing. Japplet的父类是______。

(分数:2.00)
A.java. awt. panel
B.java. applet. Applet √
C.java. awt. frame
D.java. awt. Window
解析:[解析] javax. swing. Japplet是Applet的直接子类,继承了Applet的方法与执行机制。

java. awt. panel是java. applet. Applet的直接父类,java. awt. Window是java. awt. frame的直接父类。

12.有三个关系R,S和T如下:
其中关系T由关系R和S
(分数:1.00)
A.选择
B.投影
C..交
D..并√
解析:[解析] 选择和投影是对单个关系进行操作,结果是一个关系。

交和并运算要求参与运算的表有相同的属性,交运算的结果是两个表的公共部分,并运算是将两个表整合成一个表。

13.下列内部类的正确用途是______。

Btnn.addActionListener(new //注册监听器
ActionListener()
{
public void actionPerformed (ActionEvent event)
{
String s=input.getText();
Output.setText("Hello"+s+",Welcome You!");
}
})
(分数:2.00)
A.用于访问外部类的数据
B.用于进行事件处理√
C.隐藏起来不被同一包中的其他类所见
D.生成事件适配器
解析:[解析] 题目中所示的类,是在为按钮事件添加相应的操作,其实质是进行事件的处理操作。

14.下列情况中,不会使线程返回所持有的对象锁的是
(分数:2.00)
A.当synchronized()语句块执行完毕
B.当调用了线程的suspend()方法√
C.当在synchronized()语句块中出现异常(Exception)
D.当持有锁的线程调用该对象的wait()方法
解析:[解析] 本题考查Java线程中对象的加锁及其操作。

对象加锁的使用非常灵活,一定要注意。

对象的锁在如下几种情况下由持有线程返还:当synchronized()语句块执行完后,所以选项A错误;当在synchronized()语句块中出现异常(exception),所以选项B错误;当持有锁的线程调用该对象的wait()方法,此时该线程将释放对象的锁,所以选项D错误。

而当调用了线程的 suspend()方法只是使线程暂时停止执行,可以使用其他线程调用resume()方法恢复执行,所以选项 B正确。

15.下面______可用于处理Unicode码。

(分数:2.00)
A.Writer
B.BufferedReader √
C.ByteArraylnputStream
D.PipedlnputStream
解析:
16.Java虚拟机(JVM)运行Java代码时,不会进行的操作是______。

(分数:1.00)
A.加载代码√
B.校验代码
C.编译代码
D.执行代码
解析:[解析] Java中,类加载器把一个类装入Java虚拟机需要经过3个步骤来完成:装载、链接、初始化,其中链接又分为校验、准备、解析过程。

装载:查找和导入类和接口的.class文件。

连接:检查装入.class
文件的正确性,然后.Java虚拟机为变量分配内存,设黄默认值。

初始化:把符号引用变成直接引用。

由以上分析,可以看出虚拟机(JVM)运行时不需要加载代码,选择A。

17.在Java中,所有类的根类是______。

(分数:1.80)
A.java. lang. Object √
B.java. lang. Class
C.java. applet. Applet
D.java. awt. Frame
解析:[解析] 本题考查考生对Java类的掌握。

在Java中ng包封装着所有编程应用的基本类。

Object 是所有类的根,它所包含的属性和方法被所有类集成。

Class类是由编译器自动生成对象的一个特殊类,它伴随每个类。

选项C和选项D都是普通类。

18.数据流图中带有箭头的线段表示的是______。

(分数:1.00)
A.控制流
B.事件驱动
C.模块调用
D.数据流√
解析:[解析] 数据流图的基本符号的意思:①矩形表示数据的外部实体;②圆角的矩形表示变换数据的处理逻辑;③少右面的矩形表示数据的存储;④箭头表示数据流。

19.下列关于Java安全性的说法正确的是 ____ 。

(分数:2.00)
A.有严格的访问权限检查
B.对程序执行前要检查√
C.不允许使用指针
D.可防止对内存的非法入侵
解析:[解析] 本题考查Java的安全性特点。

面向网络、分布式的Java语言,对非法入侵的防范是非常重要的,Java语言提供充分的安全保障,在运行程序时,有严格的访问权限检查。

对字节代码执行前要检杳,不允许使用指针,可防止对内存的非法入侵,它是目前安全性最佳的语言。

但是Java并不是对程序执行前检查,而是对字节代码进行检查,Java编写好的程序首先山编译器转换为标准字节代码,然后由Java虚拟机去解释执行。

20.当浏览器重新返回到包含Applet的页面时调用的方法是______。

(分数:1.00)
A.start() √
B.init()
C.stop()
D.destroy()
解析:[解析] Applet生命周期包括Applet的创建、运行与消亡几个状态。

Applet类提供了在生命周期不同阶段响应主要事件的4种方法,这4种方法的调用次序如下图所示:
当浏览器重新返回到包含Applet的页面时调用的方法是start()。

因此,本题的正确答案是A。

21.结构化程序设计所规定的三种基本控制结构是______。

(分数:2.00)
A.输入、处理、输出
B.树形、网形、环形
C.顺序、选择、循环√
D.主程序、子程序、函数
解析:[解析] 顺序结构、选择结构和循环结构(或重复结构)是结构化程序设计的3种基本结构。

22.Thread类的方法中用于修改线程名字的方法是______。

(分数:1.80)
A.setName() √
B.reviseName()
C.getName()
D.checkAccess()
解析:[解析] Thread类的其他方法有setName()、getName()、activeCount()和setDaemon()等。

其中,用于修改线程名字的方法是setName()。

23.在Java Applet程序中,如果对发生的事件做出响应和处理的时候,应该使用下列______语句。

(分数:1.80)
A.import java. awt. event. * ;
B.import java. io. * ;
C.import java. awt. * ; √
D.import java. applet. * ;
解析:[解析] 本题考查对Java常用的各种包所包含的一些类的基本功能的理解。

java. awt包是抽象窗口工具包,里面包括各种容器、组件、窗口布局管理器以及一些常用的类如Color、Font等,选项A满足题意。

而java. applet包里面包括了小程序执行时必须要重载的一个类Applet,也就只有这一个类,选项D错误。

java. io包主要是提供一些输入/输出类的,选项B不满足题意。

java. awt. event包就包含了一些能够对事件做出响应和处理的一些标准类,选项A不满足题意。

24.下列表达式中,类型可以作为int型的是______。

(分数:1.80)
A."abc"+"efg"
B."abc"+"efg"
C."a"+"b" √
D.3+"4"
解析:[解析] 字符型可以转为int型,但字符串不可以。

25.下列不属于软件调试技术的是 ____
(分数:2.00)
A.强行排错法
B.集成测试法√
C.回溯法
D.原因排除法
解析:[解析] 我们严格区分调试与测试,调试是已知有错误而来找错误,是被动的;测试有很多种,比如未发现错误但不能保证程序没错而来找BUG,还比如我们运行测试程序是否符合用户的要求,是主动的。

所以答案是选项B。

A、C、D都是具体的程序调试方法,而B是宏观的程序测试方法。

测试有单元测试、集成测试、确认测试、系统测试。

比如我们在进行单元测试时,发现程序有错误,我们再可以根据A、C、D的方法来找错误。

26.已知一个有序线性表为(13,18,24,35,47,50,62,83,90,115,134),当用二分法查找值为90的元素时,查找成功的比较次数为______。

(分数:1.80)
A.1
B.2 √
C.3
D.9
解析:[解析] 根据二分法查找需要两次:首先将90与表中间的元素50进行比较,由于90大于50,所以在线性表的后半部分查找;第二次比较的元素是后半部分的中间元素,即90,这时两者相等,即查找成功。

27.下列选项中,用于实现接口的关键字是 ____
(分数:2.00)
A.interface
B.implements √
C.abstract
D.class
解析:[解析] interface是定义接口时用的关键字;abstract是用来声明抽象类或方法的;class是声明一个类的关键字;implements是用来实现接口的关键字。

所以选项B是正确的。

28.在文件类提供的方法中,用于创建目录的方法是 ____ 。

(分数:2.00)
A.mkdir() √
B.mkdirs()
C.list()
D.listRoots()
解析:[解析] 本题考查文件类提供的方法。

mkdir()是为目录操作提供的方法,用来创建目录;mkdirs()也是为目录操作提供的方法,创建包含父目录的目录;list()是对文件名操作提供的方法,返回一个字符串数组,为该文件所在目录下的所有文件名列表;listRoots是为目录提供的方法,返回根目录结构。

由此可见,只有选项A满足题目要求。

29.下列叙述中,错误的是 ____ 。

(分数:1.00)
A.接口与类的层次无关
B.通过接口说明类所实现的方法
C.通过接口可了解对象的交互界面
D.接口与存储空间有关√
解析:[解析] 本题考查Java中接口的概念。

接口是一种只含有抽象方法或变量的特殊的抽象类,主要功能是:不管类的层次,可实现互不相关的类具有相同的方法,所以选项A说法正确;通过接口说明多个类所需实现的方法,选项B说法正确;通过接口可以了解对象的交互界面,无需了解对象所对应的类,选项C说法正确;因为接口不包括任何实现,所以与存储空间没有任何关系,选项D说法错误。

30.应用数据库的主要目的是 ____ 。

(分数:2.00)
A.解决数据保密问题
B.解决数据完整性问题
C.解决数据共享问题√
D.解决数据量大的问题
解析:[解析] 数据库中的数据具有“集成”与“共享”的特点,亦即是数据库集中了各种应用的数据,进行统一构造与存储,而使它们可以被不同应用程序所使用,故选项C正确。

31.支持子程序调用的数据结构是______。

(分数:2.00)
A..栈√
B..树
C.队列
D.二叉树
解析:[解析] 根据栈的定义,栈是一种限定在一端进行插入与删除的线性表。

在主函数调用子函数时,主函数会保持当前状态,然后转去执行子函数,把子函数的运行结果返回到主函数,主函数继续向下执行,这种过程符合栈的特点。

所以一般采用栈式存储方式。

32.下面代码中的内部类名是______。

import java.awt*;
import javax.swing.*;
class TalkingClock {
public static void main(int interval,final boolean beep) {
ActionListener listener = new ActionListener() {
public void actionPerformed(ActionEvent event){
...
}
}
Timer t = new Timer (interval,listener);
t.start();
}
}
(分数:1.00)
A.Timer
B.ActionListener
C.listener
D.匿名√
解析:[解析] 因为是直接通过new操作接口在实现里直接实现这个接口的方法的方式实现内部类的,所以是匿名内部类。

33.下列程序的运行结果是______。

public class Test{
public static void main(String[] args){
float i=3.Of;
int n=10;
System.out.print(i++);
System.out.println(","+n*i++);
}
}
(分数:1.00)
A.4.0,36.0
B.3.0,40.0 √
C.3.0,36.0
D.4.0,40.0
解析:[解析] 该程序主要是考查对j++与++j的区分。

i++是先得到i的值,然后i的值加1;而++i是i 的值先加1,然后得到i的值。

无论是哪一种,i的值最后都会加1。

所以第一次运算的结果是3.0,由于之前进行了i++运算,所以i的值为4.0,在进行n*i++运算的时候,先运算n*i,然后i的值再加1。

所以第二次运算的结果是40.0,而i的值为5。

34.循环链表的主要优点是
(分数:1.00)
A.不再需要头指针了
B.从表中任一结点出发都能访问到整个链表√
C.在进行插入、删除运算时,能更好的保证链表不断开
D.已知某个结点的位置后,能够容易的找到它的直接前件
解析:解析:循环链表就是将单向链表中最后一个结点的指针指向头结点,使整个链表构成一个环形,这样的结构使得从表中的任一结点出发都能访问到整个链
35.下列表达式中,类型可以作为int型的是______。

(分数:1.80)
A."abc"+"efg"
B."abc"+"efg"
C."a"+"b" √
D.3+"4"
解析:[解析] 字符型可以转为int型,但字符串不可以。

36.数据库设计包括两个方面的设计内容,它们是______。

(分数:1.80)
A.概念设计和逻辑设计√
B.模式设计和内模式设计
C.内模式设计和物理设计
D.结构特性设计和行为特性设计
解析:[解析] 数据库设计包括概念设计和逻辑设计两个方面的内容。

相关文档
最新文档