1、国家二级( JAVA)笔试模拟试卷 208及答案与解析 1 在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送 _。 ( A)调用语句 ( B)命令 ( C)口令 ( D)消息 2 下列叙述中正确的是 ( A)一个逻辑数据结构只能有一种存储结构 ( B)数据的逻辑结构属于线性结构,存储结构属于非线性结构 ( C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 ( D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率 3 下列叙述中正确的 是 _。 A) 有一个以上根结点的数据结构不一定是非线性结构 B) 只有一个根结点的数据结构不一定是线
2、性结构 C) 循环链表是非线性结构 D) 双向链表是非线性结构 4 结构化程序设计的三种结构是 ( )。 ( A)顺序结构、选择结构、转移结构 ( B)分支结构、等价结构、循环结构 ( C)多分支结构、赋值结构、等价结构 ( D)顺序结构、选择结构、循环结构 5 在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是 ( )。 ( A)概要设计 ( B)详细设计 ( C)可行性分析 ( D)需求分析 6 数据的存储结构是指 ()。 ( A)存储在外存中的数据 ( B)数据所占的存储空间量 ( C)数据在计算机中的顺序存储方式 ( D)数据的逻辑结构在计算机中的表示 7 有关
3、构造函数的说法不正确的是 ()。 ( A)构造函数名字和类的名字一样 ( B)构造函数在说明类变量时自动执行 ( C)构造函数无任何函数类型 ( D)构造函数有且只有一个 8 在结构化程序设计中,使用 goto语句的原则是 ( )。 ( A)限制 ( B)鼓励 ( C)禁止 ( D)滥用 9 如下图所示的 4棵二叉树中,不是完全二叉树的是 ( )。 10 整型变量中, int类型表示的数据范围是 ( )。 ( A) 2147483647 + 2147483646 ( B) -2147483648 + 2147483647 ( C) -2147483646 + 2147483647 ( D) -
4、2147483647 2147483648 11 下列程序段执行后,变量 c的值为 ( )。 public class Test public static void main(String args) float a=10, b=9, c=8; if (-a=B)c= -a/c; System. out. println (C); ( A) 1.125 ( B) 1.0 ( C) 1.25 ( D) 0.0 12 下面程序段的输出结果是 ( )。 public class Test public static void main (String args) for ( int a=0; a
5、10; a+) if (a=5) break; System.out.println(A); ( A) 01234 ( B) 6789 ( C) 012346789 ( D) 5 13 下列说法中,错误的是 ( )。 ( A)线程就是程序 ( B)线程是一个程序的单个执行流 ( C)多线程 是指一个程序的多个执行流 ( D)多线程用于实现开发 14 下列 ( )选项操作是 Applet可以做的。 ( A)访问客户端系统的一部分信息 ( B)访问客户端的文件系统 ( C)在客户端调用本地动态链接库 ( D)在客户端访问电子邮件地址 15 下列关于正则表达式的说法,不正确的是 ( A)在 J2SE
6、1.4中的正则表达式包中有一个 Pattern类 ( B)在 J2SE1.4中的正则表达式包中有一个 Macher类 ( C)在 J2SE1.4中的正则表达式包名为 java.util.regex ( D)以上 说法都不对 16 下列说法中,正确的一项是 ( A) Java语言是以类为程序的基本单位的 ( B) Java语言是不分大小写的 ( C)多行注释语句必须以 /开始 ( D)在 Java语言中,类的源文件名和该类名可以不相同 17 int型 public成员变量 MAX LENGTH,该值保持为常数 100,则定义这个变量的语句是 ( )。 ( A) publicintMAX_LENG
7、TH=100 ( B) finalintMAX LENGTH=100 ( C) publicconstintMAX_LENGTH=100 ( D) publicfinalintMAX_LENGTH=100 18 下列程序片段中,能通过编译的是 ( A) public abstract class Animal public void speak(); ( B) public abstract class Animal public void speak() ( C) public class Animal public abstract void speak(); ( D) public ab
8、stract class Animal public abstract void speak() 19 阅读下面程序importjava.io.*;publicclassTypeTransitionpublicstaticvoidmain(Stringargs)chara=h;iNti=100;intj=97;intaa=a+i;System.out.println(“aa=“+aa);charbb=(char)j;System.out.println(“bb=“+bb);如果输出结果的 第二行为 bb=a,奸么第一行的输出是 ()。 ( A) aa=I ( B) aa=204 ( C) aa
9、=v ( D) aa=156 20 下列 ()是面向大型企业级用容器管理专用构件的应用平台。 ( A) J2EE ( B) J2ME ( C) J2SE ( D) J2DE 21 给定下面的代码: int i=1,j=10; do if(i+ -j) continue; while(i 5) 执行完之后, i与 j的值分别是多少 ? ( ) ( A) i=6, j=5 ( B) i=5, j=5 ( C) i=6, j=4 ( D) i=5, j=6 22 如果有 2个类 A和 B, A类基于 B类,则下列描述中正确的一个是 _。 ( A)这 2个类都是子类或者超类 ( B) A是 B超类的子
10、类 ( C)这 2个类都是对方的子类 ( D) B是 A超类的子类 23 在压缩文件流中,用于缓冲阅读器阅读文本的方法是 ( )。 ( A) readLine() ( B) getNextEntry() ( C) bufferRead() ( D) loadZipFile() 24 下面有关 Applet执行的操作说法正确的是 ( )。 :在运行时调用其他程序 :不能进行文件读写操作 :不能装载动态连接库和调用任何本地方法 :试图打开一个 socket进行网络通信,但是所连接的主机并不是提供 Applet的主机 ( A) 、 ( B) 、 ( C) 、 ( D) 、 25 下列各项说法中错误的
11、是 ( )。 ( A)共享数据的所有访问都必须使用 synchronized加锁 ( B)共享数据的访问不一定全部使用 synchronized加锁 ( C)所有的对共享数据的访问都是临界区 ( D)临界区必须使用 synchronized加锁 26 在 Applet生命周期中,下面方法中是在装载 Applet时被调用的是 ( )。 ( A) stop() ( B) init() ( C) start() ( D) destroy() 27 设 a=8,则表达式 a 1的值是 ( A) 1 ( B) 2 ( C) 3 ( D) 4 28 下列关于 Java安全性的说法正确的是 ( A)有严格的
12、访问权限检查 ( B)对程序执行前要检查 ( C)不允许使用指针 ( D)可防止对内存的非法入侵 29 下列常见的系统定义的异常中, ( )是输入、输出异常。 ( A) ClassNotFundException ( B) IOException ( C) FileNotFoundException ( D) UnknownHostException 30 字符串 “a“的长度是 ( )。 ( A) 2 ( B) 3 ( C) 1 ( D) 4 31 执行完语句 int x=new int25;后,则下列 ( )说法是正确的。 ( A) x24值为 0 ( B) x24值未定义 ( C) x2
13、5值为 0 ( D) x0值为空 32 Java提供的类库支持下列哪个协议,使应用程序可通过 URL地址,在网络上的任何地方访问对象时,就跟本机一样 ? ( A) UDP ( B) TCP/IP ( C) IMCP ( D) SMTP 33 下列哪个布局管理器使容器中各个构件呈网格布局,并且平均占据容器的空间 ? ( A) GridLayout ( B) CardLayout ( C) BorderLayout ( D) FlowLayout 34 阅读下列代码段 ByteArrayOutputStream bout=new ByteArrayOutputStream(); ObjectOut
14、putStream out=new ObjectOutputStream(bout); out. writeObject(this); out. close(); 以上代码段的作用是 ( A)将对象写入内存 ( B)将对象写入硬盘 ( C)将对象写入光盘 ( D)将对象写入文件 35 下列关于 Java语言特点的叙述中,错误 的是 ( A) Java是面向过程的编程语言 ( B) Java支持分布式计算 ( C) Java是跨平台的编程语言 ( D) Java支持多线程 36 源程序文档化要求程序应加注释。注释一般分为序言性注释和 _。 37 设栈 S和队列 Q的初始状态为空,元素 e1、 e
15、2、 e3、 e4、 e5和 e6依次通过栈S,一个元素出栈后即进入队列 Q,若 6个元素出队的顺序是 e2、 e4、 e3、 e6、e5、 e1则栈 S的容量至少应是【 】。 38 强行排错法涉及的调试技术主要是【 】和监视表达式。 39 在结构化分 析方法中,用于描述系统中所用到的全部数据和文件的文档称为【 】。 40 计算机软件分为系统软件和应用软件,操作系统属于 _。 41 耦合和内聚是评价模块独立性的两个主要标准,其中 _反映了模块内各成分之间的联系。 42 嵌入 Web页面中的 Applet必须是 _的子类。 43 Swing的顶层容器有: Japplet, JWindow, JD
16、ialog和【 】。 44 Applet与 Application的主要区别在于执行方式上: Application以 main()方法为入口点运行,而 Applet要在【 】或 appletviewer中运行。 45 FileInputStream是字节流, BufferedWriter是字符流, ObjectOutputStream是_。 46 java语言中【 】是所有类的根。 47 希望编写好的 Java程序代码,应遵守命名规则、【 】、为代码分段、适当使用空白行、遵循第 32条规则。 48 下面程序的运行结果是 _。 import java.io.*; public class AB
17、C public static void main(String args) int i; int a=11, 22, 33, 44, 55, 66, 77, 88, 99; for(i=0;i a.length/2; i+) System.out.println(ai+aa.length-i-1+“ “); System.out.println(); 49 在定制 Swing Applet的绘图功能时,不能直接改变相应 Swing构件的 paint( )方法,而应该使用【 】方法。 50 Java语言具有可移植性、高性能、健壮性、安全性和独立于体系结构的【 】特点。 国家二级( JAVA)笔
18、试模拟试卷 208答案与解析 1 【正确答案】 D 【知识模块】 程序设计基础 2 【正确答案】 D 【试题解析】 一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等存储结构。而采用不同的存储结构,其数 据处理的效率是不同的。由此可见,选项 D的说法正确。 3 【正确答案】 B 4 【正确答案】 D 【试题解析】 顺序结构、选择结构和循环结构 (或重复结构 )是结构化程序设计的3种基本结构。 5 【正确答案】 D 6 【正确答案】 D 7 【正确答案】 D 8 【正确答案】 A 【试题解析】 在块和进程的非正常出口处往往需要用 goto语句,使用 g
19、oto语句会使程序的执行效率提高,但它易造成程序的混乱,程序的质量与 goto语句的数量成反比。结构化程序设计的关键是提高程序的清晰性 ,因此在结构化程序设计中使用 goto语句的原则是限制。 9 【正确答案】 8 【试题解析】 本题考查完全二叉树的概念。完全二叉树是指除最后一层外,每一层上的节点数都达到最大值;在最后一层上只缺少右边的若干节点。选项 D中第2层的左边节点没有达到最大值。 10 【正确答案】 B 11 【正确答案】 B 【试题解析】 -a相当于 a=a-1,然后才使用 a, if语句中, a变为 9,条件为真,执行 c=-a/c,a先变为 8,才进行除运算,所以选 B。 12
20、【正确答案】 A 【试题解析】 题目中输出语句位于循环体内,而在 if语句外,所以 a 5时执行输出语句。当 a=5时,退出循环,结束程序的执行。 13 【正确答案】 A 【试题解析】 将一个程序转换成为多个独立运行的子任务,每个子任务就是一个线程。线程是程序的一个执行流,它是一个以 CPU为主体的行为。在 Java中,线程的模型就是一个 CPU、程序代码和数据的封装体。 14 【正确答案】 A 【试题解析】 Applet在客户端运行时,受到安全限制,除了一部分系统信息之外的敏感信息都不可以访问,比如电子邮件地址、文件系统和动态 链接库都不能直接访问。 15 【正确答案】 C 【试题解析】 本
21、题考查 J2SE1.4中的正则表达式。记忆型题目,没有太大难度,考生记住即可 java.util.regex 和 .URL 类相结合,用于网络上的字符输入流的模式字符串搜索中。 16 【正确答案】 A 【试题解析】 本题考查考生对 Java语言概念的理解,属于考试重点内容,历次考试都有相关内容,应该理解这些基本概念。 Java语言是分大小写的,这一点在初学 Java时需要特别注意,这一点与 C语言有所不同, B选项错误;以 /开 始的应该是单行的注释语句,因此选项 C错误。 Java中有三类注释语句:文档注释/*/ ;被 javadoc处理,可以建立类的一个外部说明性文件; C语言注释风格/*
22、/ ,用于去掉当前不再使用但仍想保留的代码等;单行注释 /,格式上要求注释符 /后必须紧跟一个空格,然后才是注释信息。 Java程序源文件名必须和 public类名相同,否则编译出错,因此选项 D错误。只有选项 A说法正确。 17 【正确答案】 D 【试题解析】 本题考查 Java中变量的声明。选项 A虽然按照题目要求定义了 个变量,但没有满足保 持为常数的要求,该变量可以被改变。选项 B没有满足题日要求的 public成员变量;选项 C与 C语言混淆, const是 C语言用来定义常值变量的关键字, Java中定义常值变量使用的是 final 属性,说明该值赋值以后永不改变,所以选项 D为正
23、确答案。 18 【正确答案】 A 19 【正确答案】 B 20 【正确答案】 A 21 【正确答案】 D 【试题解析】 该题考查对自增自减运算符的理解。假如 op是操作数,自增自减运算符有下面几种形式。 +op、 op+,表示对操作数 op加 1,其中, +op表示先对。 p 加 1然后再取其值,而。 op+表示先取其值,然后再对 op进行加 1。 -op、 op-,表示对操作数 op 进行减 1操作,其中, -op 表示先对 op 减 1然后再取其值,而 op-表示先取其值,然后再对 op进行减 1。在本题中,当进行到 i=5时退出循环,此时 j为 6。故本题答案是 D。 22 【正确答案】
24、 B 【试题解析】 定义其他类的类是超类,从某个已有类继承得到的类是子类。本题中, A类基于 B类,因此, A类是子类,而 B类是超类,选项 B正确。 23 【正确答案】 A 【试题解析】 选项 B, getNextEntry()用于取压缩输入项;选项 C, bufferRead()根本就没有这个方法;选项 D, loadZ中 File()将压缩文件加载到文本区中。 24 【正确答案】 A 【试题解析】 Java虚拟机为 Applet提供能够良好运行的沙箱,一旦它们试图离开沙箱则会被禁止。由于小应用程序是通过网络传递的,这就不可避免地使人想到会发生安全问题。例如有人编写恶意程序通过小应用程序读
25、取用户密码并散布到网络上,这将会是一件非常可怕的事情。所以,必须对小应用程序进行限制。浏览器禁止 Applet执行下列操作 。 在运行时调用其他程序。 文件读写操作。 装载动态连接库和调用任何本地方法。 试图打开一个 socket进行网络通信,但是所连接的主机并不是提供 Applet的主机。 25 【正确答案】 B 【试题解析】 共享数据的所有访问一定要作为临界区,用 synchronized 标识,这样保证了所有的对共享数据的操作都通过对象锁的机制进行控制。 26 【正确答案】 B 【试题解析】 在 Java Applet的生命周期中,共有 4种状态和 4个方法: init()、start(
26、)、 stop()和 destroy()。在 Applet装载时,由浏览器或 appletviewer调用 init()方法,通知该 Applet已被加载到浏览器中,使 Applet执行一些基本初始化。 27 【正确答案】 D 【试题解析】 本题考查考生对位运算符中无符号右移运算符的掌握。无符号右移运算符 ,也叫逻辑右移,用于将一个数的各二进制位全部无符号右移若干位,与运算符 不同的是左补 0,而 则是最高位移入原来高位的值。在本题中, 8的二进制表示是 1000,右移两位后变成了 0100,对应的十进制数是 4。可见,正确答案为选项 D。 28 【正确答案】 B 【试题解析】 本题考查 Ja
27、va的安全性特点。面向网络、分布式的 Java语言,对非法入侵的防范是非常重要的, Java语言提供充分的安全保障,在运行程序时,有严格的访问权限检查。对字节代码执行前要检查,不允许使用指针,可防止对内存的非法入侵,它是目前安全性最佳的语言。但是 Java并不是对程序执行前检查,而是对字节代码进行检查, Java编写好的程序首先由编译器转换为标准字节代码,然后由 Java虚拟机去解释执行。 29 【正确答案】 B 30 【正确答案】 B 31 【正确答案】 A 32 【正确答案】 B 【试题解析】 Java语言支持 TCP/IP协议,使应用程序可通过 URL 地址,在网络上的任何地方访问对象时
28、,如同访问本机一样简单。没能很好的理解 Java的分布式计算的特点。 33 【正确答案】 A 【试题解析】 GridLayout布局管理器的特点是使容器中各个构件呈网格布局,平均占据容器的空间。即使容器的大小发生变化,每个构件还是平均占据容器空间、构件在向容器中放置的时候,是按从上到下,从左到右的规则进行的。 34 【正确答案】 D 【试题解析】 ObjectOutputStream将 Java对象的基本数据类型和图形写入OutputStream。 writeObject方法用于将对象写入流中。通过使用流中的文件可以实现对象的持久存储。所以程序片段是将对象写入文件。 35 【正确答案】 A 【
29、试题解析】 Java是新一代编程语言,具有很多特点:简单易学;利用面向对象技术:分布式计算:健壮性 (鲁棒性 );安全性;跨平台 (即体系结构中立 ):可移植性:解释执行;高性能;多线程;动态性。因此,本题的正确答案是 A。 36 【正确答案】 功能性注释 【试题解析】 注释一般分为序言性注释和功能性注释。序言性注释通常位于每个程序的开头部分,它给出程序的整体说明:功能性注释的位置一般嵌在源程序体之中,主要描述其后的语句或程序做什么。 37 【正确答案】 大于 3 【试题解析】 栈的操作原则 “后进先出 ”,队列的操作原则 “先进后出 ”。出队列顺序即为入队列顺序,而入队列顺序也就是出栈顺序是
30、: c2、 e4、 e3、 e6、 e5、 e1,为得到出栈顺序为 e2、 e4、 e3、 e6、 e5、 e1,则入栈操作应为 e1、 e2 进栈, e2 出栈 (进栈后有 e1、 e2,出 栈后仅有 e1)。 e3、 e4 进栈, e4、 e3 出栈 (进栈后有 e1、e3、 e4,出栈后仅有 e1)。 e5、 e6 进栈, e5、 e6、 e1 出栈 (进栈后有 e1、 e5、 e6,出栈后为空 )。 38 【正确答案】 设置断点 【试题解析】 这种调试方法是最常用也是最低效的,主要思想是通过 “计算机找错 ”。例如:通过内存全部打印来调试,在大量数据中寻找出错的位置。在程序特定部位设置
31、打印语句,把打印语句插在出错的源程序的各个关键变量改变部位、重要分支部位、子程序调用部位,跟踪程序的执行,监视重要变量的变化。 39 【正确答 案】 数据字典 【试题解析】 在结构化分析方法中,用于描述系统中所用到的全部数据和文件的文档称为数据字典。 40 【正确答案】 系统软件 41 【正确答案】 内聚 【知识模块】 软件工程基础 42 【正确答案】 java.applet.Applet 【知识模块】 编写小应用程序 (Applet) 43 【正确答案】 JFrame 【试题解析】 javax. swing包中定义了两种类型的构件:顶层容器和轻量级构件。其中顶层容器包括: JFrame、 J
32、Applet、 JDialog和 JWindow。 44 【正确答案】 浏览器 【试题解析】 Applet自身不能运行,必须嵌入在其他应用程序 (如 Web 浏览器或Java appletviewer)中运行。 45 【正确答案】 对象输出流 【试题解析】 本题考查 Java输入输出流的概念。 FileInputStream是字节流, BufferedWriter是字符流, ObjectOutputStream是对象输出流,既继承了OutputStream抽象类,又实现了 ObjectOutput接口,这是 Java 用接口技术 代替双重继承例子,其构造方法参数是串行化了的对象。 46 【正确
33、答案】 object 47 【正确答案】 为代码写文档和注释 【试题解析】 成功编写代码的几点建议:遵守命名规则、为代码写文档和注释、为代码分段、适当使用空白行、遵循第 32条规则。 48 【正确答案】 110 110 110 110 110 49 【正确答案】 【 】 paintComponent( ) 【试题解析】 paintComponent()方法位于 JCpmponent类内,该方法与 paint()方法类似,也 需要一个 Graphics类的实例为参数。在 Swing中通常使用paintComponent()方法而不是使用 pain()方法绘图,这是因为 JCpmponent类的Paint()方法要执行大量复杂的行为 (比如图像缓冲 ),如果重写了这个方法,会发生冲突,导致程序不能正常运行。 50 【正确答案】 跨平台 【试题解析】 本题考查 Java语言的特点。关于这个知识点的考查,历次考试都有相关内容,务必牢记。 Java语言具有可移植性、高性能、健壮性、安全性和独立于体系结构的跨平台特点。同时 Java语言还具有简单 易学、利用面向对象技术、分布式计算、解释执行、多线程、动态性等特点。