二级JAVA真题.docx

上传人:b****2 文档编号:24110720 上传时间:2023-05-24 格式:DOCX 页数:26 大小:49.22KB
下载 相关 举报
二级JAVA真题.docx_第1页
第1页 / 共26页
二级JAVA真题.docx_第2页
第2页 / 共26页
二级JAVA真题.docx_第3页
第3页 / 共26页
二级JAVA真题.docx_第4页
第4页 / 共26页
二级JAVA真题.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

二级JAVA真题.docx

《二级JAVA真题.docx》由会员分享,可在线阅读,更多相关《二级JAVA真题.docx(26页珍藏版)》请在冰豆网上搜索。

二级JAVA真题.docx

二级JAVA真题

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)/2B)n1og2nC)n(n-1)/2D)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)BOOLEANcanceled=false;

B)booleancanceled=false;

C)booleanCANCELED=false;

D)booleancanceled=FALSE;

(13)数组中各个元素的数据类型是

A)相同的B)不同的

C)部分相同的D)任意的

(14)内部类不可直接使用外部类的成员是

A)静态成员

B)实例成员

C)方法内定义

D)以上A、B,C都不是

(15)阅读下面程序

publicclassTest1{

publicstaticvoidmain(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

4925

66

22.5

C)84D)68

2349

1214

22.5

(16)在JDK目录中,Java程序运行环境的根目录是

A)binB)demo

C)libD)jre

(17)阅读下面程序

publicclassConcatTest{

publicstaticvoidmain(String[]args){

Stringstrl="abc";

Stringstr2="ABC";

Stringstr3=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)阅读下面程序

publicclassTest2{

publicstaticvoidmain(Stringargs[]){

 inta=1O,b=4,c=20,d=6;

System.out.println(a++*b+c*--D);

}

}

程序运行的结果是

A)144B)160

C)140D)164

(23)阅读下面程序

publicclassTest3{

publicstaticvoidmain(Stringargs[]){

intx=3,y=4,z=5;

Strings="xyz";

System.out.primln(s+x+y+z);

}

}

程序运行的结果是

A)xyzl2B)xyz345

C)xyzxyzD)12xyz

(24)下列类中属于字节输入抽象类的是

A)FileInputStreamB)ObjectInputStream

C)FiterInputStreamD)InputStream

(25)能向内存直接写入数据的流是

A)FileOutputStream

B)FileInputStream

C)ByteArrayOutputStream

D)ByteArrayInputStream

(26)下面程序中需要对Employee的对象进行存储,请在下划线处填入正确选项。

classEmployeeimplements______{

……}

A)ComparableB)Serializable

C)CloneableD)Datalnput

(27)阅读下面程序

publicclassTest4{

publicstaticVoidmain(Stringargs[]){

inti=10,j=3;

floatm=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)阅读下面程序

importjava.io.*;

publicclassByteStreamTest{

publicstaticvoidmain(String[]A){

int[]myArray={10,20,30,40};

try{

DataOutputStreamdos=newDataOutputStream

(new______("ints.dat"));

for(inti=0;i<myArray,length;i++)

dos.writelnt(myArray[i]);

dos.close();

System.out.println("Havewrittenbinaryfileints.dat");

}

catch(IOExceptionioe){

System.out.println("IOException");

}

}

}为保证程序正确运行,在程序中下划线处应填入的代码是

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)阅读下面程序

classTestimplementsRunnable{

publicstaticvoidmain(String[]args){

Testt=newTest();

t.startO;

}

publicvoidrun(){}

}

下列关于上述程序的叙述正确的是

A)程序不能通过编译,因为start()方法在Test类中没有定义

B)程序编译通过,但运行时出错,提示start()方法没有定义

C)程序不能通过编译,因为run()方法没有定义方法体

D)程序编译通过,且运行正常

(33)如果使用Threadt=newTest()语句创建一个线程,则下列叙述正确的是

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:

\ProgramFilesisadirectory.

请将程序补充完整。

importjava.io.*;

