计算机二级考试Java练习题及答案.docx
《计算机二级考试Java练习题及答案.docx》由会员分享,可在线阅读,更多相关《计算机二级考试Java练习题及答案.docx(12页珍藏版)》请在冰豆网上搜索。
计算机二级考试Java练习题及答案
2016年计算机二级考试Java练习题及答案(3)
1[简答题]本题中,在下画线上填写代码,指定变量b为字节型,变量f为单精度实型,变量l为64位整型。
publicclassjaval{
publicstaticvoidmain(String[-]args){
b=49;
f=8.9f;
l=0xfedl;
System.out.println("b="+b);
System.out.println("f="+f):
System.OUt.println("l="+1);
}
}
参考解析:
第1处:
byte
第2处:
float
第3处:
long
【解析】本题考查的是数据类型。
byte为字节型;float为单精度实型;long为长整型。
2[单选题]请阅读下面程序
程序运行结果中在”length=”后输出的值是( )。
A.10B.4C.20D.30
参考答案:
B
参考解析:
本题对StringBuffer(Stringstr)构造方法,用str给出字符串的初始值,并分配16个字符的缓存。
因此,字符串sb的初始值是”test”,并且包含l6个字符的缓存。
length( )方法用来获得字符串长度,不包含缓存。
故程序运行结果中在”length-”后输出的值应该是字符串sb的长度,即4。
3[单选题]为使下列代码正常运行,应该在下画线处填入的选项是( )。
ObjectInputStreamIn=
new(newFilelnputStream("employee.
doc"));
Employee[]newstaff=(Employee[])in.readObject
();
In.close();
A.ReaderB.InputStreamC.ObjectlnputD.ObjectlnputStream
参考答案:
D
参考解析:
ObjectlnputStream类和ObjectOutputStream类分列是InputStream类和OutputStream类的子类。
ObjectlnputStream类和ObjectOutputStream类创建的对象被称为对象输入流和对象输出流。
对象输入流使用readObject()方法读取一个对象到程序中。
4[单选题]为使下列代码正常运行,应该在下画线处填入的选项是( )。
abstractclassperson{
publicPerson(Stringn){
name=n:
}
PublicStringgetDescription();
publicStringgetName(){
returnname;
}
privatestringname;
}
A.staticB.privateC.abstractD.final
参考答案:
C
参考解析:
抽象类中的抽象方法可以只声明,定义延迟到其子类。
5[单选题]Java对文件类提供了许多操作方法,能获得文件对象父路径名的方法是( )。
A.getAbsolutePath( )
B.getParentFile( )
C.getAbsoluteFile( )
D.getName( )
参考答案:
B
参考解析:
本题考查File类的基本知识。
File类是通过文件名列表来描述一个文件对象的属性,通过File类提供的方法,可以获得文件的名称、长度、所有路径等信息,还可以改变文件的名称、删除文件等。
6[单选题]下列关于域名和IP地址的叙述中,不正确的是( )。
A.在Internet中访问一台主机必须使用它的主机名
B.200.201.202.203是一个C类IP地址
C.IP地址采用的是分层结构
D.主机名与IP地址是一一对应的
参考答案:
A
参考解析:
每台直接连接到Internet上的计算机、路由器都必须有唯一的IP地址。
IP地址是Internet赖以工作的基础。
Internet中的计算机与路由器的IP地址采用分层结构,它是由网络地址与主机地址两部分组成。
对于C类地址,其网络地址空间长度为21位,主机地址空间长度为8位,C类IP地址范围从:
l92.0.0.0~223.255.255.255。
主机名与它的IP地址一一对应,因此在Internet上访问一台主机既可以使用它的主机名,也可以使用它的IP地址。
7[单选题]下列关于链式存储结构的叙述中,不正确的是( )。
A.结点除自身信息外还包括指针域,因此存储密度小于顺序存储结构
B.逻辑上相邻的结点物理上不必相邻
C.可以通过计算确定第i个结点的存储地址
D.插人、删除运算操作方便,不必移动结点
参考答案:
C
参考解析:
链式存储结构的主要特点有:
①结点中除自身信息外,还有表示链接信息的指针域,因此存储密度小、存储空间利用率低;②逻辑上相邻的结点物理上不必相邻;③插入、删除操作灵活方便。
线性存储结构可以通过计算确定第i个结点的存储地址,但链式存储结构不能。
8[填空题]FileInputStream是字节流;BufferedWriter是字符流;ObjectOutputStream是 。
参考解析:
对象流或对象输出流
9[单选题]下列叙述中,错误的是( )。
A.Applet的默认布局管理器是FlowLayout
B.JApplet中增加构件是加到JApplet的内容面板上,不是直接加到JApplet中
C.JApplet的内容面板的默认布局管理器是Border-Layout
D.JApplet的内容面板的默认布局管理器是FlowLayout
参考答案:
D
参考解析:
FlowLayout布局管理器是Panel类和Applet类默认的布局管理器。
向JApplet中增加构件,是把构件添加到Japplet的内容面板中,而不是直接添加到JAp—plet中。
JApplet的内容面板的默认布局管理器是Border—Layout,而Applet默认的布局管理器是FlowLayout。
10[单选题]软件设计中模块划分应遵循的准则是( )。
A.低内聚低耦合
B.高内聚低耦合
C.低内聚高耦合
D.高内聚高耦合
参考答案:
B
参考解析:
耦合性和内聚性是模块独立性的两个定性标准,软件设计应该遵循高内聚低耦合的准则。
11[单选题]Java对文件类提供了许多操作方法,能获得文件对象父路径名的方法是( )。
A.getAbsolutePath( )
B.getParentFile( )
C.getAbsoluteFile( )
D.getName( )
参考答案:
B
参考解析:
本题考查File类的基本知识。
File类是通过文件名列表来描述一个文件对象的属性,通过File类提供的方法,可以获得文件的名称、长度、所有路径等信息,还可以改变文件的名称、删除文件等。
12[单选题]对于下面语句的说法,不正确的是( )。
ThreadthrObj=newThread():
A.系统没有为该线程对象分配资源
B.只能启动或者终止
C.创建了一个空的线程对象
D.可以调用其他方法
参考答案:
D
参考解析:
本题考查线程的创建。
通过new命令创建一个线程对象后,该线程对象就处于创建状态,上面的语句只是创建了一个空的线程对象,选项C说法正确。
此时,系统并没有为该线程对象分配资源,选项A说法正确。
处于这种状态的线程,只能启动或者终止,选项B说法正确。
该线程此时并不能调用其他方法,如果调用其他方法就会失败并引起非法状态处理,选项D说法错误。
13[单选题]数据库应用系统中的核心问题是( )。
A.数据库设计
B.数据库系统设计
C.数据库维护
D.数据库管理员培训
参考答案:
A
参考解析:
数据库设计的目的是设计一个能满足用户要求,性能良好的数据库。
所以数据库设计的核心是数据库应用。
14[单选题]下列关于Frame类的说法不正确的是
A.Frame是Window类的直接子类
B.Frame对象显示的效果是一个窗口
C.Frame被默认初始化为可见
D.Frame的默认布局管理器为BorderLayout
参考答案:
D
15[单选题]对于循环队列,下列叙述中正确的是( )。
A.队头指针是同定不变的
B.队头指针-定大于队尾指针
C.队头指针-定小于队尾指针
D.队头指针可以大于队尾指针,也可以小于队尾指针
参考答案:
D
参考解析:
循环队列是把队列的头和尾在逻辑上连接起来,构成-个环。
循环队列中首尾相连,分不清头和尾,此时需要两个指示器分别指向头部和尾部。
插入就在尾部指示器的指示位置处插入,删除就在头部指示器的指示位置删除。
16[单选题]数据流程图(DFD图)是( )。
A.软件概要设计的工具
B.软件详细设计的工具
C.结构化方法的需求分析工具
D.面向对象方法的需求分析工具
参考答案:
D
参考解析:
数据流程图是一种结构化分析描述模型,用来对系统的功能需求进行建模。
17[简答题]本题的功能是用按钮来控制文字的颜色。
窗口中有三个按钮“Yellow”、“Blue”和“Red”,它们分别对应文字标签中文本的颜色为黄色、蓝色和红色,单击任意一个按钮,文字标签中的文本就变成按钮对应的颜色。
importjava.awt.*;
importjava.awt.event.*;
importjavflx.swing.*;
classButtonPanelextendsJPanelimplementsActionL-
istener{
publicButtonPanel(){
yellowButton=newJButton("Yellow");
blueButton=newJButton("Blue");
redButton=newJButton("Red");
j1=newJLabel("IamfromChina!
");
add(yellowButton);
add(blueButton);
add(redButton);
add(j1);
yellowButtofl.addActionListener(this);
blueButton.addActionListener(this);
redButton.addActionListener(this);
}
publicvoidactionPerformed(ActionEventevt){
0bjectsource=evt.getSource();
Colorcolor=getForeground();
if(source==yellowButton)color=Color.
yellow;
elseif(source==blueButton)color=Color.
blue;
elseif(source==redButton)color=
Color.red;
;
;
}
privateJButtonyellowButton;
privateJButtonblueButton;
privateJButtonredButton;
privateJLabeljl;
}
classButtonFrameextendsJFrame{
publicButtonFrame(){
setTitle("examl6");
setSize(300,200);
addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
System.exit(O);
}
});
ContainercontentPane=getContentPane();
contentPane.add(newButtonPanel());
}
}
publicclassjava2{
publicstaticvoidmain(String[]args){
JFrameframe=newButtonFrame();
frame.show();
}
}
参考解析:
第1处:
jl.setForeground(color)
第2处:
jl.repaint()
【解析】在构件类的方法中,setForeground()为设置构件的前景色,repaint()为重新绘制构件。
18[简答题]本题的功能是监听键盘键的敲击,并显示在窗口中。
importjavax,.swing.*;
importjava.awt.*;,
importjava.awt.event.*;
publicclassjava3extendsJFrameextendsKeyListener
{
privateStringlinel=""line2=""
privateStringline3=""
privateJTextAreatextArea;
publicjava3()
{
super("java3");
textArea=newJTextArea(10,15);
textArea.setText("Pressanykeyonthekey-
board…");
textArea.setEnabled(false);
addKeyListener(this);
getContentPane().add(textArea);
setSize(350,100);
show();
}
publicvoidkeyPressed(KeyEvente)
{
linel="Keypressed:
"+e.getKeyText(e.
getKeyCode());
setLines2and3(e);
}
publicvoidkeyReleased(KeyEvente)
{
linel="Keyreleased:
"+e.getKeyText(e.
getKeyCode());
setLines2and3(e):
}
publicvoidkeyTyped(KeyEvente)
{
Linel="Keytyped:
"+e.getKeychar();
setLines2and3(e);
}
privatevoidsetLines2and3(KeyEvente)
{
line2="Thiskeyis"+(e.isActionKey()?
""
:
"not")+"anactionkey";
Stringtemp=e.getKeyModifiersText(e.get-
Modifiers());
hne3="Modifierkeyspressed:
"+(temp.e-
quals("")?
"none":
temp);
textArea.setText(linel+"\n"+line2+"\n"
+line3+"\n");
}
publicstaticvoidmain(Stringargs[])
{
java3app=newjava3();
addWindowListener(newWindowadapted()
{
publicvoidwindowClosing(WindowEvente)
{
System.exit(0);
}
});
}
}
参考解析:
第1处:
extendsJFrameimplementsKeyListener
第2处:
linel="Keytyped:
"+e.getKeyChar()
第3处:
app.addWindowListener(newWindowAdapter())
【解析】第1处实现接口应用implements;第2处Java是大小写敏感的,获得键盘值应使用getKeyChar()方法;第3处窗体级监听器应注册给接收类。