1、国家二级( JAVA)笔试模拟试卷 200及答案与解析 1 下列命令中, _能为远程对象生成 stub和 skeleton。 ( A) rmid ( B) rmic ( C) serialver ( D) rmiregistry 2 算法的时间复杂度是指 ( A)执行算法程序所需要的时间 ( B)算法程序的长度 ( C)算法执行过程中所需要的基本运算次数 ( D)算法程序中的指令条数 3 下面对对象概念的描述中,错误的是 _。 ( A)任何对象都必须有继承性 ( B)对象是属性 和方法的封装体 ( C)对象间的通信靠消息传递 ( D)操作是对象的动态属性 4 阅读下面一个支持多线程并发操作的堆
2、栈类代码 public class MyStack private int idx=0; private int data=new int8; public _ Void push(int i) dataidx=i; idx+; 在下画线处应填入的是 ( A) synchronized ( B) wait ( C) blocked ( D) interrupt 5 结构化程序所要求的基本结构不包括 _。 A) 顺序结构 B) GOTO跳转 C) 选择 (分支 )结构 D) 重复 (循环 )结构 6 软件危机爆发之后,荷兰科学家 Bijkstra在 1968年提出了一种新的程序设计思想,它就是
3、( )。 ( A)面向对象的程序设计 ( B)结构化程序设计 ( C)面向模块的程序设计 ( D)嵌入式程序设计 7 编制一个好的程序首先要确保它的正确 性和可靠性,还应强调良好的编程风格。在选择标识符的名字时应考虑 ( )。 ( A)名字长度越短越好,以减少源程序的输入量 ( B)多个变量共用一个名字,以减少变量名的数目 ( C)选择含义明确的名字,以正确提示所代表的实体 ( D)尽量用关键字作名字,以使名字标准化 8 下列叙述正确的是 ( )。 ( A)非空线性表可以有几个节点没有前件 ( B)线性表的数据元素不可以由若干个数据项构成 ( C)除根节点和终端节点,其他节点都有且只有一个前件
4、,也有且只有一个后件 ( D) 线性表必须要有数据元素 9 Java虚拟机 (JVM)运行 Java代码时,不会进行的操作是 ( )。 ( A)加载代码 ( B)校验代码 ( C)编译代码 ( D)执行代码 10 下列变量名的定义中,符合 Java命名约定的是 ( )。 ( A) fieldname ( B) super ( C) Intnum ( D) $number 11 单个用户使用的数据视图的描述称为 _。 ( A)外模式 ( B)概念模式 ( C)内模式 ( D)存储模式, 12 下列程序输出的结果为 ( )。 public class Test public static void
5、 main (String args) int a=3, b=4, c=5, d=6, e=7; if(a b|c d)e+; else e-; System.out.println(e); ( A) 8 ( B) 7 ( C) 6 ( D) 9 13 若在类 A中有一个无形式参数且无返回值的方 法 m1(),而且在调用这个方法时可以使用类名称而不是对象名称,那么声明这个方法的形式为 ( )。 ( A) static void m1 () ( B) public void m1 () ( C) final void m1 () ( D) abstract void m1; 14 语句 publ
6、ic String getEncoding()的功能是 ( )。 ( A)给当前输入流重做标记 ( B)获得当前字符流所用的编码方式 ( C)基于字节流 in生成一个输入字符流对象 ( D)给当前字符输入流设置编码方式 15 下列选项中属于 Java语言的垃圾回收机制的一项是 ( )。 ( A)语法检查 ( B)堆栈溢出检查 ( C)跨平台 ( D)内存跟踪 16 下列方法中能完成主类实例初始化工作的是 ( )。 ( A) start() ( B) stop() ( C) init() ( D) paint() 17 请阅读下面程序 publicclassExampleStringBuffer
7、 publicstaticvoidmain(Stringargs) StringBuffersb=newStringBuffer(“test“); System.out.println(“buffer-, “+sb); System.out.println(“longth=“+sb.1ength(); 程序运行结果中在 “length”后输出的值是 ( )。 ( A) 10 ( B) 4 ( C) 20 ( D) 30 18 3下列代码中,将引起一个编译错误的行是 ( )。 1)public class Test 2)int m,n; 3)public Test() 4)public Test
8、(int a)m=a; 5)public static void main(String args) 6)Test t1,t2; 7)int j,k; 8)j=0; k=0; 9) t1=new Test(); 10)t2=new Test(j,k); 11) 12) ( A)第 3行 ( B)第 5行 ( C)第 6行 ( D)第 10行 19 下列关于线程调度的叙述中,错误的是 ( )。 ( A)调用线程的 sleep()方法,可以使比当前线程优先级低的线程获得运行机会 ( B)调用线程的 yeild()方法,只会使与当前线程相同优先级的线程获得运行机会 ( C)当有比当前线程的优先级高的
9、线程出现时,高优先级线程将抢占 CPU并运行 ( D)具有相同优先级的多个线程的调度一定是分时的 20 下面关于 Java代码安全的说法中不正确的是 ( )。 ( A) Java程序在解释执行时所需要的类都是通过字节码校验程序装入的 ( B) Java字节码的执行是由 JVM中的编译器完成的 ( C)在 Java程序运行时,首先装入字节码,然后进行校验,最后在解释器中执行 ( D)在默认的安全配置条件下, Applet不能访问任何本地资源 21 下面哪个选项正确示例了传递一个参数给 applet? ( ) ( A) applet code=Test.class age=33 width=100
10、 heigh=100 ( B) param name=age value=33 ( C) applet code=Test.class name-age value=33 width=100 height=100 ( D) applet Test 33 22 内部类是在一个类内嵌套定义的类。其特点描述错误的是 ( ) ( A)只能在定义它的类或程序段中或表达式内匿名使用,外部使用时必须给出类的全名 ( B)可以使用它所在类的静态成员变量或实例成员变量,但不可以使用所在类中的局部变量 ( C)可作为其他类的成员,而且可访问它所在类的成员 ( D)除 static内部类外,不能在类内声明 stat
11、ic成员 23 以下哪个方法仅在 Applet程序被创建和首次被载入支持 Java的浏览时被调用 ? ( )。 ( A) paint() ( B) init() ( C) action() ( D) start() 24 char变量的取值范围是 ( A) 0 32 767 ( B) 0 65 535 ( C) -256 255 ( D) -32 768 32767 25 下面程序段的输出结果为 public class Test int a, b; Test() a=100; b=200; Test(int x,int y) a=x; b=y; public static void main
12、(String args) Test Obj1=new Test(12,45); System.out.println(“a=+Obj1.a+“ b=“+Obj1.B) ; Test Obj2=new Test(); System.out.println(“=“+Obja+“ b=“+ObjB) ; ( A) a=100 b=200 a=12 b=45 ( B) a=12 b=45 a=100 b=200 ( C) a=12 b=200 a=100 b=45 ( D) a=100 b=45 a=12 b=200 26 下列 ( )代表单精度浮点数。 ( A) 0652 ( B) 3.4457D
13、 ( C) 0.298f ( D) 0L 27 通过调用 newList(10, false)创建一个 列表,关于该列表的几个说法 ( )是错误的。 ( A)该列表不支持复选 ( B)该列表一次可显示 10个选项 ( C)根据需要该列表可能有垂直滚动条 ( D)该列表有 10个选项 28 没有购买 Java的使用权的是 ( )。 ( A) IBM ( B) Microsoft ( C) DEC ( D) HP 29 为了区分类中重载的同名的不同的方法,要求 ( A)采用不同的形式参数列表 ( B)返回值的数据类型不同 ( C)调用时用类名或对象名做前缀 ( D)参数名不同 30 下列关于 AW
14、T和 Swing的比较叙述正确的是 ( A) Swing中新增了一个 BoxLayout布局管理器 ( B) Swing的事件处理机制继续沿用 AWT的事件处理机制,基本的事件处理也要 java awt event这个包的类,而且 java swing event包中也增添了一些新的事件及监听器接口 ( C)与 AWT不同的是, JComponent构件默认双缓冲区,不必自己重写代码 ( D)以上说法都正确 31 定义类头时可能用到的关键字是 ( A) final ( B) private ( C) protected ( D) Class 32 Panel和 Applet的默认的布局管理器是
15、 ( A) CardLayout ( B) BorderLayout ( C) FlowLayout ( D) GridLayout 33 用来导入已定义好的类或包的语句是 ( A) main ( B) import ( C) public class ( D) class 34 下列构造方法的调用方式中,正确的是 ( A)按照一般方法调用 ( B)由用户直接调用 ( C)只能通过 new自动调用 ( D)被系统调用 35 与 Applet生命周期相关的 方法的数量是 ( A) 4种 ( B) 3种 ( C) 2种 ( D) 5种 36 在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可
16、以分为三种:先序遍历、【 】遍历和后序遍历。 37 软件测试分为白箱 (盒 )测试和黑箱 (盒 )测试。等价类划分法属于【 】测试。 38 键码的定义:在关系的范围内惟一标识 _。 39 冒泡排序算法在最好的情况下的元素交换次数为【 】。 40 “流 ”(stream)可以看作是一个流动的 _缓冲区。 41 if语句合法的条件值是【 】类 型。 42 Class类是一个特殊类,它在编译时由【 】自动生成,并伴随每一个类。 43 一个类只有实现了【 】接口,它的对象才是可串行化的。 44 FileInputStream是字节流; BufferedWriter是字符流; ObjectOutputS
17、tream是【 】。 45 【 】技术用在数字传输技术领域,以传输的可靠性为目的,进行差错控制。 46 Java源文件中最多只能有一个【 】类,其他类的个数不限。 47 文件类 _ 是 java.io中的一个重要的非流类,里面封装了对文件系统进行操作的功能。 48 Java中,任何数据类型的数据 (包括基本类型和组合类型 )都可以通过 _运算符来比较是否相等。 49 在常值变量中,整型的最大值是【 】。 50 通过类 MyClass中的不含参数的构造方法,可通过【 】语句实现,生成该类的一个对象。 obj。 国家二级( JAVA)笔试模拟试卷 200答案与解析 1 【正确答案】 B 【知识模块
18、】 J2SDK的下载和操作 2 【正确 答案】 C 【试题解析】 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。 3 【正确答案】 A 【试题解析】 对象可以执行的操作表示其动态行为,在面向对象分析与设计中,通常把对象的操作也称为方法或服务。属性在设计对象时确定,一般只能通过执行对象的操作来改变。对象有一些基本特点:标识唯一性,分类性,多态性,封装性,模块独立性好。而继承是使用已有的类定义作为基础来建立新类的技术。 4 【正确答案】 A 【试题解析】 一个程序中单独的、并发的线程
19、对同一个对象进行访问的代码段,称为临界区。在 Java语言中,临界区可以是一个语句块或是一个方法,并且用synchronized 关键字标识。本程序中 push()方法即为临界区,所以需要用synchronized 关键字标识。 5 【正确答案】 B 6 【正确答案】 B 7 【正确答案】 C 8 【正确答案】 C 【试题解析】 非空线性表有且只有一个节点没有前件,所以 A是错误的。线性表的数据元素不一定是简单项,不可以 由若干个数据项构成,所以 B是错误的。线性表可以没有数据元素,称为空线性表,所以 D是错误的。答案是 C。 9 【正确答案】 A 【试题解析】 Java虚拟机加载代码是在运行
20、前的操作。运行代码时会校验、编译和执行代码。 10 【正确答案】 A 【试题解析】 Java命名约定全部小写,不得使用关键字、只有 A符合。 11 【正确答案】 A 【知识模块】 数据库设计基础 12 【正确答案】 A 【试题解析】 本题首先判断 a b|c d, |为逻辑或运算符, a b为真,所以 a b|c d 为真,则执行 e+,最终 e的值为 8。 13 【正确答案】 A 【试题解析】 在选项 A中,关键字 static表明方法 m1 是类方法,在调用这种方法时可以使用类名。在选项 B中,关键字 public只是说明方法 m1 是公有的实例方法。在选项 C中,关键字 final说明方
21、法 m1 是最终方法,不允许被任何子类中的方法覆盖。在选项 D中,关键字 abstract说明方法 m1 是抽象方法,它的实现过程只能在子类中定义。 14 【正确答案】 B 【试题解析】 getEncoding 是 InputStreamReader类的方法,其功能是获得当前字符流所用的编码方式。 15 【正确答案】 D 【试题解析】 本题考查 Java语言的垃圾回收机制。语法检查是编译 25的一项工作,不属于垃圾回收,选项 A错误;堆栈溢出在解释执行时进行检查,选项 B错误;跨平台是 Java语言的一个特点,不属于垃圾回收机制,选项 C错误;为了充分利用资源, Java语言提供了一个系统级的
22、线程,用于监控内存,在必要时对不再使用的某些内存进行回收,这就是垃圾回收机制。 16 【正确答案】 C 【试题解析】 本题考查对 Applet必须要重载的几个方法的理解。选项 A错误,start()方法使得程序从初始态进入运行态,当浏览器从图标状态恢复为窗口时,或者当用户离开包含 Applet的主页后又再返回时,系统都会自动再执行一遍 start()方法。选项 B 错误, stop()方法是和 start()方法相对应的,当浏览器变成图标或者是用户离开 Applet所在页面时,浏览器都会调用 stop()方法,该方法也是可以被多次调用的。选项 C正确,当创建 JavaApplet且第一次使用支
23、持 Java的浏览器载入该 Applet时,就会执行 init()方法,通常在这 方法中执行一次性的初始化操作。选项 D错误, paint()方法是画图时必须要重载的方法。 17 【正确答案】 B 【试题解析】 本题对 StfingBuffer(String str)构造方法,用 str给出字符串的初始值,并分配 16个字符的缓存。因此,字符串 sb 的初始值是 “test”,并且包含 16个字符的缓存。 leng出 ()方法用来获得字符申长度,不包含缓存。故程序运行结果中在 “length=”后输出的值应该是字符串 sb的长度,即 4。 18 【正确答案】 D 19 【正确答案】 D 【 试
24、题解析】 本题考查对线程调度的理解。线程属于考试难点,概念不容易理解,需多下功夫。调用线程的 sleep()方法,可以使比其低的优先线程运行,所以选项 A说法正确;调用线程的 yeild()方法,只让给同优先级运行,所以选项 B 说法正确; Java的线程调度策略是一种基于优先级的抢先式调度,所以选项 C说法正确;具有相同优先级的多个线程的调度可能是分时的,也可能是线程逐个运行,由具体 JVM而定,选项 D说法错误,故为所选。 20 【正确答案】 B 【试题解析】 选项 A是正确的,由于解释执行之前需要做字节码的 校验,因此执行需要的类都是通过字节校验码程序装入的;选项 C,解释和选项 A一样
25、:选项 D正确,体现了 Java安全配置策略的一个重要方面:选项 B是错误的, Java字节码的执行应该是由 JVM中的解释器完成的。 21 【正确答案】 B 【试题解析】 该题考查对 APPLET标记中的属性 PARAM的理解。属性PARAM是用来传递参数给 applet的,它又有两个属性 name和 value,前者表示参数的名字,后者表示参数的值。选项 A和 C显然不对,而选项 D忽略了关键字param 选项 B 的表示是正确的。故本题答 案是 B。 22 【正确答案】 A 23 【正确答案】 B 24 【正确答案】 B 【试题解析】 本题考查 Java中数据的取值范围。 char是字符
26、变量类型,在内存中占 16位 bit,表示范围为 0 65 535,选项 B 正确。 char不能当作整数使用,char类型的值可以转换为 int类型,但反过来,血类型转换为 char类型时,必须强制执行。 25 【正确答案】 B 【试题解析】 本题考查构造方法及构造方法重载。 Test类有两个构造方法,即使用了方法重载技术。不带参数的构造方法对类的实例 变量进行特定数值的赋值,而带参数的构造方法根据参数对类的实例变量进行赋值。 TestObj1=new Test(12,45)语句调用的是 Test(int x,int y),而 Test Obj2=new Test 渊用的是Test(),注意
27、根据参数个数来区分。 26 【正确答案】 C 27 【正确答案】 D 28 【正确答案】 D 29 【正确答案】 A 【试题解析】 方法的重载是指多个方法可以享有相同的名字,但参数的数量或类型必须不相同 (采用不同的形式参数列表 )。程序可按参数决定调用对应方 法。 30 【正确答案】 D 【试题解析】 与 AWT 不同的是, JComponent构件默认双缓冲区,不必自己重写代码。如果想关闭双缓冲区,可以在构件卜施加 setDoubleBuffered(false)方法。 31 【正确答案】 A 【试题解析】 可以修饰类的修饰符有 public, static, final 和 abstra
28、ct。 32 【正确答案】 C 【试题解析】 Panel 和 Applet的默认的布局管理器是 FlowLayout。 33 【正确答案】 B 【试题解析】 本题考查 Java中的 import语句。 Java中使用 import语句来导入已定义好的类或包,需要注意 Java语言的 java 1ang包是编译器自动导入的,编程时如果使用该包中的类,可省去 import导入,如果要使用其他包中的类,必须用 import导入。 34 【正确答案】 C 【试题解析】 本题考查 Java中的构造方法。构造方法在 Java中占有举足轻重的地位,务必掌握。构造方法是类中的一种特殊方法,是为对象初始化操作编
29、写的方法,用来定义对象的初始状态。构造方法不能被程序调用,构造方法名必须与类名相 同,没有返回值,用户不能直接调用,只能通过 new 自动调用,所以选项C正确。 35 【正确答案】 A 【试题解析】 本题考查 Applet生命周期的概念。 Applet声明周期是指从 Applet下载到浏览器,到用户退出浏览器,终止 Applet运行的过程。 Applet生命周期方法包括 init()方法、 start()方法、 stop()方法和 destroy()方法,一共 4种,所以选项A正确。 36 【正确答案】 中序 【试题解析】 在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:
30、先序遍历、中序遍历和后序遍历。先序遍历是先访问根结点,然后遍历左子树,最后遍历右子树;并且遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。中序遍历是先遍历左子树,然后访问根结点,最后遍历右子树。后序遍历是先遍历左子树,然后访问右子树,最后遍历根结点。 37 【正确答案】 黑箱 (盒 ) 或 黑盒 或 黑箱 或 黑盒 (箱 ) 【试题解析】 软件测试的方法有三种:动态测试、静态测试和正确性证明。设计测试用例的方法一般有两类:黑盒测试方法和白盒测试方法。黑盒测试方法主 要有:等价类划分法、边界值分析法、错误推测法、因果图等,主要用于软件确认测试。 38 【正确答案】 一个元组的
31、属性或属性集 39 【正确答案】 【 】 0 【试题解析】 根据冒泡排序算法思想可知,若待排序的初始序列为 “正序 ”序列,则只需进行一趟排序,在排序过程中进行 n-1次关键字间的比较,且不移动和交换记录,这种情况是冒泡排序的最好情况,故冒泡排序算法在最好的情况下的元素交换次数为 0。 40 【正确答案】 数据。 【试题解析】 在计算机中,流可以看做是一个流动的数据缓冲区。数据从数据 源流向数据目的地。流的传送是串行的。 41 【正确答案】 布尔 【试题解析】 条件语句的条件应该是条件表达式或者布尔逻辑表达式,因此条件的值只能是布尔类型的值。 42 【正确答案】 编译器 【试题解析】 Clas
32、s 类是由编译器自动生成对象的一个特殊类,它伴随每个类,这个 Class类是一个特殊类,它有一个 final类,所有的方法都用类变量来调用,即对 Class类不可能实例化。 43 【正确答案】 Serializable 【试题解析】 一个类只有实现了 Serializable接 口,它的对象才是可串行的。实际上, Serializable是一个空接口,它的目的只是简单地标识一个类的对象可以被串行化。 44 【正确答案】 对象流 (或对象输出流 ) 【试题解析】 流类还有过滤流 (FilterInputStream)、管道流 (PipeInputStream)等。 45 【正确答案】 crc 4
33、6 【正确答案】 public 【试题解析】 本题考查 Java的程序结构。 Java程序结构是考试重点内容,它非常简单,应该记忆相关内容。 Java源文件中最多只能有一个 public类,其他类的个数不限。另外,还应该了解 package语句只能有 0或 1个; import 语句可以有 0或多个;接口可以定义 0个或多个。 47 【正确答案】 File 48 【正确答案】 =或 != 49 【正确答案】 【 】 Integer MAX_VALUE 【试题解析】 在每个基本数据类型中, Java都提供了他们各自的常值变量,这些值大部分是用来判断变量的值是否越界的。注意:除了最大值的常值变量,我们也必须知道最小值、无穷大、无穷小等常值变量的写法。 50 【正确答案】 【 】 MyClass obj=new MyClass( ); 【试题解析】 生成一个对象的一般格式是:先定义 个对象变量,在用关键字new 来生成一个对象,并为对象中的参数赋初始值。