全国计算机二级考试Java模拟试题
点击查看试题答案及解析
一、选择题(每小题1分,共40小题,共40分)

1.算法的空间复杂度是指( )。
A.算法程序的长度
B.算法程序中的指令条数
C.算法程序所占的存储空间
D.算法执行过程中所需要的存储空间
2.用链表表示线性表的优点是( )。
A.便于随机存取
B.花费的存储空间较顺序存储少
C.便于插入和删除操作
D.数据元素的物理顺序与逻辑顺序相同
3.已知一棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为( )。
A.GEDHFBCA
B.DGEBHFCA
C.ABCDEFGH
D.ACBFEDHG
4.下列数据结构中,能用二分法进行查找的是( )。
A.顺序存储的有序线性表
B.线性链表
C.二叉链表
D.有序线性链表
5.结构化程序设计的3种基本结构是( )。
A.过程、子程序和分程序
B.顺序、选择和重复
C.递归、堆栈和队列
D.调用、返回和转移
6.下列叙述中正确的是( )。
A.在模块化程序设计中,一个模块应该尽量多的包括与其他模块联系的信息
B.在自顶向下、逐步细化的设计过程中,首先应设计解决问题的第一个细节
C.在模块化程序设计中,一个模块内部的控制结构也要符合结构化原则
D.在程序设计过程中,不能同时采用结构化程序设计
方法与模块化程序设计方法
7.设计软件结构是在软件生命周期的( )。
A.软件定义期
B.软件开发期
C.软件维护期
D.以上3个都不是
8.数据库技术的根本目标是要解决数据的( )。
A.存储问题
B.共享问题
C.安全问题
D.保护问题
9.设计数据库的存储结构属于( )阶段。
A.需求分析
B.概念设计
C.逻辑设计
D.物理设计
10.相对于数据库系统,文件系统的主要缺陷有数据依赖、数据不一致性和( )。
A.可重用性差
B.安全性差
C.非持久性
D.冗余性
11.如果要求一个线性表既能较快地查找,又能适应动态变化的要求,则可采用的方法是( )。
A.分块法
B.顺序法
C.二分法
D.散列法
12.顺序存储结构的优点是( )。
A.删除运算方便
B.存储空间利用率高
C.插入运算方便
D.可以方便地运用到各种逻辑结构的存储表中
13.用下列4种排序方法,对一个已排好序(由小到大)的序列进行由小到大排序时,选择( )方法最好。
A.冒泡排序
B.直接选择排序
C.直接插入排序
D.归并排序
14.按层次次序将一棵有n-个结点的完全二叉树的所有结点从l~n编号,当i≤n/2时,编号为i的结点的左子树的编号是( )。
A.2i-1
B.2i
C.2i+1
D.不确定
15.对于给出的一组权w={10,12,16,21,30},通过霍夫曼算法求出的扩充二叉树的带权外部路径长度为( )。
A.89
B.189
C.200
D.300
16.JDK中,用( )命令对其源文件进行编译,生成字节码文件。
A.java.exe
B.javac.exe
C.javadoc.exe
D.javap.exe
17.以下叙述中不属于Java语言特点的是( )。
A.面向对象
B.可移植性
C.多线程
D.宏定义
18.在Java语言中,封闭是借助于( )实现酊。
A.对象
B.类
C.数组
D.成员
19.Java对文件类提供了许多操作方法,能获得文件对象父路径名的方法是( )。
A.getAbsolutePath()
B.getParentFile()
C.getAbsoluteFile()
D.getName()
20.下列各项中属于合法标识符的是( )。
A.myid/2
B.+void
C.-5
D._vacl
21.下列各选项中属于Java保留字的是( )。
A.TRUE
B.NULL
C.FALSE
D.null
22.下列各项中代表八进制整数的是( )。
A.0XA6
B.0144
C.1840
D.-lE3
23.下列代码的执行结果是( )。
public class Test
{
public static void main(String args[])
{
System.out.println(5/2);
System.OUt.println(100%3.O)
}
}
A.2和1
B.2和1.0
C.2.5和1
D.2.5和1.0
24.char类型被封装在( )中。
A.java.lang.Integer
B.java.lang.Char
C.java.lang.Boolean
D.java.lang.Character
25.下面代码段的输出是( )。
if(5 8L7)0&8L5|2)system.out.println("true");
A.编译出错
B.5752
C.true
D.无任何输出
26.下列关于内部类的说法,正确的是( )。
A.内部类可以与它包含的类名相同
B.内部类只能使用它所在类的静态成员变量,不能使用它所在类的方法中的局部变量
C.内部类可以用abstract修饰定义为抽象类,不能用private或protected定义
D.外部使用内部类时必须给出类的全名
27.定义一个表示10个值为null的字符串数组,下面选项正确的是( )。
A.String []a;
B.String a[];
C.char a[l0][];
D.String a[]=new String[10];
28.有一个接口定义如下,下列选项中实现了该接口并且不是抽象的是( )。
interface A
{
int methodl(int i);
int method2(int j);
}
A.classBimplementsA B.classB
{ {
int methodl(){) int methodl(inti){)
int method2(){) int method2(intj){)
} }
C.class B implements A D.class B extends A
{ {
int methodl(int i){) int methodl(int i){}
int method2(int j){) int method2(int J){}
} }
29.下面程序段的输出结果是( )。
class Base
{
int i;
Base()
{
add(1);
}
void add(int v)
{
i+=v:
}
void print()
{
System.out.println(i);
}
}
class Extension extends Base
{
Extension()
{
add(2);
}
void add(int v)
{
i+=v*2:
}
}
public class Test
{
public static void main(String args[])
{
bogo(new Extension());
}
static void bogo(Base b)
{
b.add(8);
b.print();
}
}
A.9 B.18
C.20 D.22
30.通常我们使用( )方法来为一个部件注册事件监听的机器。
A.add×××Listener
B.×××Listener
C.Listener×××
D.×××Listeneradd
31.下列的( )原始类型在使用流时可以互换。
A.byte和boolean
B.char和int
C.byte和char
D.String和char
32.下列关于HTML标记的说法,正确的是( )。
A.URL getDocumentBase()返回Applet主类的URL
B.URL getCOdeBase()返回包含Applet的HTML文件的URL
C.在HTML中不说明String getParameter(stringname)的参数,该方法将返回"0"
D.HTML标记方法用于获取HTML文件中关于Applet的信息
点击查看试题答案及解析
33.下列关于Applet的说法,正确的是( )。
A.它们能读/写用户的文件系统
B.它们能与提供包含小程序的网页的站点之内的Internet站点联系
C.它们能在阅读者的系统上运行任何程序
D.它们能加载存储在用户系统上的程序
34.resume()方法恢复( )的执行。
A.通过调用stop()方法而停止的线程
B.通过调用sleep()方法而停止运行的线程
C.通过调用wait()方法而停止运行的线程
D.通过调用suspend()方法而停止运行的线程
35.下列方法中能完成主类实例初始化工作的是( )。
A.start()
B.stop()
C.ink()
D.paint()
36.下面的( )关键字通常用来对对象加锁,从而使得对对象的访问是排他的。
A.serialize
B.transient
C.synchronized
D.static
37.下列程序中,若从键盘中输入的是大写字母C,则程序输出的结果是( )。
Importjava.io.*;
public class Exam{
public static void main(String args[]){
int ch=0;
System.out.println("输入一个字符:");
try{
ch=System.in.read();
charch_A=’A’,ch_Z=’Z’;
int delta c=(int)ch A+(int)ch Z-ch;
syStem. out.println("编码后的字符为:"+(char)delta_c);
}
catch(IOException e){
e.printStackTrace();
}
}
}
A.C
B.Y
C.X
D.字母C的ASCIl码的整型值
38.下面的程序执行后,屏幕上显示的应是( )。
public class Exam{
public static void main(String[]args){
char charl[]=(’t’,’e’,’s’,’t’};
char char2[]=(’t’,’e’,’s’,’t’,’l’};
String sl=newString(charl);
String s2=newString(char2,0,4);
System.out.println(sl.equals(s2));
}
}
A.true
B.false
C.test
D.编译错误
39.以下( )命令能为远程对象生成stub和skeleton。
A.rmiregistry
B.serialver
C.rmic
D.rmid
40.Java程序与数据库的连接机制是( )。
A.ODBC
B.JDBC
C.ODBCAPI
D.SQL/CLI
二、基本操作题(共18分)
本题统计score[]={37,89,63,60,59,78,91)中成绩不及格的人数。
public class javal{
public static void main(String[]args){
int score[]={37,89,63,60,59,78,91),
int sum=0:
int i=0;
while(i if(score[i]>=60){
;
;
}
;
i++;
}
System.OUt.println("below 60 sum:"+sum);
}
}
点击查看试题答案及解析
三、简单应用题(共24分)
本题中,在窗口右侧添加了一个菜单,右侧为一个文本域,菜单有“File”和“Help”,“File”菜单中有菜单项“New”、“Open”、“Save”、“Save as”和“Exit”,其中“Open”的快捷键为,“Save”的快捷键为,而“Help”菜单以及其中的菜单项“Index”和“About”设定了第一个字母为其快捷字母,通过鼠标单击任一个菜单项或通过快捷键以及快捷字母,都能在后台输入所选择的菜单项。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax swing.event.*;
public class java2 extends JFrame
{
private J Menuhem savehem;
private JMenuhem saveAsltem
private JPopupMenu popup;
private JTextArea textArea;
public java2()
{setTitle("java2");
setSize(400,300);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
textArea=new JTextArea(0,0);
Container contentPane=getContentPane();
contentPane.add(new JSerollPane(textArea).
"Center");
JMenuBar menuBar=new JMenuBar();
menuBar.setLayout(new BoxLayout(menuBar.
BoxLayout.Y_AXIS));
getContentPane().add(menuBar, BorderLayout.
WEST):
HorizontalMenu fileMenu=new HorizontalMenu
("File");
fileMenu.addMenuListener(this);
JMenuhem openhem = new JMenultem
("Open");
openItem.setAceelerator(KeyStroke.getKeyStroke
(KeyEvent.VK_O,InputEvent.CTRL_MASK));
saveltem=new JMenuhem("Save");
savehem.setAccelerator(KeyStroke.getKeyStroke
(KeyEvent.VK_S,InputEvent.CTRL_MASK));
saveAshem=new JMenuhem("Save As");
menuBar.add(makeMenu(fileMenu,
new Object[]{
"New",Openhem,null,savehem,saveAshem.
null."Exit"
},this));
HorizontalMenu helpMenu=new Horizontal-
Menu("Help");
helpMenu. (’H’);
menuBar.add(Box.createVerticalGlue());
menuBar.add(makeMenu(helpMenu,
new Object[]
{new JMenuhem("Index",’I’),
new JMenuhem("About",’A’)
},this));
}
public void actionPerformed(ActionEvent evt){
String arg=evt.getActionCommand();
System.out.println(arg);
if(arg.equals("Exit"))
System.exit(0);
}
pubile void menuSelected(MenuEvent evt){
}
public void menuDeselected(MenuEvent evt){
}
public void menuCanceled(MenuEvent evt){
}
public HorizontalMenu makeMenu(Object parent,
Object[]items,Object target)
{
HorizontalMenu m=null:
if(parent instanceoI HorizontalMenu)
m=(HorizontalMenu)parent;
else if(parent instaneeof String)
m=new HorizontalMenu((String)parrent);
else
return null;
m.setMinimumSize(m.getPreferredSize());
for(int i=0;i if(items[i]= =null)
m.addSeparator();
else
m.add(makeMenultem(items[i],target));
}
return m;
}
public static JMenuhem makeMenuItem(Object i-
tem,Object target)
{
JMenuItem r=null:
if(item instanceof String)
r=new JMenultem((String)item);
else if(item instanceof JMenuhem)
r=(JMenultem)item;
else return null;
if(target instanceof ActionListener)
r.addActionListener((ActionListener)target);
return r;
}
class HorizontalMenu extends J Menu{
HorizontalMenu(String label){
super(label);
JPopupMenu pm=getPopupMenu();
pm.setLayout(new BoxLayout(pm,BoxLayout.X
_AXIS));
setMinimumSize(getPreferredSize());
}
}
public static void main(String[] args){
Frame f=newjava2();
f.show();
}
}
四、综合应用题(共18分)
本题中,主窗口中有两个下拉菜单,一个控制绘制图形的颜色,另一个控制绘制的图形,在画板中单击鼠标,则以单击的位置为左上角、以选定的颜色绘制选定的图形。
import java.awt.*;
import java.awt.event.*;
class java3 extends Frame {
String[]figureNames={"圆形","椭圆形","正
方形","长方形");
String[]colorNames={"红色","绿色","蓝
色","黄色"};
Color[]colorValues={Color.red,Color.green,
Color.blue,Color.yellow);
Choice chFigure=new Choice();
Choice chColor=new Choice();
int curX,curY;
java3(){
super("java3");
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(O);
}
});
Panel P=new Panel(new GridLayout(1,O));
for(int i=0;i ehFigure.addhem(figureNames[i]);
}
for(int i=0;i chColor.addhem(eolorNames[i]);
}
P.add(chColor);
P.add(chFigure);
add(p,BorderLayout.NORTH);
addMouseListener(this);
setSize(300,300);
show();
}
public void update(Graphics g){
g.getColor(colorValues[chColor,getSelectedIndex
()]);
switch(chFigure.getSelectedlndex()){
case 0;
g.fillOval(curX,curY,30,30);
break;
case l:
g.fillOval(curX,curY,30,50);
break;
case 2:
g.fillRect(curX,curY,30,30);
break;
case 3:
g.fillRect(curX,curY,30,50);
break;
}
}
class MouseEventListener implements MouseAda-
pter{
public void mousePressed(MouseEvent evt){
curX=evt.getX();
curY=evt.getY();
repaint();
}
}
static public void main(String[]args){
new java3();
}
)
【全国计算机二级考试Java模拟试题】相关文章:
计算机二级JAVA考试模拟试题06-24
计算机二级考试JAVA模拟试题10-12
计算机二级JAVA考试精选模拟试题08-12
2015年全国计算机二级考试Java模拟试题(三)09-21
全国计算机二级考试Java模拟试题(二)答案及解析01-26