2007 年 9 月全国计算机二级 Java 考试真题及答案
(考试时间 90 分钟,满分 100 分)
一、选择题(每小题 2 分,共 70 分)
下列各题 A) 、B) 、C) 、D) 四个选项中,只有一个选项是正确的。
(1)软件是指
A) 程序 B) 程序和文档
C) 算法加数据结构 D) 程序、数据与相关文档的完整集合
(2)软件调试的目的是
A) 发现错误 B) 改正错误
C) 改善软件的性能 D) 验证软件的正确性
(3)在面向对象方法中,实现信息隐蔽是依靠
A) 对象的继承 B) 对象的多态
C) 对象的封装 D) 对象的分类
(4)下列叙述中,不符合良好程序设计风格要求的是
A) 程序的效率第一,清晰第二 B) 程序的可读性好
C) 程序中要有必要的注释 D) 输入数据前要有提示信息
(5)下列叙述中正确的是
A) 程序执行的效率与数据的存储结构密切相关
B) 程序执行的效率只取决于程序的控制结构
C) 程序执行的效率只取决于所处理的数据量
D) 以上三种说法都不对
(6)下列叙述中正确的是
A) 数据的逻辑结构与存储结构必定是一一对应的
B) 由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构
C) 程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构
D) 以上三种说法都不对
(7)冒泡排序在最坏情况下的比较次数是
A) n(n+1)/2
B) n1og2n C) n(n-1)/2 D) n/2
(8)一棵二叉树中共有 70 个叶子结点与 80 个度为 1 的结点,则该二叉树中的总结点数为
A) 219B) 221C) 229D) 231
(9)下列叙述中正确的是
A) 数据库系统是一个独立的系统,不需要操作系统的支持
B) 数据库技术的根本目标是要解决数据的共享问题
C) 数据库管理系统就是数据库系统
D) 以上三种说法都不对
(10)下列叙述中正确的是
A) 为了建立一个关系,首先要构造数据的逻辑关系
B) 表示关系的二维表中各元组的每一个分量还可以分成若干数据项
C) 一个关系的属性名表称为关系模式
D) 一个关系可以包括多个二维表
(11)下列关于 System 类的叙述中,错误的是
A) System 类是一个 final 类
B) System 类不能实例化
C) System 类中没有定义属性
D) System 类主要提供了系统环境参数的访问
(12)下列布尔变量定义中,正确并且规范的是
A) BOOLEAN canceled=false;
B) boolean canceled=false;
C) boolean CANCELED=false;
D) boolean canceled=FALSE;
(13)数组中各个元素的数据类型是
A) 相同的 B) 不同的
C) 部分相同的 D) 任意的
(14)内部类不可直接使用外部类的成员是
A) 静态成员
B) 实例成员
C) 方法内定义
D) 以上 A、B,C 都不是
(15)阅读下面程序
public class Test1 {
public static void main(String[] args){
System.out.println(34+56-6);
System.out.println(26*2-3);
System.out.println(3*4/2);
System.out.println(5/2);
}
}
程序运行结果是
A) 84B) 90
49
25
6
2
6
2.5
C) 84D) 68
23
49
12
14
2
2.5
(16)在 JDK 目录中,Java 程序运行环境的根目录是
A) binB) demo
C) libD) jre
(17)阅读下面程序
public class ConcatTest{
public static void main(String[] args) {
String strl = "abc";
String str2 = "ABC";
String str3 = str1.concat(str2);
System.out.println(str3);
}
}
程序的运行结果是:
A) abeB) ABC
C) abcABCD) ABCabc
(18)下列运算符中属于关系运算符的是
A) ==
B) =
C) +=
D) -=
(19)下列语句中执行跳转功能的语句是
A) for 语句 B) while 语句
C) continue 语句 D) switch 语句
(20)下列适配器类中不属于事件适配器类的是
A) MouseAdapterB) KeyAdapter
C) ComponentAdapterD) FrameAdapter
(21)下列运算符中不能进行位运算的是
A) >> B) >>>
C) <<
D) <<<
(22)阅读下面程序
public class Test2 {
public static void main(String args[]){
int a=1O, b=4, c=20, d=6;
System.out.println(a++*b+c*--D) ;
}
}
程序运行的结果是
A) 144 B) 160
C) 140 D) 164
(23)阅读下面程序
public class Test3 {
public static void main(String args[]){
int x=3, y=4, z=5;
String s="xyz";
System.out.primln(s+x+y+z);
}
}
程序运行的结果是
A) xyzl2 B) xyz345
C) xyzxyzD) 12xyz
(24)下列类中属于字节输入抽象类的是
A) FileInputStream B) ObjectInputStream
C) FiterInputStreamD) InputStream
(25)能向内存直接写入数据的流是
A) FileOutputStream
B) FileInputStream
C) ByteArrayOutputStream
D) ByteArrayInputStream
(26)下面程序中需要对 Employee 的对象进行存储,请在下划线处填入正确选项。
class Employee implements______ {
……}
A) ComparableB) Serializable
C) Cloneable D) Datalnput
(27)阅读下面程序
public class Test4 {
public static Void main(String args[]){
int i=10, j=3;
float m=213.5f, n=4.0f;
System.out.println(i%j);
System.out.println(m%n);
}
}
程序运行的结果是
A) 1.0 和 1.5B) 1 和 1.5
C) 1.0 和 2.5D) 1 和 2.5
(28)阅读下面程序
import java.io.*;
public class ByteStreamTest {
public static void main(String[] A)
{
int [] myArray = {10,20,30,40 };
try{
DataOutputStream dos = new DataOutputStream
( new______ ("ints.dat"));
for (int i=0; i<myArray, length; i++)
dos.writelnt( myArray[i] );
dos.close();
System.out.println("Have written binary file ints.dat");
}
catch (IOException ioe){
Sy stem.out.println("IO Exception");
}
}
}为保证程序正确运行,在程序中下划线处应填入的代码是
A) FileOutputStream
B) ByteArrayOutputStream
C) BufferedOutputStream
D) FileWriter
(29)要在 HTML 文件中嵌入 Applet,在<applet>标记中必须定义的是
A) Applet 字节码文件的 URL
B) Applet 显示区域的高度和宽度
C) Applet 字节码的文件名
D) B 和 C
(30)如果要在 Applet 中显示特定的文字、图形等信息,可以在用户定义的 Applet 类中重写的方法是
A) paint() B) update()
C) drawstring()D) drawLine()
(31)如果用户定义的 Applet 类中没有 init()方法,则该程序
A) 必须定义一个 main()方法
B) 无法通过编译
C) 可以通过编译,但运行时将出错
D) 可以通过编译,并且能够正常运行
(32)阅读下面程序
class Test implements Runnable {
public static void main(String[] args) {
Test t = new Test();
t.startO;
}
public void run(){ }
}
下列关于上述程序的叙述正确的是
A) 程序不能通过编译,因为 start()方法在 Test 类中没有定义
B) 程序编译通过,但运行时出错,提示 start()方法没有定义
C) 程序不能通过编译,因为 run()方法没有定义方法体
D) 程序编译通过,且运行正常
(33)如果使用 Thread t=new Test()语句创建一个线程,则下列叙述正确的是
A) Test 类一定要实现 Runnable 接口
B) Test 类一定是 Thread 类的子类
C) Test 类一定是 Runnable 的子类
D) Test 类一定是继承 Thread 类并且实现 Runnable 接口
(34)下列方法中,声明抛出 InterruptedException 类型异常的方法是
A) suspend()B) resume()
C) sleep() D) start()
(35)如果线程正处于运行状态,可使该线程进入阻塞状态的方法是
A) yield()B) start()
C) wait() D) notify()
二、填空题(每空 2 分,共 30 分)
(1)软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的
是 【1】 。
(2)在两种基本测试方法中, 【2】 测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。
(3)线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队
列的 【3】 存储结构。
(4)对下列二叉树进行中序遍历的结果为 【4】 。
(5)在 E-R 图中,矩形表示 【5】 。
(6)在 Java 中,所有数据类型的长度都固定,因此没有保留字 【6】 。
(7)布尔逻辑运算符包括:!、&&和 【7】 。
(8)switch 语句中,在每个 case 子句后进行跳转的语句是: 【8】 。
(9)用户不能直接调用构造方法,只能通过 【9】 关键字自动调用。
(10)Class 对象由 Java 【10】 自动生成。
(11)下面程序运行时输出结果为
C:\Program Files is a directory.
请将程序补充完整。
import java.io.*;
public class DirTest {
public static void main(String[] args) {
File myDir = new File("C:/Program Files/");
System.out.println
(myDir+( 【11】 .isDirectory()?"is": "is not") +" a directory.");
}
}
(12)一个 Applet 在被加载到浏览器并完成初始化后,将被调用的方法是 【12】 ()。
(13)Java 中的线程体是由线程类的 【13】 ()方法进行定义的,线程运行时,也是从该方法开始执行。
(14)AWT 中的布局管理器包括 BorderLayout、 【14】 、CardLayout、OridBagLayout 和 GridLayout。
(15)Java 中线程模型由虚拟的 CPU,代码与数据构成。该模型是由 java.lang. 【15】 类进行定义和描
述的。
一、选择题
答案解析