二级JAVA真题.docx
- 文档编号:30586931
- 上传时间:2023-08-18
- 格式:DOCX
- 页数:30
- 大小:29.11KB
二级JAVA真题.docx
《二级JAVA真题.docx》由会员分享,可在线阅读,更多相关《二级JAVA真题.docx(30页珍藏版)》请在冰豆网上搜索。
二级JAVA真题
二级JAVA真题2013年03月
(总分:
100.00,做题时间:
90分钟)
一、{{B}}选择题{{/B}}(总题数:
40,分数:
40.00)
1.下列数据结构中,属于非线性结构的是______。
∙A.双向链表
∙B.循环链表
∙C.二叉链表
∙D.循环队列
(分数:
1.00)
A.
B.
C. √
D.
解析:
[解析]程序流程图是软件过程设计中常用的图对于线性结构,除了首结点和尾结点外,每一个结点只有一个前驱结点和一个后继结点。
线性表、栈、队列都是线性结构,循环链表和双向链表是线性表的链式存储结构;二叉链表是二叉树的存储结构,而二叉树是非线性结构,因为二叉树有些结点有两个后继结点,不符合线性结构的定义。
2.在下列链表中,能够从任意一个结点出发直接访问到所有结点的是______。
∙A.单链表
∙B.循环链表
∙C.双向链表
∙D.二叉链表
(分数:
1.00)
A.
B. √
C.
D.
解析:
[解析]由于线性单链表的每个结点只有一个指针域,由这个指针只能找到其后件结点,但不能找到其前件结点。
也就是说,只能顺着之后向链尾方向进行扫描,因此必须从头指针开始,才能访问到所有的结点。
循环链表的最后一个结点的指针域指向表头结点,所有结点的指针构成了一个环状链,只要指出表中任何一个结点的位置就可以从它出发访问到表中其他所有的结点。
双向链表中的每个结点设置有两个指针,一个指向其前件,一个指向其后件,这样从任意一个结点开始,既可以向前查找,也可以向后查找,在结点的访问过程中一般从当前结点向链尾方向扫描,如果没有找到,则从链尾向头结点方向扫描,这样部分结点就要被遍历两次,因此不符合题意。
二叉链表是二叉树的一种链式存储结构,每个结点有两个指针域,分别指向左右子结点,可见,二叉链表只能由根结点向叶子结点的方向遍历。
3.下列与栈结构有关联的是______。
∙A.数组的定义域使用
∙B.操作系统的进程调度
∙C.函数的递归调用
∙D.选择结构的执行
(分数:
1.00)
A.
B.
C. √
D.
解析:
[解析]归调用就是在当前的函数中调用当前的函数并传给相应的参数,这是一个动作,这一动作是层层进行的,直到满足一般情况的时候,才停止递归调用,开始从最后一个递归调用返回。
函数的调用原则和数据结构栈的实现是相一致。
也说明函数调用是通过栈实现的。
4.下面对软件特点描述不正确的是______。
∙A.软件是一种逻辑实体,具有抽象性
∙B.软件开发、运行对计算机系统具有依赖性
∙C.软件开发涉及软件知识产权、法律及心理等社会因素
∙D.软件运行存在磨损和老化问题
(分数:
1.00)
A.
B.
C.
D. √
解析:
[解析]软件与硬件不同,它在运行、使用期间不存在磨损、老化问题。
5.下面属于黑盒测试方法的是______。
∙A.基本路径测试
∙B.等价类划分
∙C.判定覆盖测试
∙D.语句覆盖测试
(分数:
1.00)
A.
B. √
C.
D.
解析:
[解析]等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类。
6.下面不属于软件设计阶段任务的是______。
∙A.软件的功能确定
∙B.软件的总体结构设计
∙C.软件的数据设计
∙D.软件的过程设计
(分数:
1.00)
A. √
B.
C.
D.
解析:
[解析]软件设计包括软件结构设计、数据设计、接口设计、过程设计。
7.数据库管理系统是______。
∙A.操作系统的一部分
∙B.系统软件
∙C.一种编译系统
∙D.一种通信软件系统
(分数:
1.00)
A.
B. √
C.
D.
解析:
[解析]系统软件主要包括如下几个方面:
①操作系统软件,这是软件的核心。
②各种语言的解释程序和编译程序。
③各种服务性程序。
④各种数据库管理系统。
8.在E-R图中,表示实体的图元是______。
∙A.矩形
∙B.椭圆
∙C.菱形
∙D.圆
(分数:
1.00)
A. √
B.
C.
D.
解析:
[解析]在E-R图中用矩形表示实体集,在矩形内写上该实体集的名字。
9.有三个关系R和T如下:
R
A
B
C
a
1
2
b
4
4
c
2
3
d
3
2
T
A
C
a
2
b
4
c
3
d
2
则由关系R得到关系T的操作是______。
∙A.选择
∙B.交
∙C.投影
∙D.并
(分数:
1.00)
A.
B.
C. √
D.
解析:
[解析]投影是从表中选出指定的属性值组成新表,是单目运算,由此可知本题答案为C。
10.对图书进行编目时,图书有如下属性:
ISBN书号,书名,作者,出版社,出版日期。
能作为关键字是______。
∙A.ISBN书号
∙B.书名
∙C.作者,出版社
∙D.出版社,出版日期
(分数:
1.00)
A. √
B.
C.
D.
解析:
[解析]在有些应用系统中,常常采用增加如“序号”这类数据作为关键字以区分各条记录。
11.面向对象的四个主要特性是______
∙A.继承性、多态性、可靠性、可维护性
∙B.抽象性、封装性、正确性、高效性
∙C.抽象性、封装性、继承性、多态性
∙D.抽象性、继承性、高效性、可维护性
(分数:
1.00)
A.
B.
C. √
D.
解析:
[解析]面向对象的四个主要特征是:
①抽象:
抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。
抽象并不打算了解全部问题,而只是选择其中的一部分,暂时不用部分细节。
②继承:
继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。
③封装:
封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。
④多态性:
多态性是指允许不同类的对象对同一消息作出响应。
12.若有inti=5,j=4;则下列表达式的值不是浮点数的是______。
∙A.i*j/10.0
∙B.i*j/10
∙C.i*j+10.0
∙D.i*j*10.0
(分数:
1.00)
A.
B. √
C.
D.
解析:
[解析]Java语言中的除法,整型除整型,返回的是整型的数据,被除数和除数中有一个是浮点型的数据,结果就是浮点型。
乘法也是如此,整型数据和浮点型数据相乘时,结果都是浮点型。
13.若有intx=3;则执行y=x++*4;语句后的结果是______。
∙A.x为3,y为12
∙B.x为3,y为16
∙C.x为4,y为12
∙D.x为4,y为16
(分数:
1.00)
A.
B.
C. √
D.
解析:
[解析]x++运行的结果是x本来的值,然后x会自增,x的值会成为x+1。
例如:
y1=x++;y2=++x,无论是x++还是++x,x的值都会加1,区别在于x先将值赋给y1,然后x会自增;而第二个是x自增,即在它的值成为x+1之后,再将新的x的值赋给y2。
14.下列程序的运行结果是______。
publicclassMyTest{
publicstaticvoidmain(String[]args){
intsum=1;
for(intj=1;j<5;j++)
sum*=j;
System.out.println(sum);
}
}
∙A.1
∙B.10
∙C.24
∙D.120
(分数:
1.00)
A.
B.
C. √
D.
解析:
[解析]该程序考查的主要是sum*=j;这一语句的理解,即sum=sum*j;由于sum的初始值为1,所以实际上运行的是1*2*3*4的值。
15.下列程序的运行结果是______。
publicclassMyCase{
publicstaticvoidmain(String[]args){
chara='d',b='c',c='a';
Stringd="abe";
System.out.println(a+"b"+c+d);
}
}
∙A.abcd
∙B.abcabc
∙C.acd
∙D.dbaabc
(分数:
1.00)
A.
B.
C.
D. √
解析:
[解析]在输出语句中,用加号可以将字符与字符串连接起来直接输出,结果为字符串。
输出语句中,a、c和d都是变量,而非字符本身。
a的值为字符‘d’,“b”本身就是字符串,c的值为字符‘a’,d也是为字符串,其值为“abc”,所以答案应该是D。
16.下列关于Java标识符及其命名约定的说法中,正确的是______。
∙A.标识符_sys_var1是不符合规定的,因为标识符不能以“_”开头
∙B.包名Computer、someComp是不符合命名约定的
∙C.标识符IntVar和intVar是等同的
∙D.标识符的长度不能超过20个字符
(分数:
1.00)
A.
B. √
C.
D.
解析:
[解析]在Java语言中,标识符是以字母、下划线(_)或美元符($)开头,由字母、数字、下划线(_)或美元符($)组成的字符串。
标识符区分大小写,长度没有限制。
除以上所列几项之外,标识符中不能含有其他符号,当然电不允许插入空格。
17.关于下列程序段的说法中,正确的是______。
publicclassArrTest{
publicstaticvoidmain(String[]args){
int[]i=newinto{5,6,7,8);
System.outprintln(i[4]);
}
}
∙A.结果输出:
4
∙B.结果输出:
8
∙C.结果输出:
5678
∙D.产生数组越界异常
(分数:
1.00)
A.
B.
C.
D. √
解析:
[解析]该程序主要考查的是对数组的使用。
数组元素的下标是从0开始的,若数组有n个元素,数组下标的的范围是0~n-1,不能超出这个范围。
题目中的数组有4个元素,下标只可能是0、1、2、3,所以程序产生下标越界异常。
18.下列捕述中,错误的是______。
∙A.构造方法的返回类型只能是void型
∙B.构造方法的方法名必须与类名相同
∙C.创建类的对象时,系统会自动调用构造方法
∙D.构造方法的主要作用是完成对类的对象的初始化工作
(分数:
1.00)
A. √
B.
C.
D.
解析:
[解析]构造方法是不能有返回值的。
构造方法有两种,一种带参数的构造方法,另一种不带参数构造方法。
构造方法没有返回值类型,在Java语言中是通过new关键字返回对象的引用。
构造方法的作用是初始化对象。
19.下列关于父类与子类的描述中,正确的是______。
∙A.子类继承父类
∙B.子类不能增加新的成员
∙C.子类不能增加新的方法
∙D.父类包含子类
(分数:
1.00)
A. √
B.
C.
D.
解析:
[解析]子类可以定义自己的与父类无关的成员方法,所以B、C错误。
一个类可以拥有多个子类,但不能说包含多个子类,故D错误。
子类也可以定义与父类同名的方法,实现对父类方法的覆盖。
子类在重新定义父类已有的方法时,应保持与父类完全相同的方法头声明,即应与父类有完全相同的方法名、返回值和参数列表,否则就不是方法覆盖。
20.在Java中,可实现多重继承效果的机制是______。
∙A.内部类
∙B.重载
∙C.抽象类
∙D.接口
(分数:
1.00)
A.
B.
C.
D. √
解析:
[解析]Java语言使用接口来实现类间多重继承的功能,从而弥补了Java语言只支持类间单重继承,描述复杂实际问题处理不方便的不足。
接口是若干完成某一特定功能的没有方法体的方法(抽象方法)和常量的集合。
接口仅提供了方法协议的封装。
为了获取接口功能和真正实现接口功能,需要使用类来继承该接口。
21.类Test的定义如下,则下划线处不能填入的是______。
publicclassTest{
publicfloattestFun(inta,floatb){}
______
}
∙A.publicfloattestFun(inta,floatb,floatc){}
∙B.publicfloattestFun(intc,floatd){}
∙C.publicinttestFun(inta,intb){}
∙D.privatefloattestFun(floata,intb,floatc){}
(分数:
1.00)
A.
B. √
C.
D.
解析:
[解析]Java类中能存在同名的两个成员方法,但是函数的参数或返回值类型不能相同。
类是组成Java程序的基本元素,它封装了一系列的变量(即数据成员)和方法(即成员方法),是一类对象的原型。
对一个用户自定义的类,要为类取一个名字,并指明类中包含哪些变量和方法以及相应的类型、实现等,这称为类的定义。
22.用来从字符输入流中读取并缓冲字符的类是______。
∙A.BufferedReader
∙B.DataInputStream
∙C.DataOutputStream
∙D.FileInputStream
(分数:
1.00)
A. √
B.
C.
D.
解析:
[解析]BufferedReader从字符输入流中读取文本,缓冲各个字符,从而实现字符、数组和行的高效读取。
DataInputstream数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本Java数据类型。
应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。
DataOutputStream数据输出流允许应用程序以适当方式将基本Java数据类型写入输出流中。
然后,应用程序可以使用数据输入流将数据读入。
FileInputStream从文件系统中的某个文件中获得输入字节。
23.Java对象流的输出类是______。
∙A.FileOutputStream
∙B.DatalnputStream
∙C.ObjectOutputStream
∙D.DeflaterOutputStream
(分数:
1.00)
A.
B.
C. √
D.
解析:
[解析]FileOutputStream文件输出流是用于将数据写入Filk或FileDescripror的输出流。
DataOutputstream数据输出流允许应用程序以适当方式将基本Java数据类型写入输出流中。
ObjectOutputStream将Java对象的基本数据类型和图形写入Outputstream。
DeflateroutputStream为使用“deflate”压缩格式压缩数据实现输出流过滤器。
24.下列可以注册窗口监听器的方法是______。
∙A.addListener
∙B.addKeyListener
∙C.addMouseListener
∙D.addWindowListener
(分数:
1.00)
A.
B.
C.
D. √
解析:
[解析]在java语言中,若希望时间源上引发的事件被程序处理,需要将事件源注册给能够处理该事件源上那种事件类型的监听器。
在AWT中,提供了11种标准的监听器类型,如下表:
AWT标准监听器、适配器和相应的注册方法
监听器
适配器类
注册方法
ActionListener
addActionListenter
AdjustmentListener
addAdjustmentListener
ConaponentListener
ComponentAdapter
addComponentListener
ContainerListeher
ContainerAdapter
addContainerListener
FocusListenfer
FocusAdapter
addFocusListener
ItemListener
addItemListener
KevListener
KeyAdapter
addKeyListener
MouseListener
MouseAdaDter
addMouseListener
MouseMotionListener
MouseMotionAdapter
addMouseMotionListener
TextListener
addTextListener
WindowListener
WindowAdapter
addWindowLisener
在确定监听器类型后,要用事件源类的注册方法来注册一个监听器类的对象。
这样,事件源产生的事件会传送给已注册的处理这类事件的监听器对象,该对象将自动调用相应的事件处理方法来处理该事件。
addListener的作用是注册一个对象以接收onMouseDown、onMouseMove和onMouseUp侦听器的通知。
25.下列选项中,属于Java接口的是______。
∙A.hemListenet
∙B.ActionEvent
∙C.MouseAdapter
∙D.actionPerformed
(分数:
1.00)
A. √
B.
C.
D.
解析:
[解析]ItemListener是接收项事件的侦听器接口。
ActionEvent类指示发生了组件定义的动作的语义事件。
MouseAdapter是接收鼠标事件的抽象适配器类。
在swing开发中,有个接口ActionListener,actlonPerformed就是这个中的接口方法。
26.下列代码中的键盘适配器类是______。
publicclassMyKeyextendsKeyAdapter{
publicviodkeyPressed(KeyEvente){}
publicviodkeyReleased(KeyEvente){}
publicviodkeyTyped(KeyEvente){}
}
∙A.MyKey
∙B.KeyListener
∙C.KeyAdapter
∙D.KeyEvent
(分数:
1.00)
A.
B.
C. √
D.
解析:
[解析]KeyPtdapteI是接收键盘事件的抽象适配器类。
此类中的方法为空。
此类存在的目的是方便创建侦听器对象。
27.JFrame的默认布局管理器是______。
∙A.FlowLayout
∙B.BorderLayout
∙C.GridLayout
∙D.null
(分数:
1.00)
A.
B. √
C.
D.
解析:
[解析]对于JFrame这样的顶层框架来说,默认的布局管理器是边界布局(BorderLayout);JPanel默认的布局管理器为FlowLayout。
GridLayout类是一个布局处理器,它以矩形网格形式对容器的组件进行布置。
容器被分成大小相等的矩形,一个矩形中放置一个组件。
28.下列程序的执行结果是______。
publicclassExceptionTest{
publicstaticvoidmain(String[]args){
String[]data={"1","2.5"};
intsum=0;
for(inti=1;i<=2;i++){
try{
sum=sum+Integer.parseInt(data[i])
}catch(NumberFormatExceptionf){
System.out.println("*");
)catch(Exceptione){
System.outprintln("#");
}finally{
System.out.println("end");
}
}
}
∙A.*end#end
∙B.endend
∙C.*#
∙D.end#
(分数:
1.00)
A. √
B.
C.
D.
解析:
[解析]try...catch...finally...代码块的运行方式是:
首先运行try{...}中的代码,如果没有发生任何异常,执行完毕try{...}中的代码后,执行finally{...}中的全部代码;如果执行try{...}中的代码时发生异常,在发生异常的语句处停止继续执行,进入catch{...}语句块,执行其中的全部代码,执行完毕后,接着执行finally{...}中的全部代码。
也就是说,无论任何情况,都会执行finally{...}中的代码。
首先,程序运行至Integer.parseInt(data[i])时会出NumberFormatException()异常,程序用try—catch捕获了这个异常,故而第一次for循环时会先输出“*”,然后输出“end”。
接下来的程序也有异常,也是先运行catch{...}语句块,再运行finally{...}中的代码。
29.下列关于Java线程的说法中,错误的是______。
∙A.Java的特点之一是在语言级支持多线程
∙B.Java线程创建后,要调用start()方法将其启动
∙C.Java中,线程归属于一个进程,是进程中一个单独的执行流
∙D.Java的线程模型只由程序代码,数据两个部分组成
(分数:
1.00)
A.
B.
C.
D. √
解析:
[解析]线程是一个程序内部的顺序控制流。
线程模型由三部分组成:
虚拟的CPU、CPU所执行的代码以及CPU所处理的数据。
30.下列关于TryThread类的定义中,正确的是______。
∙A.abstractclassTryThreadimplementsRunnable{publicvoidrun();}
∙B.classTrymhreadimplementsRunnable{publicvoidrun(){};publicvoidabcMethod(){};}
∙C.classTryThreadimplementsRunnable{publicvoidabcMethod(){};}
∙D.abstractclassTryTbreadimplementsRunnable{publicvoidabcMethod(){};}
(分数:
1.00)
A.
B. √
C.
D.
解析:
[解析]在一个类中实现Runnable接口(以实现Runable接口的类为Runnable类)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 JAVA