全国计算机等级考试二级JAVA真题2012年3月
(总分100, 做题时间90分钟)
一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。
1. 
下列关于栈序正确的是
A 栈顶元素最先能被删除
B 栈顶元素最后才能被删除
C 栈底元素永远不能被删除
D 以上三种说法都不对
2. 
下列叙述中正确的是
A 有一个以上根结点的数据结构不一定是非线性结构
B 只有一个根结点的数据结构不一定是线性结构
C 循环链表是非线性结构
D 双向链表是非线性结构
3. 
某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)
A 3
B 4
C 6
D 7
4. 
在软件开发中,需求分析阶段产生的主要文档是
A 软件集成测试计划
B 软件详细设计说明书
C 用户手册
D 软件需求规格说明书
5. 
结构化程序所要求的基本结构不包括
A 顺序结构
B GOTO跳转
C 选择(分支)结构
D 重复(循环)结构
6. 
下面描述中错误的是
A 系统总体结构图支持软件系统的详细设计
B 软件设计是将软件需求转换为软件表示的过程
C 数据结构与数据库设计是软件设计的任务之一
D PAD图是软件详细设计的表示工具
7. 
负责数据库中查询操作的数据库语言是
A 数据定义语言
B 数据管理语言
C 数据操纵语言
D 数据控制语言
8. 
一个教师可讲授多问课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是
A 1:1联系
B 1:m联系
C m:1联系
D m:n联系
9. 
有三个关系R、S和T如下: 则由关系R和S得到关系T的操作是
A 自然连接
B 交
C 除
D 并
10. 
定义无符号整数类为UInt,下面可以作为类UInt实例化值的是
A -369
B 369
C 0.369
D 整数集合{1,2,3,4,5}
11. 
下列关于面向对象的论述中,正确的是
A 面向对象是指以对象为中心,分析、设计和实现应用程序的机制
B 面向对象是指以功能为中心,分析、设计和实现应用程序的机制
C 面向对象仅适用于程序设计阶段
D 面向对象是一种程序设计语言
12. 
语句”Hello”.equals(“hello”);的正确执行结果是
A true
B false
C 0
D 1
13. 
下列关于Java源程序结构的论述中,正确是
A 一个文件包含的import语句最多1个
B 一个文件包含的public类最多1个
C 一个文件包含的接口定义最多1个
D 一个文件包含的类定义最多1个
14. 
下列不属于Java关键字的是
A this
B super
C finally
D NULL
15. 
下列代码的执行结果是 public class Test { public static void main(String[] args) { int[] x={0,1,2,3}; for(int i=0;i<3;i+=2){ try{ System.out.println(x[i+2]/x[i]+x[i+1]); }catch(ArithmeticException e){ System.out.println("error1"); }catch(Exception e){ System.out.println("error2"); } } } }
A error1
B error2
error1
error2
2
error2
16. 
下列整数的定义中,错误的是
A int f=3.14;
B int a=012;
C int i=189;
D int d-0x123;
17. 
要得到某目录下的所有文件名,在下列代码的下划线处应填入的内容是(两个下划线的内容相同) ________pathname = new________(args[0]); String[] filename = pathname.list();
A FileInputStream
B FileOutputStream
C File
D RandomAccessFile
18. 
在下列代码的下划线处应填入的内容是 public class FirstSample { public static void main(________args[]) { System.out.println("你好!"); } } }
A staff
B double
C int
D String
19. 
Object类中的方法public int hashCode(),在其子类覆盖该方法时,其方法修饰符可以是
A protected
B public
C private
D 缺省
20. 
下面代码中的内部类名是 import java.awt*; import javax.swing.*; class TalkingClock { public static void main(int interval,final boolean beep) { ActionListener listener = new ActionListener(){ public void actionPerformed(ActionEvent event){ ________ } } Timer t = new Timer(interval,listener); t.start(); } }
A Timer
B ActionListener
C listener
D 匿名
21. 
已知zipname是一个压缩文件名,则zipname在下列代码中出现的正确位置是 ZipInPutStream zin =new ZipInPutStream(new FileInPutStream(①)); ZipEnatry entry; While((entry = zin.getNextEntry(②))!=null{ fileCombo.addItem(entry.getName(③)); zin.closeEntry(④); } Zin.close();
A ①
B ②
C ③
D ④
22. 
下列代码的执行结果是 int numbers[]=new int[6]; for(int i=1;i<numbers.length;i++){ numbers[i] = i-1; System.out.print(numbers[i]+" "); }
A 0 1 2 3 4 5
B 1 2 3 4 5 6
C 0 1 2 3 4
D 1 2 3 4 5
23. 
Java API中支持线程的类或接口是 Ⅰ.java.lang.Thread Ⅱ.java.lang.Runnable Ⅲ.java.lang.ThreadGroup Ⅳ.java.io.Serializable
A Ⅰ,Ⅱ
B Ⅰ,Ⅱ,Ⅲ
C Ⅰ,Ⅱ,Ⅳ
D Ⅰ,Ⅱ,Ⅲ,Ⅳ
24. 
下列关于Test类的定义中,正确的是
class Test implements Runnable {
public void run(){}
public void someMethod(){}
}
class Test implements Runnable {
public void run();
}
class Test implements Runnable {
public void someMethod();
}
class Test implements Runnable {
public void someMethod(){}
}
25. 
下列方法被调用后,一定使调用线程改变当前状态的是
A notify()
B yield()
C sleep()
D isAlive()
26. 
在堆栈类SharedStack的定义中,为了保证堆栈在并发操作中数据的正确性,应在下划线处填入的修饰符是(两个下划线的填写内容相同) public class SharedStack { ________int idx=0; ________char[] data= new char[10]; public synchronized void push(char c) {________} public synchronized void pop(){________} }
A public
B 不使用修饰符
C private
D protected
27. 
下列代码编译或执行结果的描述中,正确的是 class Test{ public static void main(String args[]){ TestThread pm1 = new TestThread("One"); pm1.start(); TestThread pm2 = new TestThread("Two"); pm2.start(); } } class TestThread extends Thread{ private String sTname=""; TestThread(String s){ sTname = s; } public void run(){ for(int i=0;i<2;i++){ try { sleep(1000); } catch (InterruptedException e) {} System.out.println(sTname+" "); } } }
A 不能通过编译,TestThread类中不能定义变量和构造方法
B 输出 One One Two Two
C 输出 Two One One Two
D 选项B或C都有可能出现
28. 
下列关于Applet的叙述中,正确的是
A 为了使Applet在浏览器中运行,需要在HTML文件中嵌入相应的Applet类
B Applet不能使用从外部接收参数
C Applet不能使用javac 命令进行编译
D java Application 与Applet都必须包含main()方法
29. 
下列代码的下划线处应填入的方法名是 import java.applet.*; import java.awt.*; public class Hello extends Applet { public void ________(Graphics g){ g.drawString("How are you!", 10, 10); } }
A repaint
B println
C paint
D show
30. 
下列变量的定义中,错误的是
A int  x=3;
B float f;d;
C String s=”Hello!”
D boolean b=true;
31. 
下列代码的执行结果是 int length = "Hello".length(); System.out.println(length);
A 5
B 2
C 10
D 6
32. 
下列代码的编译或执行结果是 public class MyVal { public static void main(String[] args) { MyVal m = new MyVal(); m.aMethod(); } public void aMethod(){ boolean [] b = new Boolean [5]; System.out.println(b[0]); } }
A 1
B null
C 0
D 编译错误
33. 
若变量a是String类型的数据,那么表达式(a+a)的类型是
A char
B String
C int
D long
34. 
Component类中用于刷新组件的方法是
A getFont
B getName
C update
D paint
35. 
鼠标在窗口中移动时,产生的事件是
A ActionEvent
B PrintEvent
C KeyEvent
D MouseEvent
二、填空题(每空2分,共30分)
请将每一个空的正确答案写在答题卡【l】~【15】序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整。
1. 
有序线性表能进行二分查找的前提是该线性表必须是________存储的。
2. 
一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为________。
3. 
对软件设计的最小单位(模块或程序单元)进行的测试通常称为________测试。
4. 
实体完整性约束要求关系数据库中元组的________属性值不能为空。
5. 
在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称________是关系A的外码。
6. 
若类声明时加上修饰符________,则表示该类不能有子类。
7. 
Java的类库中提供Throwable类来描述异常,它有Error和________两个直接子类。
8. 
类中的某些方法通过类名就可以直接被调用,例如 JOptionPane.showMessageDialog(null,”按确定键退出”)中的showMessageDialog方法,这种方法称为________方法。
9. 
在对象流中,对象的传送首先要将所传送的对象串行化,也就是实现Serializable接口。下列代码中必须实现Serializable接口的类是________。 ObjectInput in = new ObjectInputStream (new FileInputStream(“employee.dat”)); Employee[] newStaff = (Employee[]) in.readObject();
10. 
下列代码的执行结果是________。 public class Expression { public static void main(String[] args) { int v1=10,v2=99,v3=0; System.out.println((v1<0)&&(v2/v3)==3); } }
11. 
语句Thread thread = new SomeThreadClass()成功运行后,线程thread1处于生命周期________状态。
12. 
Java的线程调度策略是一种基于优先级的________试调度。
13. 
一个Applet被浏览器加载后,是从________()方法开始执行的。
14. 
根据下列类声明,可以得知类TwoListeners能够处理两类事件:WindowEvent和________。 Public class TwoListeners implements MouseMotionListener,WindowListener{ ________ }
15. 
下列代码的功能是把按钮save添加到窗口myFrame的中间,在空白处应填入的代码是________。 public class MyFrame { public static void main(String[] args) { JFrame myFrame = new JFrame(); JButton save = new JButton(); myFrame.getContentPane().add(save,"________"); myFrame.setSize(200, 200); myFrame.setVisible(true); } }
答题卡