1、二级 JAVA 笔试-25 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?(分数:2.00)A.privateB.无修饰符C.publicD.protected2.如果进栈序列为 e1,e2,e3,e4,则可能的出栈序列是(分数:2.00)A.e3,e1,e4,e2B.e2,e4,e3,e1,C.e3,e4,e1,e2D.任意顺序3.在 Applet 的关键方法中,下列哪个方法是关闭浏览器以释放 Applet 占用的所有资源?(分数:2.00)A.init( )B.sta
2、rt( )C.paint( )D.destroy( )4.顺序执行下列程序语句后,则 b 的值是String a = “Hello“;String b = a.substring(0,2);(分数:2.00)A.HelloB.helloC.HelD.null5.SQL 语言又称为(分数:2.00)A.结构化定义语言B.结构化控制语言C.结构化查询语言D.结构化操纵语言6.在 oneMethod( )方法运行正常的情况下,程序段将输出什么?public void test( )try oneMethod( );System.out.println(“condition 1“);catch (Ar
3、rayIndexOutOfBoundsException e)System.out.println(“condition 2“);catch(Exception e)System.out.println(“condition 3“);finally System.out.pritln(“finally“);(分数:2.00)A.condition 1B.condition 2C.condition 3D.condition 17.下列哪个是面向大型企业级用容器管理专用构件的应用平台?(分数:2.00)A.J2EEB.J2MEC.J2SED.J2DE8.已知有下列类的说明,则下列哪个语句是正确的
4、?public class Testprivate float f = 1.0f;int m = 12;static int n=1;public static void main(String arg )Test t = new Test( );(分数:2.00)A.f;B.this.n;C.Test.m;D.Test.f;9.下列 Java 常见事件类中哪个是鼠标事件类?(分数:2.00)A.InputEventB.KeyEventC.MouseEventD.WindowEvent10.下列代码的执行结果是public class Testpublic int aMethod( ) sta
5、tic int i=0;i+ +;System.out.println(i);public static void main(String args )Test test = new Test( );test.aMethod( );(分数:2.00)A.编译错误B.0C.1D.运行成功,但不输出11.下列哪个选项的 java 源文件代码片段是不正确的?(分数:2.00)A.package testpackage;public class TestB.import java.io.* ;package testpackage;public class TestC.import java.io.*
6、; class Person public class TestD.import java.io.*;import java.awt.*;public class Test12.在设计程序时,应采纳的原则之一是(分数:2.00)A.不限制 goto 语句的使用B.减少或取消注解行C.程序越短越好D.程序结构应有助于读者理解13.下列哪个选项是正确计算 42 度(角度)的余弦值?(分数:2.00)A.double d=Math.cos(42);B.double d=Math.cosine(42);C.double d=Math.cos(Math.toRadians(42) );D.double
7、d=Math.cos(Math.toDegrees(42) );14.下列常见的系统定义的异常中,哪个是输入、输出异常?(分数:2.00)A.ClassNotFoundExceptionB.IOExceptionC.FileNotFoundExceptionD.UnknownHostException15.下列关于内部类的说法不正确的是(分数:2.00)A.内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用B.内部类可以使用它所在类的静态成员变量和实例成员变量C.内部类不可以用 abstract 修饰符定义为抽象类D.内部类可作为其他类的成员,而且可访问它所在类的成员16.树是结点的
8、集合,它的根结点数目是(分数:2.00)A.有且只有 1B.1 或多于 1C.0 或 1D.至少 217.下列关于 Frame 类的说法不正确的是(分数:2.00)A.Frame 是 Window 类的直接子类B.Frame 对象显示的效果是一个窗口C.Frame 被默认初始化为可见D.Frame 的默认布局管理器为 BorderLayout18.下列不属于软件工程的 3 个要素的是(分数:2.00)A.工具B.过程C.方法D.环境19.下列哪个不是 nio 包的新特点?(分数:2.00)A.内存映射技术B.文件锁定C.字符及编码D.阻塞 I/O20.将 E-R 图转换到关系模式时,实体与联系
9、都可以表示成(分数:2.00)A.属性B.关系C.键D.域21.下列方法中哪个是执行线程的方法?(分数:2.00)A.run( )B.start( )C.sleep( )D.suspend( )22.下列 InputStream 类中哪个方法可以用于关闭流?(分数:2.00)A.skip( )B.close( )C.mark( )D.reset( )23.下列关于继承的哪项叙述是正确的?(分数:2.00)A.在 java 中允许多重继承B.在 java 中一个类只能实现一个接口C.在 java 中一个类不能同时继承一个类和实现一个接口D.java 的单一继承使代码更可靠24.下列哪个选项是合法
10、的标识符?(分数:2.00)A.123B._nameC.classD.1first25.下列的哪个赋值语句是不正确的?(分数:2.00)A.float f = 11.1;B.double d = 5.3E12;C.float d=3.14f;D.double f = 11.1E10f;26.下列的哪个赋值语句是正确的?(分数:2.00)A.char a=12;B.int a=12.0;C.int a=12.0f;D.int a=(int)12.0;27.下列的哪个选项可以正确用以表示八进制值 8?(分数:2.00)A.0x8B.0x10C.08D.01028.下列哪个选项是 Java 调试器,
11、如果编译器返回程序代码的错误,可以用它对程序进行调试?(分数:2.00)A.java.exeB.javadoc.exeC.jdb.exeD.javaprof.exe29.下列叙述中,不属于软件需求规格说明书的作用的是(分数:2.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析30.给出下列代码,则数组初始化中哪项是不正确的? byte array1,array2 ;byte array3 ;byte array4;(分数:2.00)A.array2 = array1B.array2 =
12、array3C.array2 = array4D.array3 = array431.程序设计语言的基本成分是数据成分、运算成分、控制成分和(分数:2.00)A.对象成分B.变量成分C.语句成分D.传输成分32.单个用户使用的数据视图的描述称为(分数:2.00)A.外模式B.概念模式C.内模式D.存储模式33.给出下列代码,如何使成员变量 m 被方法 fun( )直接访问? class Test private int m; public static void fun( ) (分数:2.00)A.将 private int m 改为 protected int mB.将 private in
13、t m 改为 public int mC.将 private int m 改为 static iD.将 private int m 改为 int m34.给出下列的代码,哪行在编译时可能会有错误? public void modify( ) int i,j,k; i = 100; while( i 0) j = i * 2; System.out.println(“The value of j is“ + j); k=k + 1 (分数:2.00)A.line 4B.line 6C.line 7D.line 835.已知一棵二叉树前序遍历和中序遍历分别为 ABDEGCFH 和 DBGEACHF
14、,则该二叉树的后序遍历为(分数:2.00)A.GEDHFBCAB.DGEBHFCAC.ABCDEFGHD.ACBFEDHG二、填空题(总题数:15,分数:30.00)36.数据结构分为逻辑结构与存储结构,线性链表属于 【1】 。(分数:2.00)填空项 1:_37.在面向对象方法中,类之间共享属性和操作的机制称为 【2】 。(分数:2.00)填空项 1:_38.耦合和内聚是评价模块独立性的两个主要标准,其中 【3】 反映了模块内各成分之间的联系。(分数:2.00)填空项 1:_39.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体项目”的联系属于 【4】 的联系。
15、(分数:2.00)填空项 1:_40.数据库设计分为以下 6 个设计阶段:需求分析阶段、 【5】 、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。(分数:2.00)填空项 1:_41.Java 语言用 【6】 进行解释执行。(分数:2.00)填空项 1:_42.在一个类的内部嵌套定义的类称为 【7】 。(分数:2.00)填空项 1:_43.设有数组定义:int a = 1l,22,33,44,55,66,77,88,99;则执行下列几 个语句后的输出结果是 【8】 。for( int i= 0 ;i y 解析:解析:此题主要考查对象的正确使用,其格式为对象名调用的方法名或变量名。在 s
16、tatic 方法中,不能使用 this。变量 m 和 f 都不是静态成员,所以不能用类名成员方式访问。9.下列 Java 常见事件类中哪个是鼠标事件类?(分数:2.00)A.InputEventB.KeyEventC.MouseEvent D.WindowEvent解析:解析:lnputEvent 为输入事件类,KeyEvent 为键盘事件类,WindowEvent为窗口事件类。10.下列代码的执行结果是public class Testpublic int aMethod( ) static int i=0;i+ +;System.out.println(i);public static v
17、oid main(String args )Test test = new Test( );test.aMethod( );(分数:2.00)A.编译错误 B.0C.1D.运行成功,但不输出解析:解析:static 不能修饰局部变量。11.下列哪个选项的 java 源文件代码片段是不正确的?(分数:2.00)A.package testpackage;public class TestB.import java.io.* ;package testpackage;public class Test C.import java.io.*; class Person public class Te
18、stD.import java.io.*;import java.awt.*;public class Test解析:解析:Java 中的 package 语句必须是源文件中除去说明以外的第一条语句,导入包语句可以有几个,但是必须位于 package 语句之后,其他类定义之前,一个源文件中可以有几个类,但最多只能有一个是 public 的,如果有,则源文件的文件名必须和该类的类名相同。12.在设计程序时,应采纳的原则之一是(分数:2.00)A.不限制 goto 语句的使用B.减少或取消注解行C.程序越短越好D.程序结构应有助于读者理解 解析:解析:滥用 goto 语句将使程序流程无规律,可读性
19、差,因此 A)不选;注解行有利于对程序的理解,不应减少或取消,B)也不选;程序的长短要依照实际情况而论,而不是越短越好,C)也不选。13.下列哪个选项是正确计算 42 度(角度)的余弦值?(分数:2.00)A.double d=Math.cos(42);B.double d=Math.cosine(42);C.double d=Math.cos(Math.toRadians(42) ); D.double d=Math.cos(Math.toDegrees(42) );解析:解析:public static double cos(double a)是 Math 类中返回以弧度 a 为单位的 c
20、os 值的,应先用 toRadians( )方法将 42 度转换为弧度值。14.下列常见的系统定义的异常中,哪个是输入、输出异常?(分数:2.00)A.ClassNotFoundExceptionB.IOException C.FileNotFoundExceptionD.UnknownHostException解析:解析:ClassNotFoundException 为未找到欲装载使用的类异常,FileNot-FoundExcepfion 为未找到指定的文件或目录异常,UnknownHostExcePbon 为无法确定主机的 IP 地址异常。下面再举出几种异常:ArrayIndexOutOf
21、BoundsException 为数组越界使用异常;IOException 为输入输出异常;NullPointerExcePtion 引用为空异常;ArithmeticException算术异常。15.下列关于内部类的说法不正确的是(分数:2.00)A.内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用B.内部类可以使用它所在类的静态成员变量和实例成员变量C.内部类不可以用 abstract 修饰符定义为抽象类 D.内部类可作为其他类的成员,而且可访问它所在类的成员解析:解析:内部类的特点:内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用。内部类可以使用它所在类的静态成员
22、变量和实例成员变量。 内部类可用 abstract 修饰定义为抽象类。内部类可作为其他类的成员,而且可访问它所在类的成员。除 static 内部类外,不能在类内声明 static 成员。16.树是结点的集合,它的根结点数目是(分数:2.00)A.有且只有 1 B.1 或多于 1C.0 或 1D.至少 2解析:解析:树是一个或多个结点组成的有限集合,其中一个特定的结点称为根,其余结点分为若干个不相交的集合。每个集合同时又是一棵树。树有且只有 1 个根结点。17.下列关于 Frame 类的说法不正确的是(分数:2.00)A.Frame 是 Window 类的直接子类B.Frame 对象显示的效果是
23、一个窗口C.Frame 被默认初始化为可见 D.Frame 的默认布局管理器为 BorderLayout解析:解析:Frame 被默认初始化为不可见,可以使用 setVisible(true)方法使其可见。18.下列不属于软件工程的 3 个要素的是(分数:2.00)A.工具B.过程C.方法D.环境 解析:解析:软件工程包括 3 个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。19.下列哪个不是 nio 包的新特点?(分数:2.00)A.内存映射技术B.文件锁定C.字符及编码D.阻塞 I/O 解析:解析:j
24、2se1.4 提供了一些新的输入输出功能,称之为 New IO。这些类被收集到 java.nio 包中。nio 包的新特点是内存映射技术、文件锁定、字符及编码和非阻塞 I/O。20.将 E-R 图转换到关系模式时,实体与联系都可以表示成(分数:2.00)A.属性B.关系 C.键D.域解析:解析:数据库逻辑设计的主要工作是将 E-R 图转换成指定 RDBMS 中的关系模式。首先,从 E-R 图到关系模式的转换是比较直接的,实体与联系都可以表示成关系,E-R 图中属性也可以转换成关系的属性。实体集也可以转换成关系。 21.下列方法中哪个是执行线程的方法?(分数:2.00)A.run( ) B.st
25、art( )C.sleep( )D.suspend( )解析:解析:start( )是启动线程对象,使之从新建状态转入就绪状态;sleep( )让线程睡眠一段时间,在此期间线程不消耗 CPU 资源;suspend( )使线程挂起,暂停执行,如果想恢复线程,必须由其他线程调用 resume( )方法。22.下列 InputStream 类中哪个方法可以用于关闭流?(分数:2.00)A.skip( )B.close( ) C.mark( )D.reset( )解析:解析:skip( )可以跳过流中若干字节流,mark( )可以在流中标记一个位置,reset( )可以返回标记过的位置。23.下列关于
26、继承的哪项叙述是正确的?(分数:2.00)A.在 java 中允许多重继承B.在 java 中一个类只能实现一个接口C.在 java 中一个类不能同时继承一个类和实现一个接口D.java 的单一继承使代码更可靠 解析:解析:在 java 中一个类只能有一个直接父类,但是可以实现多个接口,在继承的同时可以实现接口,之所以取消多重继承的原因是多继承使得代码产生很多问题,而使用单一继承则可以使代码更可靠。24.下列哪个选项是合法的标识符?(分数:2.00)A.123B._name C.classD.1first解析:解析:在 Java 中标识符是赋予变量、对象、类和方法的名称。标识符可以由字母、数字
27、、下划线“_、美元符“”组成,但不能以数字开头,不能用关键字做标识符。下列举出几个合法的标识符 HelloWorld,User_name,abc 和 abc123。下列举出几个不合法的标识符 redblue,-abc,1234 和 int。25.下列的哪个赋值语句是不正确的?(分数:2.00)A.float f = 11.1; B.double d = 5.3E12;C.float d=3.14f;D.double f = 11.1E10f;解析:解析:浮点型数的赋值,带有小数点的数字缺省是 double 型的,如果在浮点数后面加 f 或者 F 则是 float,后面加 d 或者 D 则是 d
28、ouble,科学计数法形式的浮点数也是 double 型的,而 double 的精度比float 高,将一个高精度的 double 赋值给一个低精度的 float 时需要进行强制类型转换,反之则不需要。26.下列的哪个赋值语句是正确的?(分数:2.00)A.char a=12;B.int a=12.0;C.int a=12.0f;D.int a=(int)12.0; 解析:解析:主要要熟悉数据类型的赋值和两种类型转换方法(即自动转换和强制转换)的使用方法。字符变量以 char 类型表示,它在内存中占 16 位 bit,它不能当做整数使用。选项 B)中的 12.0 为 double 类型,赋给
29、a 时需要强制转换。选项 C)中的12.Of 为 float 类型,赋给 a 时也需要强制转换。选项 D)用到了强制类型转换将 double 类型赋给整形 a,所以正确。27.下列的哪个选项可以正确用以表示八进制值 8?(分数:2.00)A.0x8B.0x10C.08D.010 解析:解析:八进制数以 0 开头,以 0x 开头的为十六进制数,八进制数中不能出现数字 8,最大数字为 7。28.下列哪个选项是 Java 调试器,如果编译器返回程序代码的错误,可以用它对程序进行调试?(分数:2.00)A.java.exeB.javadoc.exeC.jdb.exe D.javaprof.exe解析:
30、解析:javaexe 为 Java 解释器,javadoc.exe 为 Java 文档生成器,javaprof.exe 为 Java 剖析工具提供解释器剖析信息。29.下列叙述中,不属于软件需求规格说明书的作用的是(分数:2.00)A.便于用户、开发人员进行理解和交流B.反映出用户问题的结构,可以作为软件开发工作的基础和依据C.作为确认测试和验收的依据D.便于开发人员进行需求分析 解析:解析:软件需求规格说明书(SRS,Software Requirement Specification)是需求分析阶段的最后成果,是软件开发中的重要文档之一。它有以下几个方面的作用:便于用户、开发人员进行理解和
31、交流;反映出用户问题的结构,可以作为软件开发工作的基础和依据;作为确认测试和验收的依据。30.给出下列代码,则数组初始化中哪项是不正确的? byte array1,array2 ;byte array3 ;byte array4;(分数:2.00)A.array2 = array1 B.array2 = array3C.array2 = array4D.array3 = array4解析:解析:此题考查二维数组的定义,其中 array1 为一维数组其余为二维数组所以选项 A)错误。31.程序设计语言的基本成分是数据成分、运算成分、控制成分和(分数:2.00)A.对象成分B.变量成分C.语句成分
32、D.传输成分 解析:解析:程序设计语言是用于书写计算机程序的语言,其基本成分有以下4 种,数据成分:用来描述程序中的数据。运算成分:描述程序中所需的运算。控制成分:用来构造程序的逻辑控制结构。传输成分:定义数据传输成分,如输入输出语言。32.单个用户使用的数据视图的描述称为(分数:2.00)A.外模式 B.概念模式C.内模式D.存储模式解析:解析:选项 A)正确,外模式是用户的数据视图,也就是用户所见到的数据模式;选项 B)不正确,全局数据视图的描述称为概念模式,即数据库中全部数据的整体逻辑结构的描述;选项 C)不正确,物理存储数据视图的描述称为内模式,即数据库在物理存储方面的描述;选项 D)
33、不正确,存储模式即为内模式。33.给出下列代码,如何使成员变量 m 被方法 fun( )直接访问? class Test private int m; public static void fun( ) (分数:2.00)A.将 private int m 改为 protected int mB.将 private int m 改为 public int mC.将 private int m 改为 static i D.将 private int m 改为 int m解析:解析:在静态方法中不能直接访问非静态的成员,如果要在 fun( )中直接访问变量 m,应将变量 m 用 static 修饰
34、。34.给出下列的代码,哪行在编译时可能会有错误? public void modify( ) int i,j,k; i = 100; while( i 0) j = i * 2; System.out.println(“The value of j is“ + j); k=k + 1 (分数:2.00)A.line 4B.line 6C.line 7 D.line 8解析:解析:局部变量在使用前必须进行初始化,而代码中的变量 k 在使用前没有进行初始化。35.已知一棵二叉树前序遍历和中序遍历分别为 ABDEGCFH 和 DBGEACHF,则该二叉树的后序遍历为(分数:2.00)A.GEDHF
35、BCAB.DGEBHFCA C.ABCDEFGHD.ACBFEDHG解析:解析:利用前序和中序遍历的方法可以确定二叉树的结构,具体步骤如下:前序遍历的第一个结点 A 为树的根结点;中序遍历中 A 的左边的结点为 A 的左子树,A 右边的结点为 A 的右子树;再分别对 A 的左右子树进行上述两步处理,直到每个结点都找到正确的位置。二、填空题(总题数:15,分数:30.00)36.数据结构分为逻辑结构与存储结构,线性链表属于 【1】 。(分数:2.00)填空项 1:_ (正确答案:【1】存储结构)解析:解析:数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构;数据的存储结构是指数据的逻辑结构在计
36、算机存储空间中的存放形式。在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各数据元素之间的前后件关系的信息。37.在面向对象方法中,类之间共享属性和操作的机制称为 【2】 。(分数:2.00)填空项 1:_ (正确答案:【2】继承)解析:解析:类是面向对象语言中必备的程序语言结构,用来实现抽象数据类型。类与类之间的继承关系实现了类之间的共享属性和操作,一个类可以在另一个已定义的类的基础上定义,这样使该类型继承了其超类的属性和方法,当然,也可以定义自己的属性和方法。38.耦合和内聚是评价模块独立性的两个主要标准,其中 【3】 反映了模块内各成分之间的联系。(分数:2.00)填空项 1:
37、_ (正确答案:【3】内聚)解析:解析:内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量,内聚是从功能角度来度量模块内的联系;耦合性是模块间互相连接的紧密程度的度量。39.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体项目”的联系属于 【4】 的联系。(分数:2.00)填空项 1:_ (正确答案:【4】一对多(或 1:N))解析:解析:两个实体集间的联系实际上是实体集间的函数关系,这种函数关系可以有 3 种,即一对一(1:1)的联系、一对多(1:N)或多对一(N:1)的联系和多对多(N:N)的联系。40.数据库设计分为以下 6 个设计阶段:需求分析阶段、
38、【5】 、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。(分数:2.00)填空项 1:_ (正确答案:【5】数据库概念设计阶段)解析:解析:数据库设计分为以下 6 个设计阶段:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、实施阶段及数据库运行和维护阶段。41.Java 语言用 【6】 进行解释执行。(分数:2.00)填空项 1:_ (正确答案:【6】字节码)解析:解析:Java 语言是用字节码进行解释执行,它本身带有许多编译时产生的信息,可使其连接过程更简单。42.在一个类的内部嵌套定义的类称为 【7】 。(分数:2.00)填空项 1:_ (正确答案:【7】内部类)解析:解析
39、:内部类是嵌套在一个类的内部使用的,与普通类一样,内部类也具有自己的 成员变量和成员方法。43.设有数组定义:int a = 1l,22,33,44,55,66,77,88,99;则执行下列几 个语句后的输出结果是 【8】 。for( int i= 0 ;i y & x + = = y - 的逻辑值为 【12】 。(分数:2.00)填空项 1:_ (正确答案:【12】false)解析:解析:此题主要是考查运算符的优先级,首先运算的是+和两个运算符,然后是运算符,接着是= = 运算符,最后是运算符。xy x+= =y-等于(xy)(x+)= = (y-) )。48.设 a = 8,则表达式 a
40、2 的值是 【13】 。(分数:2.00)填空项 1:_ (正确答案:【13】2)解析:解析: 为不带符号的右移,8 的各比特位右移 2 位,左边的空位填 0。此题将 8(1000)变为了 2(0010)。49.Java 中访问限定符有 【14】 ,protected,private 和 default 等。(分数:2.00)填空项 1:_ (正确答案:【14】public)解析:解析:修饰符可分为访问限定符和非访问限定符两类。访问限定符有 public,protected,private 和 default 等。其他都属于非访问限定符,有 static,final,abstract 和 syncronized等。50.凡生成 StringBuffer 一个对象后,还可用 【15】 方法或 ensureCapacity1 方法来设定缓 存大小。(分数:2.00)填空项 1:_ (正确答案:【15】setLength-|_|-)解析:解析:此题考查 StringBuffer 字符串的知识,生成 StrinSBuffer 一个对象后可用setLength-|_|-或 ensureCapacity-|_|-方法设定缓存大小,并保证其数组元素的初值都为 0。