2017年计算机二级考试Java练习题及答案
2017年上半年计算机二级考试时间将会在3月25-28日开始进行,为了帮助大家能顺利通过计算机二级考试,下面百分网小编为大家带来2017年计算机二级考试Java练习题及答案,供大家参考学习,预祝考生备考成功!:
练习题一
1[单选题] 在软件开发中,需求分析阶段可以使用的工具是( )。
A.N-S图 B.DFD图C.PAD图 D.程序流程图
参考答案:B
参考解析:在软件开发中,需求分析阶段常使用的工具有数据流图(DFD)、数据字典(DD)、判断树和判断表。
2[单选题] Java中用于提供Java语言、Java虚拟机的核心的类和接口的包是( )。
A.java.io包B.java.applet包C.java.lang包D.java.net包
参考答案:C
参考解析:本题考查考生对Java语言中的类和接口的理解。java.lang包提供了构成Java语言、Java虚拟机核心的类和接口。例如,类object、类String和类Thread等。对任何一个Java程序来说,这些类几乎都是必不可少的。java.lang还包含了许多由Java虚拟机发出的异常,这些异常也是”类”的-种。另外,java.lang包还包含-些用于访问系统资源的类,如ClassLoader等。java.lang包具有极其重要的作用,在程序开头可以不必明文编写装载它的代码。
3[单选题] 数据库技术的根本目标是要解决数据的( )。
A.存储问题B.共享问题C.安全问题D.保护问题
参考答案:B
参考解析:在数据库系统中,需要对数据进行集合、统-的管理,以达到被多个应用程序共享的目标。
4[单选题]下列关于栈叙述正确的是( )。
A.栈顶元素能最先被删除
B.栈顶元素最后才能被删除
C.栈底元素永远不能被删除
D.以上三种说法都不对
参考答案:A
参考解析:栈是限定在一端进行插入、删除的先入后出的线性表数据结构,栈顶元素最后插入到栈中,但是最先被删除;而栈底元素最先插入,最后被删除。
5[单选题] 有下列二叉树,对此二叉树前序遍历的结果为( )。
A.XZCYABB.XYZABCC.XYABCZD.XYAZBC
参考答案:D
参考解析:对二叉树的前序遍历是指:先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。
6[单选题] 下面程序段的输出结果是( )。
A.9B.18C.20D.22
参考答案:D
参考解析:本题考查继承和构造函数的用法。首先要明确对一个类的继承是指在父类的基础上构建了一个子类,子类继承了父类的方法和状态。题目所给程序段创建的是Extension类的实例,在运行时,从main( )函数进入程序,所有调用add( )方法的过程将始终和Extension类的add( )方法动态绑定。初始值:i=0;创建实例newExtension( );先调用父类的默认构造函数Base( ),并在父类的默认构造函数中执行add(1),i=0+1×2,所以i=2,再调用子类的默认构造函数Extension( ),子类的默认构造函数中执行add(2),i=2+2×2,所以i=6;执行add(8);i=6+8×2,因此,最终i=22,正确答案为选项D。
7[单选题] 将E—R图转换为关系模式时,实体和联系都可以表示为( )。
A.属性B.键C.关系D.域
参考答案:C
参考解析:将E—R图转换为关系模式时,实体和联系都可以表示为关系。
8[单选题]下列关于Java源程序结构的论述中,正确的是( )。
A.一个文件包含的import语句最多l个
B.一个文件包含的public类最多1个
C.一个文件包含的接El定义最多l个
D.一个文件包含的类定义最多1个
参考答案:B
参考解析:一个文件的public类最多可以有一个,但是可以包含多个import,包含的接口定义也可以有多个,包含的class类可以有多个,当该文件命名时,可以以public类名来命名,反之编译之后将有多个.class文件生成。
9[填空题]耦合和内聚是评价模块独立性的两个主要标准,其中 反映了模块内各成分之间的联系。
参考解析:BDSM
10[单选题] 下列组件不能添加进Frame主窗口的是( )。
A.PanelB.CheekBoxC.DialogD.Choice
参考答案:C
参考解析:本题考查Java组件中容器的基本知识。选项A错误,Panel组件是容器,可以添加到Frame窗口;选项B错误,CheckBox组件是复选框组件,可以添加到Frame窗口;选项C正确,Dialog继承自Window,Windows类型(或子类)的对象不能包含在其他容器中;选项D错误,Choice组件是选择框组件,可以添加到Frame窗口。
11[单选题]下列叙述中,不属于软件需求规格说明书的`作用的是
A.便于用户、开发人员进行理解和交流
B.反映出用户问题的结构,可以作为软件开发工作的基础和依据
C.作为确认测试和验收的依据
D.便于开发人员进行需求分析
参考答案:D
12[单选题] 当使用SomeThread t=new SomeThread()创建一个线程时,下列叙述中正确的是( )。
A.SomeThread类是包含run()方法的任意Java类
B.SomeThread类一定要实现Runnable接口
C.SomeThread类是Thread类的子类
D.SomeThread类是Thread类的子类并且要实现Run-nable接口
参考答案:C
参考解析:由SomeThread t=new SomeThread()可知此题是通过继承Thread类来创建线程的。
13[单选题]数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为
A.C B.Basic C.DDL D.DML
参考答案:C
14[单选题]下列哪个选项是合法的标识符?
A.123 B._name C.class D.1first
参考答案:C
15[单选题]阅读下列代码
public class Test2005{
public static void main(String args[]){
System.out.println(~(0xa5) &0xaa);
}
}
其运行结果是
A.0xa5 B.10 C.0x50 D.0xaa
参考答案:B
16[单选题] 下列关于Java对import语句规定的叙述中,错误的是( )。
A.在Java程序中import语句可以有多个
B.在Java程序中import语句可以没有
C.在Java程序中import语句必须有一个
D.在Java程序中import语句必须引入在所有类定义之前
参考答案:C
参考解析:Java程序中使用import关键字导入一个包中的类。在一个Java源程序中,可以有0个或多个im—port语句,但是必须在所有类定义之前引入标准类。因此,本题中选项C的说法是错误的。
17[单选题] 可以使当前同级线程重新获得运行机会的方法是( )。
A.Sleep() B.join()C.yield()D.interrupt()
参考答案:C
参考解析:本题考查线程的基本控制。Thread类提供的基本线程控制方法包括:sleep()——使比其低的优先级线程运行,可以让一个线程暂停运行一段固定的时间;yield()——使具有与当前线程相同优先级的线程有运行的机会;join()——使当前线‘程暂停执行,等待调用该方法的线程结束后,再恢复执行;interrupt()——中断线程的阻塞状态,并且线程接收到InterruptException异常。根据上述介绍可知,只有yield()方法可以使当前同级线程重新获得运行机会。因此,本题的正确答案是C。
18[单选题] 当使用SomeThread t=new SomeThread()创建一个线程时,下列叙述中正确的是( )。
A.SomeThread类是包含run()方法的任意Java类
B.SomeThread类一定要实现Runnable接口
C.SomeThread类是Thread类的子类
D.SomeThread类是Thread类的子类并且要实现Runnable接口
参考答案:C
参考解析:由SomeThread t=new SomeThread()可知此题是通过继承Thread类来创建线程的。
更多计算机二级相关试题分享:
1.2017上半年计算机二级Java习题及答案
2.计算机二级Java练习题及答案2017
3.2017年3月计算机二级《JAVA》巩固练习题
4.2017年计算机二级Java备考题及答案
5.Java计算机二级练习题及答案2017
6.2017计算机二级《JAVA》考点训练题及答案
7.2017年计算机二级Java备考练习题
8.2017年3月计算机二级Java基础习题
9.2017计算机二级Java基础习题
10.2017计算机二级Java强化题及答案
训练题二
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.getKey);
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+" "+line2+" "
+line3+" ");
}
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处窗体级监测器应注册给接收类。
【计算机二级考试Java练习题及答案】相关文章:
计算机二级Java练习题及答案201706-03
计算机二级考试Java试题及答案10-24
计算机二级考试《Java》试题及答案09-04
计算机二级《JAVA》考试练习题08-02
2016计算机二级考试Java试题及答案06-24