1、国家二级( JAVA)笔试模拟试卷 192及答案与解析 1 下列关于 Java提供的常值变量的说法中,正确的是 _。 ( A) Integer.MIN VALUE表示长整型的最小值 ( B) Long.MAX VALUE表示整型的最大值 ( C) Float.MAX VALUE表示单精度浮点型的正无穷大 ( D) Double.POSiTIVE INFINITY表示双精度浮点型的正无穷大 2 下列程序中的循环体将会被执行 _。 public class ex7 public static void main(String args) int n=4; while(n =8) System.ou
2、t.println(n); n+; ( A) 8次 ( B) 4次 ( C) 2次 ( D) 5次 3 在长度为 n的有序线性表中进行二分查找,需要的比较次数为 ( A) log2n ( B) nlog2n ( C) n/2 ( D) (n+1)/2 4 阅读下面程序 public class ForLoopStatement public static void main(String args) int i,j; for(i=1;i5;i+) /i循环 for(j=1;j =i;j+)System.out.print(i+“*“+j+“=“+i*j+“ “); /j循环 System.ou
3、t.println(); 程序完成后, i循环和 J循环执行的次数分别是 ( A) 4,10 ( B) 8,9 ( C) 9,8 ( D) 10,10 5 下列关于对象串行化的说法中,错误的是 ( A) Java中,默认所有类的对象都可串行化 ( B)在对 象串行化时,不保存对象所属类的构造方法 ( C)在实现 Serializable接口的类中,用 transient关键字可使某些数据不被串行化 ( D) ObjectInputStream和 ObjectOutputStream类都支持对象的读和写 6 软件生命周期中所花费用最多的阶段是 ( )。 ( A)详细设计 ( B)软件编码 ( C
4、)软件测试 ( D)软件维护 7 在因特网 (Internet)中,电子公告板的缩写是 ( )。 ( A) ftp ( B) WWW ( C) BBS ( D) E-mail 8 对排序文件的初始状态不作任何要求的排序方法有 ( )。 ( A)直接插入和快速排序 ( B)直接插入和归并排序 ( C)归并和快速排序 ( D)归并和直接选择排序 9 数据是指所有能输入到计算机中并被计算机程序处理的 ( )。 ( A)文字 ( B)字母 ( C)符号 ( D)数字 10 栈和队列的共同特点是 ( A)都是先进先出 ( B)都是先进后出 ( C)只允许在端点处插入和删除元素 ( D)没有共同点 11
5、使用运算符 _来调用类的构造方法和创建 新对象。 ( A) instanceof ( B) + ( C) new ( D) ASC 12 当单击鼠标或者拖动鼠标时,触发的事件是 _。 ( A) ActionEvent ( B) KeyEvent ( C) ItemEvent ( D) MouseEvent 13 下列 _属于 Swing提供的分层面板。 ( A) JDesktopPane ( B) Jbutton ( C) JFrame ( D) JMenu 14 能够支持 javadoc命令的注释语句是 ( )。 ( A) /*./ ( B) /*.*/ ( C) / ( D) /*.*/
6、15 下列不属于 Applet运行过程的是 ( )。 ( A)浏览器加载指定 URL中的 HTML文件 ( B)编译 Applet程序 ( C)浏览器解析 HTML文件 ( D)浏览器中的 Java运行环境运行 Applet 16 下列常见的系统定义的异常中,哪个是数组越界异常 ? ( A) ArrayIndexOutOfBoundsException ( B) IOException ( C) NullPointerException ( D) ArithmeticException 17 下列赋值语句中错误的是 ( A) float f=11.1f; ( B) double d=5.3E1
7、2; ( C) char c=r; ( D) byte bb=433; 18 下列关于 Applet生命周期的说法,正确的是 ( )。 ( A) voidinit()在 Applet下载前调用 ( B) voidstart()只在初始化之后调用 ( C) voidstop()在关闭浏览器时调用 ( D) stop()总在 voiddestroy()之前被调用 19 执 行下面程序后输出的正确结果是 ( )。 publicclassTest publicstaticvoidmain(Stringargs) bytex=3,y=4; longr=80L; System.out.print(r/y)
8、; System.out.print(“, “); System.out.print(x/y); ( A) 20.0,1 ( B) 20.0,1.0 ( C) 20,0 ( D) 20,1.0 20 提供 showDocument()方法,使 Applet能够请求浏览器访问特定 URL的类是( )。 ( A) Applet ( B) AppletContext ( C) JApplet ( D) URL 21 下列语句序列执行后 ,k的值是 ( )。 public class Test public static void main(String args) int m=3, n=6, k=0
9、; while(m+) (n-) +k; System.out.println(k); ( A) 0 ( B) 1 ( C) 2 ( D) 3 22 下列哪个选项不能提高程序的性能 ( )。 ( A)不要在循环中创建和释放对象 ( B)在处理字符串时尽量使用 StringBuffer类 ( C)避免太多地使用 synchronized关键字 ( D)尽量在循环中创建对象 23 Swing构件必须添加到 Swing顶层容器相关的 ()。 ( A)选项 板上 ( B)复选框内 ( C)内容面板上 ( D)分隔扳土 24 Java语言具有跨平台技术是因为 ( )。 ( A)字节编译 ( B)内存跟踪
10、 ( C)语法检查 ( D)多线程 25 设 x和 y均为 int型变量,则执行下面的循环后, y值为 ( )。 public class Sun public static void main(String args ) int x, y; for (y=1, x=1; y=50; y+) if(x =10) break; if (x%2=1) x+=5; continue; x-=3; System.out.println (y); ( A) 2 ( B) 4 ( C) 6 ( D) 8 26 Java语言的字符变量以 char类型表示,它在内存中占 _位。 ( ) ( A) 8 ( B)
11、 16 ( C) 32 ( D) 64 27 下列程序的运行结果是 ( )。 public class Sun public static void main(String args) int a=1; int b=1; for(int i=1;i=3;i+) a=a+b; b=b+a; System.out.println(a+“ “+B) ; ( A) 6 6 ( B) 5 8 ( C) 13 21 ( D) 34 55 28 下列代码的执行结果是 ( )。 public class Test1 public static void main(String args) float t =
12、0f; int q = 5; System.out.println(t+)*(-q); ( A) 40 ( B) 40 ( C) 36 ( D) 36 29 线程组是一个 Java特有的概念,在 Java中,线程组是类 ThreadGroup的对象,每个线程都隶属于 ( )个线程组。 ( A) 0 ( B) 1 ( C) 2 ( D)可以多于 2 30 在 Java语言中有多种实现的机制,下列哪种技术属于垃圾回收机制 ?( ) ( A)字节编译 ( B)内存跟踪 ( C)语法检查 ( D)堆栈上 /下溢检查 31 下列 ( )是 javax swing JApplet的父类 ? ( A) ja
13、va awt Panel ( B) java applet Applet ( C) java awt Frame ( D) java awt Windows 32 Java类库主要核心中, ( )是一些有关国际组织的标准。 ( A) org扩展包 ( B) java包 ( C) javax ( D)以上都不对 33 现有一变量声明为 boolean aa,下列的赋值语句正确的是 ( A) aa=false ( B) aa=False ( C) aa=“true“ ( D) aa=0 34 下列哪个方法和 resume( )方法相互搭配,使线程停止执行,然后调用 resume( )方法恢复线程
14、? ( A) interrupt( ) ( B) stop( ) ( C) suspend( ) ( D) yield( ) 35 下列哪个选项是创建一个标识有 “关闭 ”按钮的语句 ? ( A) TextField b = new TextField(“关闭 “); ( B) TextArea b = new TextArea(“关闭 “); ( C) BuRon b = new Button(“关闭 “); ( D) Checkbox b = new Checkbox(“关闭 “); 36 Jackson结构化程序设计方法是英国的 M. Jackson提出的,它是一种面向【 】的设计方法。
15、 37 一棵二叉树第六层 (根结点为第一层 )的结点数最多为【 】个。 38 如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体 “工人 ”与实体 “设备 ”之间存在【 】关系。 39 结构化程序设计所规定的 3种基本控制 结构是顺序结构、选择结构和【 】。 40 Jackson方法是一种面向【 】的结构化方法。 41 类是由成员变量和【 】组成。 42 跳转语句包括【 】、 continue语句和 return语句。 43 Swing构件从功能上位于顶层容器的包括: JFrame、 JApplet、【 】和JWindow。 44 在 Java 中,字符串是作为【 】出现的。 45
16、 请将程序补充完整。 import java.awt.*; public class FirstFrame extends Frame public static void main(String args) FirstFrame fr = new FirstFrame(“First container!“); fr.setSize(240,240); fr.setB ackground(Color, yellow); 【 】 public FirstFrame(String str) super(str); 46 Java通过过滤流对 I/O访问提供【 】机制。 47 Java中流的实现是在
17、【 】的类层次结构内部定义的。 48 Java语言具有可移植性、高性能、健壮性、安全性和独立于体系结构的【 】特点。 49 如果一个 Java Applet源程序文件只定义有一个类,该类的类名为MyFirstApplet,则存储该源程序的文件名必须为【 】。 50 Java语言中的浮点数默认类型是【 】。 国家二级( JAVA)笔试模拟试卷 192答案与解析 1 【正确答案】 D 【知识模块】 Java简单数据类型及运算 2 【正确答案】 D 【知识模块】 Java语言的基本语句 3 【正确答案】 A 【试题解析】 在长度为 n 的有序线性表中进行二分查找,需要的比较次数为log2n。选项 A
18、正确。 4 【正确答案】 A 5 【正确答案】 D 【试题解析】 对象串行化是指对 Java对象的读、写的过程。 Java语言提供了对象流 ObjectInputStream和 ObjeetOutputStream来实现对象串行化。要对类的对象进行串行化,必须实现 Serializable接口。一般的数据访问权限,如 public、protected、 package或 private等,对数据的串行化没有影响。只有 static和transient关键字修饰的数据才可以不被串行化。把一个对象的表示转换为字节流的过程称为串行化,而从字节流中把对象重建出来即是反串行化。平常所说的串行化实际上包括
19、了串行化和反串行化。 Java对象串行化技术,主要是通过java.io.ObjectInputStream类和 java.io.ObjectOutputStream类来实现。其中,ObjeetOutputStream 类负责把对象写入流 (串行化 ), ObjectInputStream类负责从流中读取对象 (反串行化 )。因此答案为选项 D。 6 【正确答案】 D 【试题解析】 软件维护是软件生命周期的最后一个阶段,也是持续时间最长、花费最多的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。 7 【正确答案】 C 8 【正确答案】 A 【试题解析】 只有归并排序要求待排
20、序文件 “部分排序 ”(把 待排序的文件分成若干个子文件,每个子文件内的记录是已排序的 )。 9 【正确答案】 C 【试题解析】 数据不是指某一种文字、字母或数字,实际上就是描述事物的符号记录,是抽象的概念。 10 【正确答案】 C 【试题解析】 栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出 ”的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种 “先进先出 ”的线性表。 11 【正确答案】 C 【 知识模块】 Java语言中面向对象的特性 12 【正确答案】 D 【知识模块】
21、编写用户界面程序 13 【正确答案】 A 【知识模块】 编写用户界面程序 14 【正确答案】 D 【试题解析】 以 “/”开始的是单行注释语句,以 “/*”开始、 “*/”结束的是 C语言风格的注释语句,在 “/*.*/”内的文档注释是自由形式的文本,支持 javadoe命令,被 javadoc处理,可以建立类的一个外部说明性文件。 15 【正确答案】 B 【试题解析】 Applet的运行过程经 历了以下 4个步骤: 浏览器加载指定 URL中的 HTML 文件 浏览器解析 HTML 文件; 浏览器加载 HTML 文件中指定的Applet类; 浏览器中的 Java运行环境运行该 Applet。
22、16 【正确答案】 A 【试题解析】 ArrayIndexOutOfBoundsException 为数组越界使用异常;IOException 为输入输出错误; NullPointerException 为引用为空异常;ArithmeticException 为算术异常,如除数为 0。 17 【正确答案】 D 【试题解析 】 本题考查 Java语言中的赋值运算。赋值运算符 ( )是把一个表达式的值赋给一个变量,赋值运算符两侧的类型不一致的情况下,如果左侧变量类型的级别高,则右侧的数据被转化为与左侧相同的高级数据类型后赋给左侧变量:否则,需要使用强制类型转换运算符。选项 A是 float常量;选
23、项 B 是 double型;选项 C是一个字符型常量,需要注意,这里的 “”是转移字符, “r”,表示回车,并不是字母 r;选项 D中 433超过了 byte类型的范围,所以是错误的。 18 【正确答案】 D 【试题解析】 本题考查 Applet生命 周期的概念。 Applet生命周期是考试重点考查内容,应该加以重视 ovoidinit()在 Apple下载时调用,而木是下载前调用,选项A错误。 voidstart()在初始化之后以及在 Applet被重新访问时调用,不仅仅只是在初始;之后调用,选项 B 错误。 voidstop()在停止执行时调用,关闭浏览器时调用的是 voiddestroY
24、(),选项 C错误。 voiddestroy()在关闭浏览器 Applet从系统中撤出时调用,此时 Applet必然调用 stop()方法停止其运行,然后才能调用voiddestroy()方法 从内存卸载并释放该 Applet的所有资源。注意理解 Applet的执行过程 19 【正确答案】 C 【试题解析】 如果两个操作数全为整型,那么,只要其中一个为 long型,则表达式结果为 long型:其他情况下,即使两个操作数全是 byte或 short型,表达式结果也是 int型;如果操作数为浮点型,那么只要其中一个为 double型,表达式结果就是 double 型;只有两个操作数全是 float
25、型或其中一个是 float型而另外一个是整型时,表达式结果是 float型。 20 【正确答案】 B 【试题解 析】 AgpletContext类是一个接口类, Applet通过 AppletContext接口与环境进行通信。可以利用这个类从 Appplet环境获取信息,而这个环境一般是指浏览器。 Applet使用 AppletContext类的 showDoeument()方法可以通知浏览器在指定窗口中显示另一个 URL 的内容。因此,本题的正确答案是 B。 21 【正确答案】 C 【试题解析】 变量 m和 n 在条件中都采用了先使用后改变的方式,第一遍循环执行时, m=3, n= 6 满足
26、条件,执行循环体 k=1,然后 m=4,n=5;第二遍循环,满足条件,执行循环体,得到 k=2,然后 m=5,n=4;第三遍循环,不满足条件,结束循环,输出结果, k=2。因此答案为 C。 22 【正确答案】 D 【试题解析】 本题主要考查提高程序的性能的规则是不要在循环中创建和释放对象;在处理字符串时尽量使用 StringBuffer类;避免太多地使用 synchronized 关键字。 23 【正确答案】 C 24 【正确答案】 A 【试题解析】 Java语言解释器采用生成与体系结构无关的字节码指令的技术,只须安装 Java程序就可以在 网络的任何地方运行。这样大大减少了软件的维护成本,提
27、高了软件的生产效率。 25 【正确答案】 C 【试题解析】 该题考查 for循环和 if 条件语句的嵌套应用。当 y=1, x=1时,不满足第 1个 if语句向下继续执行第 2个 if 语句, x=6,继续执行 for循环:当y=2, x=6时,不满足第 1个和第 2个 if 语句, x=3,继续执行 for循环;当 y=3,x=3时,不满足第 1个 if 语句向下继续执行第 2个 if 语句, x=8,继续执行 for循环;一直执行下去,直到 y=6, x=12是满足第 1个 if语句退出 for循环。故本 题答案是 C。 26 【正确答案】 B 【试题解析】 该题考查的是基本数据类型的字符
28、类型。字符型变量的类型为char,它在机器中占 16 位,其范围为 0 65535。所以本题答案选 B。 27 【正确答案】 C 【试题解析】 本题考查对 for循环语句的理解。 i=1时, a=1+1=2, b=1+2=3。 i=2时, a=2+3=5, b=3+5=8。 i=3时, a=5+8=13, b=8+13=21。故本题答案选项是C。 28 【正确答案】 D 【试题解析】 本题考查 +和 -运算符,表达式 (t+)*(-q)的结果为 36.0。 29 【正确答案】 B 【试题解析】 本题是对线程组概念的考查。线程组是一个 Java特有的概念,在Java中,线程组是类 ThreadG
29、roup 的对象,每个线程都隶属于唯一一个线程组,这个线程组在线程创建时指定并在线程的整个生命期内都不能更改。可以通过调用包含 ThreadGroup 类型参数的 Thread 类构造函数来指定线程所属的线程组,若没有指定,则线程默认地隶属于名为 system的系统线程组。在 Java中,除了预建的系统线程组外,所有线程组都必须显式创建。在 Java中,除系统线程组外的每个线程组又隶属于另一个线程组,可以在创建线程组时指定其所隶属的线程组,若没有指定,则默认地隶属于系统线程组。这样,所有线程组组成了一棵以系统线程组为根的树。 Java允许对一个线程组中的所有线程同时进行操作,比如可以通过调用线
30、程组的相应方法来设置其中所有线程的优先级,也可以启动或阻塞其中的所有线程。 Java的线程组机制的另一个重要作用是线程安全。线程组机制允许通过分组来区分有不同安全特性的线程,对不同组的线程进行不同的处理,还可以通过线程组的分层结构来支持不对等安全措施的采用。 Java的 ThreadGroup 类提供了大量的方法来方便我们对线程组树中的每一个线程组以及线程组中的每一个线程进行操作。 30 【正确答案】 B 31 【正确答案】 B 32 【正确答案】 A 33 【正确答案】 A 【试题解析】 布尔值 true和 false在 Java语言中是必须小写的,这点不同于 C语言和 C+语言而且 tru
31、e和 false不对应任何数值,包括 O和 1它不能和数字进行相互转换,本身就是一种数据类型写法不需要加 “ “,如选项 C) aa=“true“,这样的定义说明 aa是个字 符串。 34 【正确答案】 C 【试题解析】 在一个线程中调用 t.suspend( ),将使线程 t暂停执行,要想恢复线程,必须由其他线程调用 t.resume( )恢复 t的执行。不提倡这两种方法,容易产生死锁。 35 【正确答案】 C 【试题解析】 TextField 为单行文本输入区, TextArea为多行多列文本输入区, Button 为按扭, Checkbox 为复选框。 36 【正确答案】 数据结构 【试
32、题解析】 结构化分析方法主要包括:面向数据流的结构化分析方法(Structured analysis, SA),面向数据结构的 Jackson 方法 (Jackson system development method, JSD)和面向数据结构的结构化数据系统开发方法 (Data structured system development method, DSSD)。 37 【正确答案】 32 【试题解析】 根据二叉树的性质:二叉树第 i(i1)层上至多有 2i-1个结点。得到第 6层的结点数最多是 26-1 32。 38 【正确答案】 一对多或 1对多或 1: M或 1: N或 1: m或
33、1: n 【试题解析】 实体之间的联系可以归结为 3类:一对一的联系,一对多的联系,多对多的联系。设有两个实体集 E1和 E2,如果 E2中的每一个实体与 E1中的任意个实体 (包括零个 )有联系,而 E1中的每一个实体最多与 E2中的一个实体有联系,则称这样的联系为 “从 E2到 E1的一对多的联系 ”,通常表示为 “1: n 的联系 ”。由此可见,工人和设备之间是一对多关系。 39 【正确答案】 循环结构 【试题解析】 任何一个大型的程序都由 3种基本结构所组成,由这些基本结构顺序地构成了一个结构化的程序。事实上,程序设计语言 仅仅使用顺序、选择和循环 3种基本结构就足以表达出各种其他形式
34、结构的程序设计方法。 40 【正确答案】 数据结构 【试题解析】 Jackson 方法是一种面向数据结构的结构化方法。 41 【正确答案】 成员方法 或 方法 【试题解析】 类是 Java程序的基本要素,由成员变量和成员方法组成。 42 【正确答案】 break语句 【试题解析】 reak 语句和 continue语句是用来控制循环的流程的语句,而return语句一般用在方法的最后,用于方法调用的返回。 43 【正确答 案】 JDialog 【试题解析】 从功能上对 Swing构件进行分类,其顶层容器包括: JFrame、JApplet、 JDialog 和 JWindow共 4个。 44 【
35、正确答案】 对象 45 【正确答案】 fr.setVisible(true); 46 【正确答案】 同步处理 【试题解析】 过滤流保证某时刻只有一个线程访问一个 I/O流,使用过滤流需要先将过滤流连接到某个 I/O 流上,然后再通过构造方法的参数指定链接的 I/O 流。 47 【正确答案】 java.io包 【试题解析】 Java中流的实现是在 java.io 包的类层次结构内部定义的。 48 【正确答案】 跨平台 【试题解析】 本题考查 Java语言的特点。关于这个知识点的考查,历次考试都有相关内容,务必牢记。 Java语言具有可移植性、高性能、健壮性、安全性和独立于体系结构的跨平台特点。同时 Java语言还具有简单易学、利用面向对象技术、分布式计算、解释执行、多线程、动态性等特点。 49 【正确答案】 MyFirstApplet.java 【试题解析】 该题考查对 Applet类的继承、原文件名与字节码文件名的 理解。Applet小程序一般都继承 Applet类,其源文件名与任何别的 Java程序文件名一样,都为 java文件。编译后产生的字节码文件名为 .class 文件。 50 【正确答案】 【 】 double类型 【试题解析】 Java语言中的浮点数默认类型是 double类型的。