1、国家二级( JAVA)笔试模拟试卷 193及答案与解析 1 在计算机中,算法是指 ( )。 ( A)查询方法 ( B)加工方法 ( C)解题方案的准确而完整的描述 ( D)排序方法 2 在结构化方法中,软件功能分解属于下列软件开发中的 ( )阶段。 ( A)详细设计 ( B)需求分析 ( C)总体设计 ( D)编程调试 3 如果进栈序列为 e1、 e2、 e3、 e4、 e5,则可能的出栈序列是 ( )。 ( A) e3、 e1、 e4、 e2、 e5 ( B) e5、 e2、 e4、 e3、 e1 ( C) e3、 e4、 e1、 e2、 e5 ( D)任意顺序 4 下列数据结构中,能够按照
2、 “先进后出 ”原则存取数据的是 ( A)循环队列 ( B)栈 ( C)队列 ( D)二叉树 5 构造方法名必须与 ()相同,它没有返回值,用户不能直接调用它,只能通过 new调用。 ( A)类名 ( B)对象名 ( C)包名 ( D)变量名 6 一个栈的入栈序列是 1, 2, 3, , n,其输出序列为 P1, P2, P3, , Pn,若p1=n,则 Pi为 ( )。 ( A) i ( B) n-i ( C) n-i+1 ( D)不 确定 7 下列工具中为需求分析常用工具的是 ( ) ( A) PAD ( B) PFD ( C) N-S ( D) DFD 8 下列关于链式存储的叙述中错误的
3、是 ( )。 ( A)链式存储结构的空间可以是不连续的 ( B)数据节点的存储顺序与数据元素之间的逻辑关系可以不一致 ( C)链式存储只可用于线性结构 ( D)链式存储也可用于非线性结构 9 在进行单元测试时,常用的方法是 ( )。 ( A)采用白盒测试,辅之以黑盒测试 ( B)采用黑盒测试,辅之以白盒测试 ( C)只使用白盒测 试 ( D)只使用黑盒测试 10 在数据库系统阶段,数据 ( )。 ( A)具有物理独立性,没有逻辑独立性 ( B)具有逻辑独立性,没有物理独立性 ( C)物理独立性和逻辑独立性较差 ( D)具有较高的物理独立性和逻辑独立性 11 对于下面一段代码的描述中,正确的是
4、_。 public class ex36 public static void run main(String args) throws Excepion method(); static void method() throws Exception try System.out.println(“test“); finally System.out.println (“finally“); ( A)代码编译成功,输出 “test”和 “fmally” ( B)代码编译成功,输出 “test” ( C)代码实现选项 A中的功能,之后 Java停止程序运行,抛出异常,但是不进行处理 ( D)代码
5、不能编译 12 下列 A1pplet实现在键盘上输入一个字符串,然后将该字符 串照原样显示在屏幕上。请选择正确的语句填入横线处。 import java.awt.*; import java.applet.*; public class ex28 extends Applet Label 11, 12; TextField tf; public void init() setLayout (new GridLayout(3, 1); 11 = new Label(“请输入一个字符串 :“); 12 = new Label(“);. tf = new TextField(15); add(11)
6、; add(tf); add(12); setSize(150, 100); public boolean action(Event e, Object o) if(e.target = tf) repaint (); return true; ( A) 12.setText(11.getText(); ( B) 11.setText(12.getText(); ( C) 11.setText(tf, getText(); ( D) 12.setText(tf.getText(); 13 下列 _不属于 URL资源名中包含的内容。 ( A)传输协议名 ( B)文件名 ( C)端口号 ( D)主
7、机名 14 在利用 JDBC连接数据库时,为建立实际的网络连接,不必传递的参数是( )。 ( A)数据库用户名 ( B) IP ( C) URL ( D)密码 15 下面代码的运行结果是 ( )。 public class ConcatTest public static void main (String args) String str1 = “abc“; String str2 = “ABC“; String str3 = str1. coneat(str2); System. out. println(str3); ( A) abc ( B) ABC ( C) abcABC ( D)
8、ABCabc 16 顺序执行下列程序语句后,则 b的值是 String a=“Hello“; String b=a.substring(0, 2); ( A) Hello ( B) hello ( C) He ( D) null 17 查找随机文件的记录时,应使用的方法是 ( A) readInt() ( B) readBytes(int n) ( C) seek(long l) ( D) readDouble() 18 保证 Java语言可移植性的特征是 ( A)面向对象 ( B)安全性 ( C)分布式计算 ( D)可跨平台 19 下列各选项中属于 Java保留字的是 ( )。 ( A) T
9、RUE ( B) NULL ( C) FALSE ( D) null 20 阅读下面程序 1public class Try extends Thread 2public static void main(String args) 3Tryt=new Try(); 4t.start(); 5 6 7publicvoidrun(intj) 8inti=0; 9while(i 5) 10System.out.println(“祝你成功 !“); 11 i+; 12 13 14 该程序要求打印 5行 “祝你成功 !”,必须改正程序中的某行代码,程序才能完成。选择正确的修改是 ( )。 ( A)将第
10、1行的 extendsThread改为 implementsRunnable ( B)将第 3行的 newTry()改为 newThread() ( C)将第 4行 t.start()改为 start(t) ( D)将第 7行的 publicvoidmn(intj)改为 publicVoidmn() 21 类是一个特殊类,它是一个 final 类,此类不能实例化,它主要提供了标准输入/输出和系 统环境信息的访问、设置。 ( A) Class ( B) Object ( C) System ( D) String 22 获取一个不包含路径的文件名的方法为 ( )。 ( A) String gct
11、Name(): ( B) String getPath(): ( C) StringgetAbslutePath(); ( D) StringgetParent(): 23 抛出异常、生成异常对象都通过下列哪 个语句实现 ? ( ) ( A) throws ( B) throw ( C) Throwable ( D) Exception 24 Bitset这个类实际是由 ( )构成的一个 Vector。 ( A)二进制位 ( B)字符串 ( C) Object类 ( D)整数型 25 阅读下列代码段,选出该代码段的正确的文件名 ( )class A void methodl() System.
12、out.println(“methodl in class A“); public class B void method2() System.out.println(“method2 in class B“); public static void main(String args) System.out.println(“main()in class B“); ( A) A.java ( B) A.class ( C) B.class ( D) B.java 26 下列描述中不正确的一项是 ( ) ( A) import语句告诉 Java用户需要哪个包 (package)中的类 ( B)所
13、有的类必须实例化,才能调用它的数据成员和方法 ( C) package语句用于将源文件存入所指定的包中 ( D) System类不可能实例化,它的所有方法都是通过类变量来调用的 27 下列对字符数组进行初始化的语句正确的是 ( )。 ( A) char a=“Hello“; ( B) char a=H,e,l,l,o; ( C) char a5=“Hello“; ( D) char a25=“Hello“,“World“; 28 若要查询关于数据库的信息则可以调用下列哪一个方法 ? ( ) ( A) Connection类的 getMetaData()方法 ( B) DriverManager
14、类的 getConnection()方法 ( C) Connection类的 createStatement()方法 ( D) Statement类的 executeQuery()方法 29 下列操作中是 Applet可以做的是 ( )。 ( A)读取客户端部分系统变量 ( B)读取客户端文件 ( C)在客户端主机上创建新文件 ( D)在客户端装载程序库 30 数组 arr经过下面的操作后结果为 ( )。 int arr=1, 2, 3; for (int i=0; i 2; i+) arri = 0; ( A) arr0=0 ( B) arr0=1 ( C) arr1=1 ( D) arr2
15、=0 31 关于下面语句的说法正确的是 Strings=new String10; ( A)该语句不合 法 ( B)该语句定义了一个二维数组,它包括 10行 10列 ( C) s是一个包含 10个数组的数组 ( D) s中的每一个元素都被设置成 “ 32 下列 ( )数代表十六进制整数。 ( A) 0123 ( B) 1900 ( C) fa00 ( D) 0xa2 33 下列 ( )类是山编译器自动生成对象的特殊类,适用于类操作。 ( A) System ( B) Class ( C) Thrad ( D) Object 34 下列哪些内容是异常的含义 ? ( A)程序的语法错 ( B)程序
16、在编译和运行中所发生的异 常事件 ( C)程序预先定义好的异常事件 ( D)程序编译错误 35 阅读下面程序 public class Test3 public static void main(String args) int x=3, y=4, z=5; String s=“xyz“; System.out.primln(s+x+y+z); 程序运行的结果是 ( A) xyzl2 ( B) xyz345 ( C) xyzxyz ( D) 12xyz 36 一个队列的初始状态为空。现将元素 A、 B、 C、 D、 E、 F、 5、 4、 3、 2、 1依次入队,然后依次退队,则元素退队的顺序
17、为 _。 37 在程序设计阶段应该采取【 】和逐步求精的方法,把一个模块的功能逐步分解,细化为一系列具体的步骤,进而用某种程序设计语言写成程序。 38 在调用一个函数的过程中可以直接或间接地调用该函数,这种调用称为【 】调用,该函数称为【 】函数。 39 【 】是按照程序语句行的自然顺序,依次执行语句。 40 关键字 ASC和 DESC分别表示【 】的含义。 41 在一个 for循环的循环体中可以包含另一个 for循环,实现 for循环的【 】。 42 Java中线程的【 】是由 Java .lang.Thread 类的 run()方法定义的。 43 在自定义 Swing构件的时候,首先要确定
18、使用哪种构件类作为所定制构件的【 】,建议继承 JPanel类或更具体的 Swing构件类。 44 按位与运算: 01010101&00101111=【 】。 45 Applet生命周期是指从 Applet【 】到浏览器,到用户退出浏览器,终止 Applet运行的过程。 46 InputStreamReader 类是以字节输入流作为数据源的【 】。 47 查询数据库的标准步骤是:载入 JDBC驱动器、定义连接的网址 URL、建立连接、【 】、执行查询或更新、处理结果、关闭连接。 48 _日历类提供日期和时间的表示,它以格里历 (即阳历 )来计算。 49 Java的体系结构中,最下层是移植接口,
19、上面一层是虚拟机,虚拟机的上层是_和基本 API,它们都具有可扩展性。 50 当使用 Thread t=new Thread(r)创建一个线程时,表达式: rinstanceof Thread的值是【 】。 国家二级( JAVA)笔试模拟试卷 193答案与解析 1 【正确答案】 C 【试题解析】 计算机算法是指解题方案的准确而完整的描述,它具有的基本特征有:可行性、确定性、有穷性和拥有足够的情报。 2 【正确答案】 C 【试题解析】 总体设计过程通常由两个主要阶段组成:系统设计,确定系统的具体实现方案;结构设计,确定软件结构。为确 定软件结构,首先需要从实现角度把复杂的功能进一步分解。分析员结
20、合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能。 3 【正确答案】 B 【试题解析】 根据栈先进后出的特点可知 e1 肯定是最后出栈的,因此正确答案为选项 B。 4 【正确答案】 B 【试题解析】 栈是限定只在一端进行插入与删除的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。栈顶元素总是后被插入的元素,也是最先被删除的元素;栈底元素总是最先被插入的元素,也 是最后才能被删除的元素。栈是按照 “先进后出 ”或 “后进先出 ”的原则组织数据的。 5 【正确答案】 A 【试题解析】 构造方法是类中的一种特殊方法,是为对象初始
21、化操作编写的方法,用它来定义对象的初始状态。构造方法名必须与类名相同,它没有返回值,用户不能直接调用它,只能通过 new 自动调用。 6 【正确答案】 C 【试题解析】 栈是先进后出的线性表。 p1=n,即 n是最先出栈的,根据栈的运算原理, n必定是最后入栈的,那么输入顺序必定是 1, 2, 3, , n,则出栈的序列是 n, n-1, n-2, , 1, 所以答案是 C。 7 【正确答案】 D 【试题解析】 常见的需求分析方法有:结构化分析方法和面向对象的分析方法。结构化分析的常用工具有:数据流图 (DFD) 、数据字典 (DD) 、判定树和判定表等。 8 【正确答案】 C 【试题解析】
22、链式存储结构不同于顺序存储结构,它的存储空间可以是不连续的,并且数据节点的存储顺序与数据元素之间的逻辑关系可以不一致。数据元素之间的逻辑关系是由指针域来确定的。链式存储方式可用于线性结构,也可用于非线性结构,在表示复杂的非线性结构时,指针域的个数要多一些 。 9 【正确答案】 A 【试题解析】 本题考核软件测试方法的应用。白盒测试是测试程序内部的逻辑结构及有关信息,黑盒测试只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。从程序内部的逻辑结构对系统进行测试才是测试的根本,即比较深层次的测试,更容易发现和解决程序中的问题,因此单元测试时应以白盒测试为主,而黑盒测试只能作辅助。 10
23、 【正确答案】 D 11 【正确答案】 A 【知识模块】 Java语言的基本语句 12 【正确答案】 D 【知识模块】 编写小应用程序 (Applet) 13 【正确答案】 A 【知识模块】 Java的应用 14 【正确答案】 B 【试题解析】 为建立实际的网络连接,把 URL、数据库用户名、密码传递给DriverManager类的 getConneetion()方法,交由服务器判断用户的合法性和网络地址,建立连接。 15 【正确答案】 C 【试题解析】 String类的 concat方法原型为 public String concat (String str),其功能是将指定字符串连到此字符
24、串的末尾。如果参数字符串 的长度为 0,则返回此String对象。否则,创建一个新的 String 对象,用来表示由此 String对象表示的字符序列和由参数字符串表示的字符序列串联而成的字符序列。所以本题中的结果为 str1和 str2串联而成的字符序列,即 “abcABC”。 16 【正确答案】 C 【试题解析】 substring()方法是用来提取子字符串的,此题是提取字符串 a的第0个到第 2个字符组成新的字符串: He。 17 【正确答案】 C 【试题解析】 本题考查随机文件流的相关方法。 RandomAccessFile中 主要包含的方法有: length()方法用来求随机文件的字
25、节长度; seek(long pos)方法用来对随机文件记录的查找,所以选项 C正确; close()方法用来将随机文件资源关闭;readDouble()是对随机文件浮点数的读取; readInt()是对随机文件整数的读取;readChar()是对随机文件字符变量的读取; skipBytes(int n)是随机文件字节的读取。 18 【正确答案】 D 【试题解析】 本题考查 Java语言的特点。 Java语言的特点是考试重点,务必掌握。跨平台的特点保证 了 Java语言的可移植性,同时, Java的类库也具有可移植性。 Java本身的编译器也用 Java语言编写,运行系统的虚拟机用 C语言实现
26、,这样, Java系统本身也具有可移植性。 19 【正确答案】 D 【试题解析】 在 Java中,常量 null、 false、 true都是小写的;所以 A、 B 和 C选项中的字符串都不是 Java的保留字。 20 【正确答案】 D 【试题解析】 本题考查线程的创建。 Java语言中提供两种创建线程的方法,一种是通过实现 Runnable接口来创建线程,另厂种是通过继承 Thread 类创建线程。显然,题目中的程序是使用第二种方法来创建线程。 Thread 类中定义了 run0方法,所以通过继承 Thread 类来创建线程时还要重写 Thread 类中的 run()方法。而 run()方法
27、的定义如下: publicvoidrun() 题目中的代码比较简单,就是创建了一个线程,这个线程完成的操作就是打印 5行 “祝你成功 ”。仔细阅读程序,不难发现第 7行有错。在 rim()方法的定义中是没有参数的,而题目程序中的 run方法却带有一个参数。因此,要把第 7行的代码改为 “public voidmn()”。因此 ,本题的正确答案是 D。 21 【正确答案】 C 22 【正确答案】 A 23 【正确答案】 B 【试题解析】 在捕获一个异常之前,必须先有异常抛出,才能生成一个异常对象,这就是用抛出异常来实现的。抛出异常、生成异常对象都通过 throw 语句实现,如 IOExcepti
28、on e=new IOException; throw e;利用 throw语句还可以自定义异常类抛出。 24 【正确答案】 A 【试题解析】 本题主要考查 Bitset类。选项 A正确;选项 B、 C、 D错误, Bitset类这个类 实际是由 “二进制位 ”构成的一个 Vector,并不是由字符串构成的一个Vector。 25 【正确答案】 D 【试题解析】 该题考查文件的命名问题。源代码的文件名必须同工友类的名字相同,且必须以 java作为扩展名,注意文件名的大小写要一致。本题中,首先应该找 main,它是在 class B 中,所以文件名应为 B.java。选项 D正确。 26 【正确
29、答案】 B 【试题解析】 import 语句就是引入程序中用到的包中的类,选项 A正确;并非所有的类必须实例化后才能调用它的数据成员和方法,抽象类不 能被实例化,所以选项 B 错误; package语句用于指明将源文件存入哪个包中,选项 C正确;System类是一个 final类,即不能被实例化,它的所有方法都是通过类变量来调用的,选项 D正确。 27 【正确答案】 A 【试题解析】 本题考查对字符数组的初始化。 A选项中,数组 a在定义后紧跟初始化的情况下可省略数组长度,其最终数组长度由所赋字符串常量的长度给定, A选项是正确; B 选项中, a是一个二维数组,二维数组也能在定义时被初始化。
30、如果对全部元素都赋初值,则定义数组时第 1维的大小可以省略,但第 2维的大小不 能省略,故 B 选项是错误; C选项和 D选项都忽略了字符串的大小要比字符串中的字符数多 1这一点,造成了数组的越界。故本题答案是 A。 28 【正确答案】 A 【试题解析】 选项 B的方法返回的是 Connection 类的实例,选项 C的方法返回的是 Statement类的实例,选项 D的方法返回的是 ResultSet类的实例,只有选项A返回的是 Database MetaData类的实例,该类包含了数据库本身的信息。 29 【正确答案】 B 【试题解析】 处于安全机制的 Applet小程序不能完成下列任务:
31、读 写用户的文件系统;与提供包含小程序的网页的站点之外的 Internet站点联系;在阅读者的系统上运行任何程序;加载存储在用户系统上的程序,例如可执行程序和共享库。但是可以读取客户端文件。 30 【正确答案】 A 【试题解析】 本题考查对数组定义和初始化的理解。本题中,定义了整型数组arr,并且在定义的时候就将之初始化了,然后在 for语句里再将之重新赋值,但是 for语句只对数组中的第 1和第 2个元素赋值为 0,第 3个元素则没有赋值。所以语句运行完之后,应该是 arr0和 arr1为 0,而 arr2为 3。 31 【正确答案】 C 【试题解析】 本题考查多维数组的定义。 Java中没
32、有多维数组这种数据结构,只有一维数组,在 Java中实现的所谓的多维数组,实际上是由一维数组 “焊接 ”而成的 “数组的数组 ”。也就是说,某个一维数组的元素是另一个一维数组则称之为二维数组,依次类推,一维数组的多次嵌套定义,构成了多维数组。由此可见,题目中语句 s是一个包含 10个数组的数组,对每个元素都赋 null值,选项 C说法正确。 32 【正确答案】 D 33 【正确答案】 B 34 【正确答案】 B 【试题 解析】 通常的异常是指 Throwable 中的子类 Exception,而不包括它的另一子类 Error。在 Exoeplion 类中,包含了程序的编译和运行中所发生的异常事
33、件。 35 【正确答案】 B 【试题解析】 本题考查运算符的用法。 Java对 “+”运算符进行了扩展,使得它能进行字符串的连接。不仅如此,通过 “+”运算符还能够将字符串和其他类型的数据进行连接,其结果是字符串,例如 “abc”+23得到字符串 “abc23”。一般说来,如果“+”运算符的第 个操作数是字符串,则 Java系统会自动将后续的操作数 类型转换为字符串类型,然后再进行连接;如果 “+”运算符的第一个操作数不是字符串,则运算结果由后续的操作数决定。题目中生成了 x、 y、 z三个整型变量和一个字符串变量 s,然后输出表达式 s+x+y+z的结果。由于第一个操作数是字符串,因此自动将
34、后续整型数 x、 y、 z转换为字符串,然后进行连接,结果为 xyz345。 因此,本题的正确答案是选项 B。 36 【正确答案】 A、 B、 C、 D、 E、 5、 4、 3、 2、 1 【试题解析】 队列是先进先出的线性表,即入队的顺序就是退队的顺序。 37 【正确答案】 自顶向下 38 【正确答案】 递归,递归 39 【正确答案】 顺序执行 【试题解析】 结构化程序设计语言仅仅使用顺序、选择和循环 3种基本结构,其中顺序结构是最基本、最常用的结构,它采用顺序执行的结构,即按照程序语句行的自然顺序,依次执行语句。 40 【正确答案】 【 】升序排列和降序排列 【试题解析】 ASC表示升序排
35、列, DESC表示降序排列,多用在索引定义和SELECT语句中的 ORDER子句中。 41 【正确答案】 嵌套 【试题解析】 通过循环和分支的嵌套,程序可以实现很多复杂的算 法,除了 for循环外,还可以是其他的循环语句或者分支语句。 42 【正确答案】 re eof 43 【正确答案】 父类 【试题解析】 Swing构件定义的规则。 44 【正确答案】 00000101 【试题解析】 按位与运算的规则是:两个都是 1结果为 1,否则是 0,所以本题的结果是 00000101。 45 【正确答案】 下载 【试题解析】 Applet程序的生命周期是从浏览器调用 init()方法,即在装载Appl
36、et时被调用开始,到关闭浏览器时调用 destroy(),彻底终止 Applet,从内存中卸载并释放 Applet的所有资源。 46 【正确答案】 字符输入流 【试题解析】 InputStreamReader 类是从字节流到字符流的桥梁:它读入字节,并根据指定的编码方式,将之转换为字符流。 47 【正确答案】 建立声明对象 【试题解析】 本题考查查询数据库的 7个标准步骤,除了题目所列的 6点之外,在建立连接之后,执行查询或更新之前要进行声明对象的操作,以使建立的对象用于向数据库发送查询和命令。 48 【正确答案】 GregorianCalendar 49 【正确答案】 Java基本类 50 【正确答案】 false 【试题解析】 本题考查 instanceof 的概念。 instanceof 是 Java 的一个二元操作符,是 Java的保留关键字。它的作用是查看它左边的对象是否它右边的类的实例,返回 boolean 类型的数据。题目中 r并非 Thread 的实例,所以返回 false。