1、计算机二级 JAVA-25及答案解析(总分:86.40,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:61.40)1.下列方法中,不属于 WindowListener接口的是 A. windowOpened() B. windowClosed() C. windowAetivated() D. mouseDragged()(分数:2.00)A.B.C.D.2.关系 R和关系 S的并运算是U /U。 A.由关系 R和关系 S的所有元组合并组成的集合,再删去重复的元组 B.由属于 R而不属于 S的所有元组组成的集合 C.由既属于 R又属于 S的元组组成的集合 D.由 R和 S的元组连
2、接组成的集合(分数:2.00)A.B.C.D.3.下列运算结果为 1的是_。 A.81 B.42 C.81 D.42(分数:1.80)A.B.C.D.4.下列说法错误的是_。 A.关系中每一个属性对应一个值域 B.关系中不同的属性可对应同一值域 C.对应同一值域的属性为不同的属性 D.DOM(A)表示属性 A的取值范围(分数:2.00)A.B.C.D.5.以下不属于简单数据类型的是U /U。 A.整型数据 B.浮点型数据 C.布尔型数据 D.枚举类型(分数:2.00)A.B.C.D.6.Java中 break语句可以用来“标签化中断”,对其描述正确的是U /U。 A.可以使用程序退出多重循环
3、B.标签是一种界面符号 C.使程序退出本此循环 D.以上说法都不对 (分数:1.00)A.B.C.D.7.程序的 3种基本控制结构是 A. 过程、子过程和分程序 B. 顺序、选择和重复 C. 递归、堆栈和队列 D. 调用、返回和转移 (分数:1.00)A.B.C.D.8.按 Java语言规则,下列赋值语句中不合法的是U /U。 A.float a=2.0 B.double b=2.0 C.int c=2 D.long d=2L(分数:2.00)A.B.C.D.9.执行 int x=(int)(Math.random()*100);语句时,不会出现下列哪个数值? A. 1 B. 35 C. 48
4、 D. 100 (分数:1.00)A.B.C.D.10.下列说法中错误的一项是_。 A.getImage()方法无论图像是否存在,都立即返回 B.getImase()方法调用图像的时候,一直等待图像被加载完毕才返回 C.由于网络带宽的限制,图像的显示过程可能会很慢 D.使用 getImage()方法时,只有当图像真正需要被显示的时候,数据才真正加载(分数:2.00)A.B.C.D.11.在长度为 n的有序线性表中进行二分查找,需要的比较次数为 A. log2n B. nlog2n C. n/2 D. (n/1)/2(分数:1.00)A.B.C.D.12.下列程序的执行结果是( )。public
5、 class ex68 public static void main(String args) ex68 obj=new ex680;int s=0;for(int i=1; i=4; i+)s+=obj.method(i);System.out.println(s);public int method(int n) if(n=1)return 1;elsetatum n * method(n-1); A.3 B.9 C.33 D.153(分数:2.00)A.B.C.D.13.“+“运算符的操作数个数是U /U。 A.1个 B.2个 C.3个 D.4个(分数:2.00)A.B.C.D.14.
6、要得到某目录下的所有文件名,在下列代码的下划线处应填入的内容是(两个下划线的填写内容相同)_pathName=new_(args0);StringfileNames=pathname.list(); A. FIlelnputStream B. FileOutputStream C. File D. RandomAccessFile(分数:2.00)A.B.C.D.15.Java语言具有许多优点和缺点,下列选项中,U /U反映了 Java程序并行机制的特点。 A.安全性 B.多线性 C.跨平台 D.可移植(分数:2.00)A.B.C.D.16.执行下面程序后输出的正确结果是U /U。public
7、 class Testpublic static void main(String args)System.out.print(100%3);System.out.print(“/“);System.out.print(100%3.0); A. 1,1 B. 1,1.0 C. 1.0,1 D. 1.0,1.0(分数:2.00)A.B.C.D.17.一个关系中属性个数为 1时,称此关系为 A. 对应关系 B. 单一关系 C. 一元关系 D. 二元关系 (分数:1.00)A.B.C.D.18.应用数据库的主要目的是U /U。 A. 解决数据保密问题 B. 解决数据完整性问题 C. 解决数据共享问题
8、 D. 解决数据量大的问题(分数:2.00)A.B.C.D.19.下列关于队列的叙述中正确的是U /U。 A. 在队列中只能插入数据 B. 在队列中只能删除数据 C. 队列是先进先出的线性表 D. 队列是先进后出的线性表(分数:1.00)A.B.C.D.20.下列关于 Java布尔类型的描述中,正确的是_。 A.一种基本的数据类型,它的类型名称为 boolean B.用 int表示类型 C.其值可以赋给 int类型的变量 D.有两个值,1 代表真,0 代表假(分数:1.80)A.B.C.D.21.设执行下面的赋值语句a=Float.valueOf(“12.34“)floatValue()之后,
9、a 的值是U /U。 A. a=“12.34“ B. a=12.34 C. a=1234 D. a=12(分数:2.00)A.B.C.D.22.数据结构中,与所使用的计算机无关的是数据的U /U。 A.存储结构 B.物理结构 C.逻辑结构 D.物理和存储结构(分数:2.00)A.B.C.D.23.在面向对象方法中,不属于“对象”基本特点的是 A. 一致性 B. 分类性 C. 多态性 D. 标识唯一性(分数:2.00)A.B.C.D.24.以下选项中不合法的标识符是U /U。 A.print B.FOR C.a D._00(分数:2.00)A.B.C.D.25.在 Java中能实现多重继承效果的
10、方式是U /U。 A.内部类 B.适配器 C.接口 D.同步(分数:2.00)A.B.C.D.26.阅读下面程序pubic class Cyclepublic static void main(String args)System. out. println(args0);在命令行中输入 java Cycle one two,该程序输出结果是 A. Cycle B. one C. two D. 上述 A、B、C、均不对(分数:2.00)A.B.C.D.27.下列方法中,不属于类 String的方法是_。 A.toLowerCase() B.valueOf() C.charAt() D.appe
11、nd()(分数:1.80)A.B.C.D.28.在设计程序时,应采纳的原则之一是 A. 不限制 goto语句的使用 B. 减少或取消注解行 C. 程序越短越好 D. 程序结构应有助于读者理解(分数:2.00)A.B.C.D.29.JDK中,用U /U命令对其源文件进行编译,生成字节码文件。 A. java.exe B. javac.exe C. javadoc.exe D. javap.exe(分数:1.00)A.B.C.D.30.下列语句中,能完成用整型数 10创建一个 Integer对象的是U /U。 A. Integeri=10; B. Integeri=newInteger(10);
12、C. inti=newInteger(10); D. inti=10;(分数:2.00)A.B.C.D.31.下列关于类的说法,错误的是_。 A.对于一个类来说,只能生成 1到 2个对象 B.类是定义属性和方法的模板 C.由程序员编写,作为程序的一部分,其目的是产生对象 D.类定义的是一种对象类型,是同类对象共有的变量和方法(分数:2.00)A.B.C.D.32.从工程管理角度,软件设计一般分为两步完成,它们是U /U。 A. 概要设计与详细设计 B. 过程控制 C. 软件结构设计与数据设计 D. 程序设计与数据设计(分数:2.00)A.B.C.D.33.下列程序的输出结果是U /U。 Pub
13、licclassTest Publicstaticvoidmain(Stringargs) intarray=(2,4,6,8,10); intsize=6; intresult=-1; try for(inti=0;isizeb=20;c=(a%b1)|(a/b1); printf(“%d %d %d/n“,a,b,c); (分数:1.00)填空项 1:_42.在 Java中所实现的多维数组,实际上是由一维数组构成的 1。(分数:2.00)填空项 1:_43.Jackson方法是一种面向U U /U /U的结构化方法。(分数:2.00)填空项 1:_44.URL是 1 的缩写。(分数:2.0
14、0)填空项 1:_45.类 Panel默认的布局管理器是U U /U /U。(分数:1.00)填空项 1:_46.一棵二叉树有 10个度为 1的结点,7 个度为 2的结点,则该二叉树共有 1 个结点。(分数:2.00)填空项 1:_47.程序中的 DrawAny是个显示图像的 Applet,并且允许用户通过参数指定所要显示的图像,请在画线处填入正确的语句使得程序能够正确运行。 testl5.html: HTML HEAD TITLE A Simple Program /TITLE /HEAD BODY applet code = DrawAny.class width = 100 height
15、 = 100 align = bottom para name = image value - “duke.gif“ /applet /BODY /HTML DrawAny.java: import java.awt.*; import java.applet.*; import .URL; public class DrawAny extends Applet Image im; public void init() URL url=getDocumentBase(); String imageName=getParameter(“image“); im=U U /U /U; public
16、void Pait(Graphics g) g.drawImage(im,0,0,this); (分数:2.00)填空项 1:_48.Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。在 Java Application中,这个主类是指包含U U /U /U方法的类:在 Java Applet里;这个主类是一个系统类 Applet的子类。(分数:2.00)填空项 1:_49.819int s=0;for(int i=1; i=4; i+)s+=obj.method(i);System.out.println(s);public int method(int n)
17、 if(n=1)return 1;elsetatum n * method(n-1); A.3 B.9 C.33 D.153(分数:2.00)A.B.C. D.解析:13.“+“运算符的操作数个数是U /U。 A.1个 B.2个 C.3个 D.4个(分数:2.00)A. B.C.D.解析:解析 本题考查 Java运算符的概念,程序涉及的数据处理,都是通过运算符和表达式来操作,是程序设计的基础,因此务必掌握。按照操作数的数目划分,运算符可以分为:一元运算符:+,-,+,-:二元运算符:+,-,:三元运算符:?:。所以本题正确答案是选项 A。简单点儿说就是有几个操作数就是几元运算符;反过来,是几元
18、运算符就有几个操作数。14.要得到某目录下的所有文件名,在下列代码的下划线处应填入的内容是(两个下划线的填写内容相同)_pathName=new_(args0);StringfileNames=pathname.list(); A. FIlelnputStream B. FileOutputStream C. File D. RandomAccessFile(分数:2.00)A.B.C. D.解析:解析 该题考查 File类提供的方法,File 类中提供的 list()方法返回一个字符串数组,为该文件所在目录下的所有文件名列表。15.Java语言具有许多优点和缺点,下列选项中,U /U反映了
19、Java程序并行机制的特点。 A.安全性 B.多线性 C.跨平台 D.可移植(分数:2.00)A.B. C.D.解析:16.执行下面程序后输出的正确结果是U /U。public class Testpublic static void main(String args)System.out.print(100%3);System.out.print(“/“);System.out.print(100%3.0); A. 1,1 B. 1,1.0 C. 1.0,1 D. 1.0,1.0(分数:2.00)A.B. C.D.解析:解析 本题考查 Java语言%运算符的使用。%运算符是模数除,也就是求余
20、,表达式为: op1%op2 Java中的二元运算符适用于所有数值型数据类型,但需要注意,如果两个操作数全是 int型,结果也是int型,100%3=1;如果两个操作数全是 float型,或其中一个是 float型,而另外一个是整型时,表达式结果是 float型, 100%3.0=1.0,所以选项 B为正确答案。务必注意操作数类型不同时运算结果的类型。17.一个关系中属性个数为 1时,称此关系为 A. 对应关系 B. 单一关系 C. 一元关系 D. 二元关系 (分数:1.00)A.B.C. D.解析:解析 使学生加深对关系模型数据库基础知识的记忆。 【解题要点】在关系模型数据库中,基本结构是二
21、维表,这种二维表称为关系。关系的列称为属性,一个具有 N个属性的关系称为 N元关系。 【考点链接】各种关系查询语言与过程性语言和非过程性语言的关系,过程性语言的特点。18.应用数据库的主要目的是U /U。 A. 解决数据保密问题 B. 解决数据完整性问题 C. 解决数据共享问题 D. 解决数据量大的问题(分数:2.00)A.B.C. D.解析:解析 数据库中的数据具有“集成”与“共享”的特点,亦即是数据库集中了各种应用的数据,进行统一构造与存储,而使它们可以被不同应用程序所使用,故选项 C正确。19.下列关于队列的叙述中正确的是U /U。 A. 在队列中只能插入数据 B. 在队列中只能删除数据
22、 C. 队列是先进先出的线性表 D. 队列是先进后出的线性表(分数:1.00)A.B.C. D.解析:解析 队列是指允许在一端进行插入,而在另一端进行删除的线性表。允许插入的一端称为队尾,允许删除的一端称为队头,在队列中既可以插入数据也能删除数据,所以选项 A、 B 是错误的。在这种数据结构中,最先插入的元素最先能够被删除,因此队列又称为先进先出的线性表。答案是 C。20.下列关于 Java布尔类型的描述中,正确的是_。 A.一种基本的数据类型,它的类型名称为 boolean B.用 int表示类型 C.其值可以赋给 int类型的变量 D.有两个值,1 代表真,0 代表假(分数:1.80)A.
23、 B.C.D.解析:解析 布尔类型数据只有两个值 true(真)和 false(假),不对应任何数字,不能与数字进行转换,布尔类型数据一般用于逻辑判别。21.设执行下面的赋值语句a=Float.valueOf(“12.34“)floatValue()之后,a 的值是U /U。 A. a=“12.34“ B. a=12.34 C. a=1234 D. a=12(分数:2.00)A.B. C.D.解析:解析 本题考查对基本类型的类包装的理解。Float 类的 valueOf()函数的原型是 static Float valueOf(Strings),它是一种静态方法,将字符串的内容提取出来转换为
24、Float对象:而 floatValue()函数的原型是 float floatValue(),它返回 Float对象的浮点值。本题中,先将字符串”12.34”转换为Float对象,然后再提取该对象的浮点型值,赋给 a。故本题答案是 B。22.数据结构中,与所使用的计算机无关的是数据的U /U。 A.存储结构 B.物理结构 C.逻辑结构 D.物理和存储结构(分数:2.00)A.B.C. D.解析:23.在面向对象方法中,不属于“对象”基本特点的是 A. 一致性 B. 分类性 C. 多态性 D. 标识唯一性(分数:2.00)A. B.C.D.解析:解析 对象是面向对象方法中最基本的概念,它的基本
25、特点有:标识唯一性、分类性、多态性、封装性、模块独立性。故本题答案为 A)。24.以下选项中不合法的标识符是U /U。 A.print B.FOR C.a D._00(分数:2.00)A.B.C. D.解析:25.在 Java中能实现多重继承效果的方式是U /U。 A.内部类 B.适配器 C.接口 D.同步(分数:2.00)A.B.C. D.解析:解析 本题考查 Java中多重继承的概念。首先要区分选项中各个概念。内部类是在一个类中的内部嵌套定义的类,主要用来生成事件适配器。适配器(Adapter)定义一个包装类,包装有不兼容接口的对象。这个包装类指的就是适配器,它包装的对象就是适配者(Ada
26、ptee),适配器提供客户类需要的接口。接口是一种只含有抽象方法或常量的一种特殊的抽象类,因为接口不包括任何实现,所以与存储空间没有任何关系,将多个接口合并,即多重继承就可以很容易实现,选项 C正确。同步主要用在多线程程序设计中。26.阅读下面程序pubic class Cyclepublic static void main(String args)System. out. println(args0);在命令行中输入 java Cycle one two,该程序输出结果是 A. Cycle B. one C. two D. 上述 A、B、C、均不对(分数:2.00)A.B. C.D.解析:
27、解析 main 方法中的参数 args是 String类型的数组,所以当在命令行中输入参数 one、two 时,args数组中有两个元素:arg0=one,arg1=two。所以打印输出 arg0为 one。27.下列方法中,不属于类 String的方法是_。 A.toLowerCase() B.valueOf() C.charAt() D.append()(分数:1.80)A.B.C.D. 解析:解析 String 的方法中,toLowerCase()方法是转换成小写,valueof()方法是获得相应数值,charAt()方法是提取字符串中指定位置的字符。append()是 stringBu
28、ffer的方法。28.在设计程序时,应采纳的原则之一是 A. 不限制 goto语句的使用 B. 减少或取消注解行 C. 程序越短越好 D. 程序结构应有助于读者理解(分数:2.00)A.B.C.D. 解析:解析 滥用 goto语句将使程序流程无规律,可读性差,因此 A) 不选;注解行有利于对程序的理解,不应减少或取消,B) 也不选;程序的长短要依照实际情况而论,而不是越短越好,C) 也不选。29.JDK中,用U /U命令对其源文件进行编译,生成字节码文件。 A. java.exe B. javac.exe C. javadoc.exe D. javap.exe(分数:1.00)A.B. C.D
29、.解析:解析 本题考查 JDK实用工具的使用。选项 A错误,java.exe 是 Java语言解释器,直接从类文件执行 Java应用程序字节代码。可接受.class 文件并启动 Java虚拟机执行之;选项 B 正确,javac.exe是 Java语言编译器,将 Java源代码转换成字节码;选项 C错误,javadoc.exe 是根据 Java源代码及说明语句生成 HTML文档;选项 D错误,javap.exe 是反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。30.下列语句中,能完成用整型数 10创建一个 Integer对象的是U /U。 A. Integeri=10; B
30、. Integeri=newInteger(10); C. inti=newInteger(10); D. inti=10;(分数:2.00)A.B. C.D.解析:解析 对象生成包括声明、实例化和初始化三方面内容。一般是先定义一个对象变量,再用关键字 new生成一个对象,并为对象中的变量赋初值。如: type objectName=new type (参数); 其中,type objectName声明是定义对象的类型,它包括类和接口的复合类型。New 关键字是实例化一个对象,给对象分配内存,它调用对象的构造方法,返回该对象的引用。因此,声明一个 Integer对象,并将 10作为初始化参数的
31、写法应是 Integer objectName=new Integer (10);,选项 B正确。31.下列关于类的说法,错误的是_。 A.对于一个类来说,只能生成 1到 2个对象 B.类是定义属性和方法的模板 C.由程序员编写,作为程序的一部分,其目的是产生对象 D.类定义的是一种对象类型,是同类对象共有的变量和方法(分数:2.00)A. B.C.D.解析:32.从工程管理角度,软件设计一般分为两步完成,它们是U /U。 A. 概要设计与详细设计 B. 过程控制 C. 软件结构设计与数据设计 D. 程序设计与数据设计(分数:2.00)A. B.C.D.解析:解析 从工程管理角度看,软件设计分
32、为两步完成:概要设计与详细设计。概要设计(又称结构设计)将软件需求转化为软件体系结构、确定系统级接口、全局数据结构或数据库模式;详细设计确立每个模块的实现算法和局部数据结构,用适当方法表示算法和数据结构的细节。33.下列程序的输出结果是U /U。 PublicclassTest Publicstaticvoidmain(Stringargs) intarray=(2,4,6,8,10); intsize=6; intresult=-1; try for(inti=0;isizeb=20;c=(a%b1)|(a/b1); printf(“%d %d %d/n“,a,b,c); (分数:1.00)
33、填空项 1:_ (正确答案:10 20 0)解析:42.在 Java中所实现的多维数组,实际上是由一维数组构成的 1。(分数:2.00)填空项 1:_ (正确答案:数组的数组)解析:解析 本题考查多维数组的概念。Java 中没有多维数组这种数据结构,只有一维数组,在 Java中实现的所谓的多维数组,实际上是由一维数组“焊接”而成的“数组的数组”。也就是说,某个一维数组的元素是另一个一维数组,则称之为:维数组,依次类推,一维数组的多次嵌套定义,构成了多维数组。43.Jackson方法是一种面向U U /U /U的结构化方法。(分数:2.00)填空项 1:_ (正确答案:数据结构)解析:解析 Ja
34、ckson 方法是一种面向数据结构的结构化方法。44.URL是 1 的缩写。(分数:2.00)填空项 1:_ (正确答案:统一资源定位地址)解析:解析 URL 是统一资源定位地址(Uniform Resource Locator)的简称,它表示 Internet上某一资源的地址。45.类 Panel默认的布局管理器是U U /U /U。(分数:1.00)填空项 1:_ (正确答案:FlowLayout)解析:解析 本题考查 Java中的布局管理器。FlowLayout 是 Pane和 Applet默认的布局管理器,构件在容器中从上到下、从左到右进行放置。BorderLayout 是 Windo
35、w、Frame 和 Dialog的默认布局管理器,在 BorderLayout布局管理器中构件分成 5个区域,每个区域只能放置一个构件。GridLayout 使容器中各个构件呈网状布局,平均占据容器的空间。GardLayout 把容器分成许多层,每层只能放置一个构件。46.一棵二叉树有 10个度为 1的结点,7 个度为 2的结点,则该二叉树共有 1 个结点。(分数:2.00)填空项 1:_ (正确答案:25)解析:解析 在任意一棵二叉树中,度数为 0的结点(即叶子结点)总比度为 2的结点多一个,因此该二叉树中叶子结点为 7+1=8,8+17=25。47.程序中的 DrawAny是个显示图像的
36、Applet,并且允许用户通过参数指定所要显示的图像,请在画线处填入正确的语句使得程序能够正确运行。 testl5.html: HTML HEAD TITLE A Simple Program /TITLE /HEAD BODY applet code = DrawAny.class width = 100 height = 100 align = bottom para name = image value - “duke.gif“ /applet /BODY /HTML DrawAny.java: import java.awt.*; import java.applet.*; impor
37、t .URL; public class DrawAny extends Applet Image im; public void init() URL url=getDocumentBase(); String imageName=getParameter(“image“); im=U U /U /U; public void Pait(Graphics g) g.drawImage(im,0,0,this); (分数:2.00)填空项 1:_ (正确答案:getImage(url,imageName))解析:解析 程序中的 DrawAny 是一个显示图像的 Applet,并且允许用户通过参
38、数指定所要显示的图像。具体是在 testl5.html中,定义了applet标记,将 DrawAny 显示的图像文件作为参数定义,并指定显示 duke.gif。在 DrawAny类的定义中, init()方法调用 getParameter()方法获取了要显示的图像文件名,并下载到浏览器中显示。48.Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。在 Java Application中,这个主类是指包含U U /U /U方法的类:在 Java Applet里;这个主类是一个系统类 Applet的子类。(分数:2.00)填空项 1:_ (正确答案:main())解
39、析:解析 该题考查对 Java应用程序 (Application)与小程序(Applet)的理解。 Application 带有main()方法,可以独立解释执行,而 Applet则不行,它继承自系统的 Applet 类,必须由浏览器或appletviewer执行。49.819&1011的结果是 1。(分数:2.00)填空项 1:_ (正确答案:11)解析:解析 本题考查考生位运算符的用法。根据运算符的优先级及结合顺序,题目中的表达式计算顺序为:(8|(9&10)11)。9 的二进制形式为 00001001,10 的二进制形式为 00001010,8 的二进制形式为00001000,11 的二进制形式为 00001011,故结果为 11。50.多线程是 Java语言的 1 机制,只能够处理同步共享数据和各种不同的事件。(分数:2.00)填空项 1:_ (正确答案:并发)解析:解析 本题考查 Java语言的特点。Java 语言的开发运行环境都是互联网,在这种分布式的环境中,并发和共事是很常见的事务,要能并行地处理很多事务,就要求 Java语言提供一种可靠和高效的机制,来满足高并发事务处理的需求。多线程很好地解决了网络上的瓶颈问题及大星的网络访问问题。