1、二级JAVA真题2004年9月答案真题 120一、选择题(每小题2分,共70分) 下列各题A、B、C、D 四个选项中,只有一个选项是正确的。 第1题:参考答案:C答案解析:A选项错误,因为算法的执行效率与算法执行过程中所需基本运算的执行次数有 关;B选项错误,原因是算法的空间复杂度是指执行这个算法所需要的内存空间;C选项正确,故D选项不正确。第2题:参考答案:C答案解析:所谓的线性结构是指:如果一个非空的数据结构满足下列两个条件,即有且 只有一个根结点;每一个结点最多有一个前驱,也最 多有一个后继。同时满足两个条件的有队列、线性表和栈,而二叉树的结点可能存在 两个后继,所以不是线性结构。第3题
2、:参考答案:B答案解析:根据二叉树的性质,在二叉树的第K层上,最多有2的k-1次方个结点。所以,第 5层的结点数最多为16。第4题:参考答案:A答案解析:应该选择只有一个入口和一个出口的模块,故B选项错误:首先要保证程序正确 ,然后才要求提高效率,故C选项错误:严格控制使用 GOTO语句,必要时可以使用,故D选项错误。第5题:参考答案:D答案解析:A、B、C属于面向对象方法,D属于面向过程方法,故答案为D。第6题:参考答案:B答案解析:结构化分析方法是结构化程序设计理论在软件需求分析阶段的运用。而结构化 分析就是使用数据流图(DFD.、数据字典(DD.、结构化英 语、判定表和判定树等工具,来建
3、立一种新的、称为结构化规格说明的目标文档。所 以数据流程图是在需求分析阶段使用的。第7题:参考答案:D答案解析:数据结构设计、给出系统模块结构以及定义模块算法都属于设计阶段,而定义 需求并建立系统模型属于分析阶段。第8题:参考答案:B答案解析:数据库管理系统是一种系统软件,负责数据库中的数据组织、数据操纵、数据 维护、控制及保护和数据服务等,因此数据库管理系统 是数据库系统的核心。第9题:参考答案:C答案解析:A选项,数据库系统需要操作系统的支持,必不可少,故其叙述不正确。 B选项 错误,数据库设计是指设计一个能满足用户要求,性能 良好的数据库。D选项也不对,数据库应该具有物理独立性和逻辑独立
4、性,改变其一而 不影响另一个。正确答案为C。第10题:参考答案:A答案解析:能够给出数据库物理存储结构与物理存取方法的是内模式。外模式是用户的数 据视图,也就是用疗所见到的数据模式。概念模式是数 据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。没有逻辑模式这一 说法。正确答案为A。第11题:参考答案:A答案解析:本题考查Java语言的特点。过去的高级语言大多数是面向过程的,比如C语言等 ,它们是通过数据结构与算法来描述客观世界。而现在 很多语言是面向对象的,比如Java、C+、Visual Basic等,它们将客观世界看成由各 种对象组成。需要注意区分面向过程语言与面向对象语 言的区
5、别。第12题:参考答案:B答案解析:本题考查Java中的布局管理器。FlowLayout是Pane和Applet默认的布局管理器 ,构件在容器中从上到下、从左到右进行放置; BorderLayout是Window、Frame和Dialog的默认布局管理器,选项B正确,在 BorderLayout布局管理器中,构件分成5个区域,每个区域只能放 置一个构件: GridLayout使容器中各个构件呈网状布局,平均占据容器的空间:GardLayout把容器 分成许多层,每层只能放置一个构件。第13题:参考答案:D答案解析:本题考查Java语言的特点。Java语言的特点是考试重点,务必掌握。跨平台的 特
6、点保证了Java语言的可移植性,同时,Java的类库也 具有可移植性。Java本身的编译器也用Java语言编写,运行系统的虚拟机用C语言实现 ,这样,Java系统本身也具有可移植性。第14题:参考答案:B答案解析:本题考查考生对Java语言概念的理解。这是考试重点内容,注意理解这些基本 概念。 Java语言和C语言不同,它是区分大小写的:Java程序的源文件扩展名为class ,.jar文件是由归档工具jar生成的.jar文件。源文件中 public类的数目只能有0个或 1个,用来指定应用程序类名,也是源文件名,所以选项B正确。第15题:参考答案:D答案解析:本题考查Java语言中的整型常量。
7、题目不难,但属于学习程序设计语言的基础 ,应有所了解。 整型常量有3种书写格式:十进制整数,如156,-230,345;八进制整数:以0开 头,如012表示十进制的10;十六进制整数:以0x或OX开 头,如OX123表示十进制数 291。由此可见,选项A表示的是十六进制整数,选项B不是整数形式,选项C是十进制 整数,选项D是八进制整数,为 本题正确选项。第16题:参考答案:A答案解析:本题考查Java中的运算符。程序涉及的数据处理,都是通过运算符和表达式来 操作,是程序设计的基础,因此务必掌握。 按照运算符的操作数的数目划分,可以分为:一元运算符(+,-,+,-)、二元 运算符(+,-,)、三
8、元运算符(?:)。所以本题正确答案 是选项A。第17题:参考答案:B答案解析:本题考查Java语言运算符的使用。运算符是模数除,也就是求余,表达式 为: op1op2 Java中的二元运算符适用于所有数值型数据类型,但需要注意,如果两个操作数 全是int型,结果也是int型,1003=1:如果两个操作数 全是float型,或其中一个 是 float型,而另外一个是整型时,表达式结果是float型,1003.0=1.0,所以选项 B为正确答案。务必注意操作 数类型不同时运算结果的类型。第18题:参考答案:D答案解析:本题考查Java语言中的赋值运算。赋值运算符(二)是把一个表达式的值赋给一 个变
9、量,赋值运算符两侧的类型不一致的情况下,如果 左侧变量类型的级别高,则右侧的数据被转化为与左侧相同的高级数据类型后赋给左 侧变量:否则,需要使用强制类型转换运算符。 选项A是float常量;选项B是double型:选项C是一个字符型常量,需要注意,这 里的“”是转移字符,“r”表示回车,并不是字母r; 选项D中433超过了byte类型 的范围,所以是错误的。第19题:参考答案:C答案解析:第20题:参考答案:C答案解析:本题考查main()方法的概念。main方法的返回类型是void,Java解释程序不希 望从main方法那里得到返回值。Java解释程序会生成一 个退出状态,该退出状态用于解释
10、程序的调用环境,以表明是否成功地执行了该程序 和正常终止了该程序。这是基本概念题目,了解即可。第21题:参考答案:B答案解析:本题考查Java语言内部类的概念。内部类是在一个类的内部嵌套定义的类,一 般是用来生成事件适配器,可以定义多个内部类去继承不同事件适配器类,使事件处 理很方便。 在本题中,内部类并不是用来生成事件适配器,而是实现事件处理。 btnnaddActionListener(new ActionListener()语句是注册监听 器进行授权,该 方法的参数是事件处理者对象。public void actionPerformed(ActionEvent event) 语句是系统产
11、生的ActionEvent事件对象 被当作参数传递给该方法,本接口中只有一 个方法,因此事件发生时,系统会自动调用本方法,编写程序时把代码写在这个方法 里即可。比 如,本题中 String s=inputget Text()语句就是获得输入的字符串, 然后使用 outputsetText(Hello+s+,Welcome You!)语句实现输出。第22题:参考答案:C答案解析:本题考查数组的概念。数组的定义与初始化是考试重点,也是比较容易出错的 地方,应该灵活掌握。动态初始化需要使用new操作符来 分配内存空间,既可以在声明时初始化,也可以在声明以后初始化。 声明时初始化: 类型数组名=new
12、类型数组长度; 声明后初始化: 类型数组名;数组名=new类型数组长度; 选项A定义了一个整型数组,不符合题意;选项B定义了一个字符串数组。在Java 语言中用一种特殊的类-java.utilArrayList(数组列表)在运行时能动态调 整数组的大小。ArrayList类在定义数组时,不必限定数 组的大小。在数组列表初始 化时,可用add()方法将数组元素赋值。第23题:参考答案:D答案解析:本题考查Java中接口的概念。接口是一种只含有抽象方法或变量的特殊的抽象 类,主要功能是:不管类的层次,可实现互不相关的类 具有相同的方法,所以选项A说法正确:通过接口说明多个类所需实现的方法,选项B
13、说法正确:通过接口可以了解对象的交互界面,无需了解 对象所对应的类,选项C说 法正确:因为接口不包括任何实现,所以与存储空间没有任何关系,选项D说法错误。第24题:参考答案:B答案解析:本题考查Java中子类的概念。Java中通过在类声明中加入extends子句来创建子 类,格式为:class SubClass extens SuperClass。题目中class Manager extends Employee语句定义Manager类为 Employee类的子类,所以选项B是正确答案。 Manager类定义 了Manager(String n,double s,int year,int mo
14、nth,int day)、getSalary()和 setBonus(doubleB.成 员方法和bonus成员变量。第25题:参考答案:B答案解析:本题考查事件监听器的概念。窗口事件接口WindowListener有几个关键方法, 应该注意,如public void windowClosing(WindowEvent e)是把退出窗口的语句写在本方法中;public void windowOpened(WindowEvent e)是 窗口打开时调用;public void windowClosed(WindowEvent e)是窗口关闭时调用,选 项B正确:public void windo
15、wIconified(WindowEvente)是窗口图标化时调用; public void windowDeiconified (WindowEvent e)是窗口非图标化时调用:public void windowActivated(WindowEvent e)是窗口激活时调用; public void windowDeactivated(WindowEvent e)是窗口非激活时调用。第26题:参考答案:A答案解析:本题考查Java Applet的概念。Applet是Java与Web相结合而引入的重要的 Java 应用形式。Applet是Java类,但自身不能运行,必须嵌入在其他应用程序
16、中运行,因 此不能直接由java.exe解释运行,选项A说法错误。Applet与Application的主要区别 在执行方式上, Application以main()方法为入口点运行,Applet要在浏览器或 appletviewer中运行,运行过程比Application更复杂。第27题:参考答案:A答案解析:本题考查Applet生命周期的概念。Applet声明周期是指从Applet下载到浏览器 ,到用户退出浏览器,终止Applet运行的过程。Applet 生命周期方法包括init()方法、start()方法、stop()方法和destroy()方法,一共4种 ,所以选项A正确。第28题:参
17、考答案:C答案解析:本题考查正则表达式的概念。正则表达式(Regular Expression)就是一个由字 符构成的串,是一种字符模式,它描述的是一组字符 串。可以使用java.utilregex软件包,查找、显示或修改输入序列中出现的某个模 式的一部分或全部。第29题:参考答案:D答案解析:本题考查对线程调度的理解。线程属于考试难点,概念不容易理解,需多下功 夫。 调用线程的sleep()方法,可以使比其低的优先线程运行,所以选项A说法正确: 调用线程的yeild()方法,只让给同优先级运行,所以选项 B说法正确;Java的线程调 度策略是一种基于优先级的抢先式调度,所以选项C说法正确:具
18、有相同优先级的多个 线程的调度可能是分时的,也 可能是线程逐个运行,由具体JVM而定,选项D说法错误 ,故为所选。第30题:参考答案:D答案解析:本题考查线程的概念。调用线程的sleep()方法、yeild()方法和wait()方法都 会将线程阻塞,而isAlive()是用来测试线程,以确定线 程是否活着。该方法如果返回 true,则意味着线程已经启动,但还没有结束,并不影 响线程的生命周期,所以选项 D正确。第31题:参考答案:C答案解析:本题考查考生对附属类的掌握。题目看起来很难,其实不用去理解程序即可回 答,按照Java中的语法规则,只有选项C满足题目。在题 目中出现了“out”变量,只
19、有选项C中“PrintWriter out”有该变量。选项A只是用 来定义一个数组,选项B是一个常量,不能用在这里,选 项D中“BufferedWriter”后 缺少参数。这个题目考点有些含栅,容易让考生莫名其妙,如果将程序整个给出也许 更好一些,了解即可,本题 的关键是明白附属类的概念。第32题:参考答案:A答案解析:本题考查Java中的运算。首先要清楚,“&”是逻辑与运算符:“!”是逻辑非 运算符;“&”是按位与运算符。按照逻辑运算符 “a&b”是false,“!b”是false,所以c是false。“a&b”是false,所以result是 false。要注意区分“&”和“&”,以及运算
20、符之间的优 先级关系,本题虽然没有涉 及,但也要作为重点掌握。第33题:参考答案:A答案解析:本题考查对Java中的匹配器(Matcher)类的理解。Matcher类用于将一个输入字 符串input和模式串pattern相比较。boolean matcher,find()方法用于寻找下一个模式匹配串:int matcher,start()方法用于返回 匹配串的一个起始索引整数值:int matcher,end()方法 用于返回匹配串的一个终止 索引整数值。而用于输入字符串与模式串比较的方法是static boolean matches(), 选项A正确。第34题:参考答案:B答案解析:本题考查
21、Java线程中对象的加锁及其操作。对象加锁的使用非常灵活,定要注 意。 对象的锁在如下几种情况下由持有线程返还:当synchronized()语句块执行完后 ,所以选项A错误;当在synchronized()语句块中出现异常 (exception),所以选项B 错误:当持有锁的线程调用该对象的wait()方法,此时该线程将释放对象的锁,所以 选项D错误。而当调用了线程的 suspend()方法只是使线程暂时停止执行,可以使用其 他线程调用resume()方法恢复执行,所以选项B正确。第35题:参考答案:C答案解析:本题考查Applet的安全限制。Java2中的安全机制建立一个策略文件给Appl
22、et授 予所需的权限,并使用这个安全策略实施对该Applet的安全控制,选项C说法正确。要 注意分析题目,本题通过仔细分析题目,也可以正确回答。二、填空题(每空2分,共30分)第36题:参考答案:时间详细解答:算法的复杂度主要指时间复杂度和空间复杂度。所谓算法的时间复杂度,是指 执行算法所需要的计算工作量:算法的空间复杂度,一般是指执行这个算法所需要的 内存空间。第37题:参考答案:存储结构(或物理结构、或物理存储结构)详细解答:时间数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构。第38题:参考答案:黑盒(或黑箱)详细解答:软件测试的方法分为白箱测试方法和黑箱测试方法。白箱测试是
23、根据对程序内 部逻辑结构的分析来选取测试用例,白箱测试用例的设计准则有:语句覆盖、分支覆盖、条件覆盖和组合条件覆盖:黑箱测试方法完全不考 虑程序的内部结构和内部特征,而只是根据程序功能导出 测试用例。常用的黑箱测试 有等价分类法、边值分析法、因果图法和错误推测法。第39题:参考答案:一对多(或1对多、或1:M、或1:N,其中M、N大小写均可)详细解答:实体之间的联系可以归结为三类:一对一的联系,一对多的联系,多对多的 联系。设有两个实体集E,和E:,如果E:中的每一个实体与E,中的任意个实体(包括零个)。有联系,而E,中的每一个实体最多与E:中的一 个实体有联系,则称这样的联系为“从E(下标)
24、2到E(下 标)1的一对多的联系”,通常 表示为“1:n的联系”。由此可见,工人和设备之间是一对多关系。第40题:参考答案:投影详细解答:关系数据库管理系统的专门关系运算包括选择、连接和投影。选择运算是在指 定的关系中选取所有满足给定条件的元组,构成一个新的关系,而这个新的关系是原关系,的一个子集;投影运算是在给定关系的某些域上 进行的运算。通过投影运算可以从一个关系中选择出所需 要的属性成分,并且按要求 排列成一个新的关系,而新关系的各个属性值来自原关系中相应的属性值;连接运算 是对两个关系进行的运算,其 意义是从两个关系的笛卡儿积中选出满足给定属性间一 定条件的那些元组。第41题:参考答案
25、:类库详细解答:本题考查Java语言的特点,Java简单性首先表现在自身系统的精练,它的基本 解释程序和类库占内存40KB,附加的基本标准类库和支持线程程序占175KB,力图用最小的系统完成尽可能多的功能。第42题:参考答案:public class MyFrame extends Frame详细解答:本题考查对类声明的理解。类声明的格式为: 修饰符class 类名extends父 类名implements类实现的接口列表其中口括起来的内容为可选项。关键字class是类定义的开始,类名应符合标识符命名规则。关键字 extends指明该类是子类,它的父类名紧跟其后,子类与父 类之间有继承关系。关
26、键 字implements指明该类实现的接口,后跟接口名列表。要注意掌握类声明的概念,虽 然很简单,但容易漏掉有关修饰 符。第43题:参考答案:传值详细解答:本题考查Java中方法的参数传递。Java中方法的参数传递是传值调用,而不是 地址调用。方法不能改变参数值,但可以改变变量值,两个对象之间的参数字段不能互相交换。参数传递是Java中一个重要概念,注意理解 。第44题:参考答案:重用或复用详细解答:本题考查Java中的继承机制。继承性是面向对象方法的一个重要基本特征,它 使代码可以重用,可降低程序复杂性。Java语言中,所有的类都是通过直接或间接地集成javA.langObjecter而得
27、到的。第45题:参考答案:抽象方法详细解答:本题考查接口的概念。接口是一种只含有抽象方法或常量的一种特殊抽象类。 接口是不包含成员变量和方法实现的抽象类,它只包含常量和方法的定义,而不包含任何实现。第46题:参考答案:while详细解答:本题考查Java语言的循环结构。Java语言的循环结构包括while循环,又称为“ 当型”循环;do-while循环,又称为“直到循环”;for循环,需要首先知道循环会执行多少次。循环结构是Java流程控制中非常重要的结 构,务必掌握,不仅要知道其概念,更要灵活运用。第47题:参考答案:Thread t=new Thread(h)详细解答:第48题:参考答案:
28、JApplet或javaxswingJApplet详细解答:本题考查Swing构件。Swing是AWT扩展,提供了许多新的图形界面构件,都是以 “J”开头。顶层容器包括JFrame、JApplet、JDialog和JWindow共4个。JApplet是一个使Applet能够使用Swing构件的类,是javA.applet Applet类的子类。包含Swing构件的Applet必须是 JApplet类的子类。第49题:参考答案:ObjectOutputStream详细解答:本题考查考生对对象串行化的理解。对Java对象的读、写的过程称为对象串行 化,对象的串行化对于大多数Java应用是非常实用和
29、基本的。Java对象串行化技术,主要是通过ObjectInputStream类和ObjectOutputStream 类来实现,一般将这两种称为对象流。第50题:参考答案:Hi! I am TomHow are you?详细解答:本题考查类的继承。从main()方法作为程序入口,首先执行Test t=new Test (Tom)语句,此时将调用Test(String s)构造方法,而进入此方法后由super(s)语句来调用TTTT(String s),而执行this()语句将会调 用TTTT(),因此,首先由 Systemoutprint(Hi! )语句执行输出。接下来才是 Systemoutprint(I am+s)语句,然后才是Systemoutprint(How are you?),最后程序结束。要注意 区分this和super所对应的类。更多试卷请见麦多课文库