publicclassDirTest{

publicstaticvoidmain(String[]args){

FilemyDir=newFile("C:

/ProgramFiles/");

System.out.println

(myDir+(【11】.isDirectory()?

"is":

"isnot")+"adirectory.");

}

}

(12)一个Applet在被加载到浏览器并完成初始化后,将被调用的方法是【12】()。

(13)Java中的线程体是由线程类的【13】()方法进行定义的,线程运行时,也是从该方法开始执行。

(14)AWT中的布局管理器包括BorderLayout、【14】、CardLayout、OridBagLayout和GridLayout。

(15)Java中线程模型由虚拟的CPU,代码与数据构成。

该模型是由java.lang.【15】类进行定义和描述的。

2007年9月二级Java笔试试卷答案和解析

一、选择题

(1)[答案]D

[解析]本题考查软件的定义。

软件是计算机系统中与硬件相互依存得另一部分,它包括程序、相关数据及其说明文档得总和。

因此,本题得正确答案是选项D。

(2)[答案]B

[解析]本题考查软件工程调试。

调试与测试是两个不同的过程,有着根本的区别:

调试是一个随机的、不可重复的过程,它用于隔离和确认问题发生的原因,然后修改软件来纠正问题;测试是一个有计划的,可以重复的过程,它的目的是为了发现软件中的问题。

因此,软件调试的目的是为了改正软件中的错误。

本题的正确答案是选项B。

(3)[答案]C

[解析]通常认为,面向对象方法具有封装性、继承性、多态性几大特点。

就是这几大特点,为软件开发提供了一种新的方法学。

封装性:

所谓封装就是将相关的信息、操作与处理融合在一个内含的部件中(对象中)。

简单地说,封装就是隐藏信息。

这是面向对象方法的中心,也是面向对象程序设计的基础。

继承性:

子类具有派生它的类的全部属性(数据)和方法,而根据某一类建立的对象也都具有该类的全部,这就是继承性。

继承性自动在类与子类间共享功能与数据,当某个类作了某项修改,其子类会自动改变,子类会继承其父类所有特性与行为模式。

继承有利于提高软件开发效率,容易达到一致性。

多态性:

多态性就是多种形式。

不同的对象在接收到相同的消息时,采用不同的动作。

例如,一个应用程序包括许多对象,这些对象也许具有同一类型的工作,但是却以不同的做法来实现。

不必为每个对象的过程取一过程名,造成复杂化,可以使过程名复用。

同一类型的工作有相同的过程名,这种技术称为多态性。

经过上述分析可知,在面向对象方法中,实现信息隐蔽是依靠对象的封装。

正确答案是选项C。

(4)[答案]A

[解析]本题考查软件工程的程序设计风格。

软件在编码阶段,力求程序语句简单、直接,不能只为了追求效率而使语句复杂化。

除非对效率有特殊的要求,程序编写要做到清晰第一、效率第二。

人们在软件生存期要经常阅读程序,特别是在软件测试和维护阶段,编写程序的人和参与测试、维护的人都要阅读程序,因此要求程序的可读性要好。

正确的注释能够帮助读者理解程序,可为后续阶段进行测试和维护提供明确的指导。

所以注释不是可有可无的,而是必须的,它对于理解程序具有重要的作用。

I/O信息是与用户的使用直接相关的,因此它的格式应当尽可能方便用户的使用。

在以交互式进行输入/输出时,要在屏幕上使用提示符明确提示输入的请求,指明可使用选项的种类和取值范围。

经过上述分析可知,选项A是不符合良好程序设计风格要求的。

(5)[答案]A

[解析]本题考查程序效率。

程序效率是指程序运行速度和程序占用的存储空间。

影响程序效率的因素是多方面的,包括程序的设计、使用的算法、数据的存储结构等。

在确定数据逻辑结构的基础上,选择一种合适的存储结构,可以使得数据操作所花费的时间少,占用的存储空间少,即提高程序的效率。

因此,本题选项A的说法是正确的。

(6)[答案]D

[解析]本题考查数据结构的基本知识。

数据之间的相互关系称为逻辑结构。

通常分为凹类基本逻辑结构,即集合、线性结构、树型结构、图状结构或网状结构。

存储结构是逻辑结构在存储器中的映象,它包含数据元素的映象和关系的映象。

存储结构在计算机中有两种,即顺序存储结构和链式存储结构。

顺序存储结构是把数据元素存储在一块连续地址空间的内存中;链式存储结构是使用指针把相互直接关联的节点链接起来。

因此,这两种存储结构都是线性的。

可见,逻辑结构和存储结构不是一一对应的。

因此,选项A和选项B的说法都是错误的。

无论数据的逻辑结构是线性的还是非线性的,只能选择顺序存储结构或链式存储结构来实现存储。

程序设计语言中,数组是内存中一段连续的地址空间,可看作是顺序存储结构。

可以用数组来实现树型逻辑结构的存储,比如二叉树。

因此,选项C的说法是错误的。

(7)[答案]C

[解析]冒泡排序的基本思想是:

将相邻的两个元素进行比较,如果反序,则交换;对于一个待排序的序列,经一趟排序后,最大值的元素移动到最后的位置,其它值较大的元素也向最终位置移动,此过程称为一趟冒泡。

对于有n个数据的序列,共需n-1趟排序,第i趟对从1到n-i个数据进行比较、交换。

冒泡排序的最坏情况是待排序序列逆序,第1趟比较n-1次,第2趟比较n-2次,依此类推,最后一趟比较1次,一共进行n-1趟排序。

因此,冒泡排序在最坏情况下的比较次数是(n-1)+(n-2)+...+1,结果为n(n-1)/2。

本题的正确答案是选项C。

(8)[答案]A

[解析]本题考查数据结构中二叉树的性质。

二叉树满足如下一条性质,即:

对任意一棵二叉树,若终端结点(即叶子结点)数为n0,而其度数为2的结点数为n2,则n0=n2+1。

根据这条性质可知,若二叉树中有70个叶子结点,则其度为2的结点数为70-1,即69个。

二叉树的总结点数是度为2、度为1和叶子结点的总和,因此,题目中的二叉树总结点数为69+80+70,即219。

因此,本题的正确答案是选项A。

(9)[答案]B

[解析]本题考查数据库系统的基本概念和知识。

数据库系统除了数据库管理软件之外,还必须有其他相关软件的支持。

这些软件包括操作系统、编译系统、应用软件开发工具等。

对于大型的多用户数据库系统和网络数据库系统,还需要多用户系统软件和网络系统软件的支持。

因此,选项A的说法是错误的。

数据库可以看成是长期存储在计算机内的、大量的、有结构的和可共享的数据集合。

因此,数据库具有为各种用户所共享的特点。

不同的用户可以使用同一个数据库,可以取出它们所需要的子集,而且容许子集任意重叠。

数据库的根本目标是要解决数据的共享问题。

因此,选项B的说法是正确的。

通常将引入数据库技术的计算机系统称为数据库系统。

一个数据库系统通常由五个部分组成,包括相关计算机的硬件、数据库集合、数据库管理系统、相关软件和人员。

因此,选项C的说法是错误的。

因此,本题的正确答案是选项B。

(10)[答案]C

[解析]本题考查数据库的关系模犁。

关系模型的数据结构是一个“二维表”,每个二维表可称为一个关系,每个关系有一个关系名。

表中的一行称为一个元组:

表中的列称为属性,每一列有一个属性名。

表中的每一个元组是属性值的集合,属性是关系二维表中最小的单位,它不能再被划分。

关系模式是指一个关系的属性名表,即二维表的表框架。

因此,选项C的说法是正确的。

(11)[答案]C

[解析]本题考查System类的基本知识。

System类是一个特殊类,它是一个final类,所有的方法都用类变量来调用,即对System类不可能实例化。

System类主要用来提供标准输入/输出和系统环境信息的访问、设置。

System类的属性有:

publicstaticfinalInputSbemin,标准输入

publicstaticfinalOutputStreamout,标准输出

publicstaticfinalPrintStreamerr,标准错误输出

因此,本题中选项A、B和D的说法都是正确的。

因此,本题的正确答案是选项C。

(12)[答案]B

[解析]本题考查Java的简单数据类型的变量定义及Java的命名约定。

Java中的命名规则中包含如下几条:

(1)变量名、方法名首单词小写,其余单词只有首字母大写;

(2)常量完全大写;

(3)变量命名采用完整的英文描述符,第一个字母小写,任何中间单词的首字母大写。

Java语言区分大小写。

简单数据类型布尔型用boolean表示。

布尔型数据只有两个值:

true(真)和false(假)。

经过上述分析可知,选项B和选项C都能正确的定义一个布尔型变量,但是选项C的变量名CANCELED不符合Java中的命名规则,而选项B的变量名符合变量名的命名规则。

因此,选项B是符合规范的布尔变量定义语句。

本题的正确答案是选项B。

(13)[答案]A

[解析]本题考查Java中的数组。

数组是一种复合数据类型,在Java中数据是作为对象来处理的。

数组是有限元素的有序集合,数组中的元素具有相同的数据类型,并可以用统一的数据名和下标来唯一确定其元素。

经过上述分析可知,本题的正确答案是选项A。

(14)[答案]D

[解析]本题考查内部类的使用。

在一个类的内部嵌套定义的类称为内部类。

与普通类一样,内部类也有自己的成员变量和成员方法,同样可以通过建立内部类的对象去访问其成员变量和调用其方法。

但它还有很多特点,其中一个就是内部类可以使用它所在类(外部类)的静态成员变量和实例成员变量,也可以使用它所在类(外部类)的方法中的局部变量。

针对题目中的选项A、B、C,内部类都可以访问。

因此,本题的正确答案是选项D。

(15)[答案]A

[解析]本题考查Java的表达式运算。

程序中包含四条输出语句,运行时首先计算表达式的结果,然后将结果进行输出。

第一个表达式34+56-6,运算结果为84,然后输出。

因此,运行结果的第一行显示“84”。

第二个表达式26*2-3,*号代表乘法,运算结果为49,然后输出。

因此,运行结果的

第二行显示“49”。

到此,可以判断,本题的正确答案是选项A。

(16)[答案]D

[解析]本题考查JDK目录结构。

JDK包含如下目录:

(1)bin目录,包含有编译器、解释器和许多工具

(2)demo目录,包含各种演示例子

(3)include目录,包含Win子目录,都是本地方法文件

(4)jre目录,是Java程序运行环境的根目录

(5)lib目录,包含Java库文件.

经过上述分析可知,本题的正确答案是选项D。

(17)[答案]C

[解析]本题考查字符串的使用。

String类提供concat(str)方法,该方法将当前字符串对象与指定str字符串相连。

题目程序中生成两个字符串变量str1和str2,并为其赋值,然后生成一个字符串变量str3,该字符串变量的值为表达式str1.concat(str2)的结果。

表达式str1.concat(str3)是把字符串str1与字符串str2相连,结果为“abcABC”。

因此,程序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1