1[简答题]本题中,在下画线上填写代码,指定变量b为字节型,变量f为单精度实型,变量l为64位整型。
public class javal{
public static void main(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(String str)构造方法,用str给出字符串的初始值,并分配16个字符的缓存。因此,字符串sb的初始值是”test”,并且包含l6个字符的缓存。length( )方法用来获得字符串长度,不包含缓存。故程序运行结果中在”length-”后输出的值应该是字符串sb的长度,即4。
3[单选题] 为使下列代码正常运行,应该在下画线处填入的选项是( )。
ObjectInputStream In=
new (new FilelnputStream("employee.
doc"));
Employee[]newstaff=(Employee[])in.readObject
();
In.close();
A.Reader B.InputStreamC.ObjectlnputD.ObjectlnputStream
参考答案:D
参考解析:ObjectlnputStream类和ObjectOutputStream类分列是InputStream类和OutputStream类的子类。ObjectlnputStream类和ObjectOutputStream类创建的对象被称为对象输入流和对象输出流。对象输入流使用readObject()方法读取一个对象到程序中。
4[单选题] 为使下列代码正常运行,应该在下画线处填入的选项是( )。
abstract class person{
public Person(String n){
name=n:
}
Public String getDescription();
public String getName(){
return name;
}
private string name;
}
A.static B.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类I P地址
C.I P地址采用的是分层结构
D.主机名与I P地址是一一对应的
参考答案:A
参考解析:每台直接连接到Internet上的计算机、路由器都必须有的IP地址。IP地址是Internet赖以工作的基础。Internet中的计算机与路由器的IP地址采用分层结构,它是由网络地址与主机地址两部分组成。对于C类地址,其网络地址空间长度为21位,主机地址空间长度为8位,C类I P地址范围从:l92.0.0.0~223.255.255.255。主机名与它的IP地址一一对应,因此在Internet上访问一台主机既可以使用它的主机名,也可以使用它的I P地址。
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[单选题] 对于下面语句的说法,不正确的是( )。Thread thrObj=new Thread():
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”,它们分别对应文字标签中文本的颜色为黄色、蓝色和红色,单击任意一个按钮,文字标签中的文本就变成按钮对应的颜色。
import java.awt.*;
import java.awt.event.*;
import javflx.swing.*;
class ButtonPanel extends JPanel implements ActionL-
istener{
public ButtonPanel(){
yellowButton=new J Button("Yellow");
blueButton=new JButton("Blue");
redButton=new JButton("Red");
j1=new JLabel("I am from China!");
add(yellowButton);
add(blueButton);
add(redButton);
add(j1);
yellowButtofl.addActionListener(this);
blueButton.addActionListener(this);
redButton.addActionListener(this);
}
public void actionPerformed(ActionEvent evt){
0bject source=evt.getSource();
Color color=getForeground();
if(source= =yellowButton)color=Color.
yellow;
else if(source= =blueButton)color=Color.
blue;
else if(source= =redButton)color=
Color.red;
;
;
}
private JButton yellowButton;
private JButton blueButton;
private JButton redButton;
private JLabel jl;
}
class ButtonFrame extends JFrame{
public ButtonFrame(){
setTitle("exam l6");
setSize(300,200);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(O);
}
});
Container contentPane=getContentPane();
contentPane.add(new ButtonPanel());
}
}
public class java2{
public static void main(String[]args){
JFrame frame=new ButtonFrame();
frame.show();
}
}
参考解析:
第1处:jl.setForeground(color)
第2处:jl.repaint()
【解析】在构件类的方法中,setForeground()为设置构件的前景色,repaint()为重新绘制构件。
18[简答题]本题的功能是监听键盘键的敲击,并显示在窗口中。
import javax,.swing.*;
importjava.awt.*; ,
import java.awt.event.*;
public class java3 extends JFrame extends KeyListener
{
private String linel=""line2=""
private String line3=""
private JTextArea textArea;
public java3()
{
super("java3");
textArea=new JTextArea(10,15);
textArea.setText("Press any key on the key-
board…");
textArea.setEnabled(false);
addKeyListener(this);
getContentPane().add(textArea);
setSize(350,100);
show();
}
public void keyPressed(KeyEvent e)
{
linel="Key pressed:"+e.getKeyText(e.
getKeyCode());
setLines2and3(e);
}
public void keyReleased(KeyEvent e)
{
linel="Key released:"+e.getKeyText(e.
getKeyCode());
setLines2and3(e):
}
public void keyTyped(KeyEvent e)
{
Linel="Key typed:"+e.getKeychar();
setLines2and3(e);
}
private void setLines2and3(KeyEvent e)
{
line2="This key is"+(e.isActionKey()?""
:"not")+"an action key";
String temp=e.getKeyModifiersText(e.get-
Modifiers());
hne3="Modifier keys pressed:"+(temp.e-
quals("")?"none":temp);
textArea.setText(linel+"\n"+line2+"\n"
+line3+"\n");
}
public static void main(String args[])
{
java3 app=new java3();
addWindowListener(new Windowadapted()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
}
}
参考解析:
第1处:extends JFrame implements KeyListener
第2处:linel="Key typed:"+e.getKeyChar()
第3处:app.addWindowListener(new WindowAdapter())
【解析】第1处实现接口应用implements;第2处Java是大小写敏感的,获得键盘值应使用getKeyChar()方法;第 3处窗体级监听器应注册给接收类。
2016年计算机二级考试Java练习试题及答案(3).doc