1、国家二级( JAVA)笔试模拟试卷 211及答案与解析 1 下列命令中, _是类文件解析器。 ( A) jar ( B) javap ( C) javah ( D) javadoc 2 下列数据结构中,能用二分法进行查找的是 ( A)顺序存储的有序线性表 ( B)线性链表 ( C)二叉链表 ( D)有序线性链表 3 在数据库系统阶段,数据 ( )。 ( A)具有物理独立性,没有逻辑独立性 ( B)具有逻辑独立性,没有物理独立性 ( C)物理独立性和逻辑独立性较差 ( D)具有较高的物理 独立性和逻辑独立性 4 下面数据结构中,属于非线性的是 ( )。 ( A)线性表 ( B)树 ( C)队列
2、( D)堆栈 5 按照 “先进先出 ”原则组织数据的数据结构是 ( )。 ( A)队列 ( B)栈 ( C)双向链表 ( D)二叉树 6 下面描述中,符合结构化程序设计风格的是 ( )。 ( A)使用顺序、选择和重复 (循环 )3种基本控制结构表示程序的控制逻辑 ( B)模块只有一个入口,可以有多个出口 ( C)注重提高程序的执行效率 ( D)不使用 GOTO语句 7 链表不具有的特 点是 ( ) ( A)不必事先估计存储空间 ( B)可随机访问任一元素 ( C)插入删除不需要移动元素 ( D)所需空间与线性表长度成正比 8 若某二叉树的前序遍历访问顺序是 abdscefh,中序遍历访问顺序是
3、 dgbaechf,则其后序遍历的结点访问顺序是 ( A) bdgcefha ( B) gdbecfha ( C) bdgaechf ( D) gdbehfca 9 应用数据库的主要目的是 ( A)解决数据保密问题 ( B)解决数据完整性问题 ( C)解决数据共享问题 ( D)解决 数据量大的问题 10 在 E-R图中,用来表示实体联系的图形是 ( )。 ( A)椭圆图 ( B)矩形 ( C)菱形 ( D)三角形 11 下列关于内部类的说法不正确的是 ( )。 ( A)内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用 ( B)内部类可以使用它所在类的静态成员变量和实例成员变量 (
4、C)内部类不可以用 abstract修饰符定义为抽象类 ( D)内部类可作为其他类的成员,而且可访问它所在类的成员 12 下列关于组合框的描述中不正确的是 ( )。 ( A)默认情况 下,只能从组合框中选择 ( B)组合框也可让用户自行输入 ( C)组合框不可以选择多项 ( D)使用 getSelectedIndex()方法可以获得用户选择的内容 13 编译一个定义了 3个类和 10个方法的 Java源文件后,生成的是 ( )。 ( A) 13个字节码文件,文件扩展名是 .class ( B) 1个字节码文件,文件扩展名是 .class ( C) 3个字节码文件,文件扩展名是 .java (
5、D) 3个字节码文件,文件扩展名是 .class 14 一个循环一般应包括哪几部分内容 ?( ) ( A)以下答 案都包括 ( B)循环体部分 ( C)初始化部分 ( D)迭代部分和终止部分 15 下列不是 InputStream子类的是 ( )。 ( A) FileInputStream ( B) ByteArrayInputStream ( C) File ( D) FiherInputStream 16 在读字符文件 emplyee.dat时,使用该文件作为参数的类是 ( )。 ( A) BufferReader ( B) DataInputStream ( C) DataOutputS
6、tream ( D) FileInputStream 17 当浏览器重新返回 Applet所在页面时,将调用 Applet类的方法是 ( A) start() ( B) init() ( C) stop() ( D) destroy() 18 下列说法中,哪一项是正确的 ? ( A)子类拥有的成员数目大于等于父类拥有的成员数目 ( B)父类代表的对象范围比子类广 ( C)子类要调用父类的方法,必须使用 super关键字 ( D)一个 Java类可以有多个父类 19 在创建线程时可以显示地指定线程组,此时可供选择的线程构造方法有 ( )种。 pubicTbread(ThreadGroupgrou
7、p,Rurmabletarget): publicThread(ThreadGroupgroup,Stringname); publicThread(ThreadGroupgroup,Runnabletarget,Stringname)。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 20 自定义异常类时,可能通过对下列 ( )项进行继承。 ( A) Error类 ( B) Applet类 ( C) Exception类及其子类 ( D) AssertionError类 21 Java的数据类型必须 ( )后才能使用。 ( A)实例化 ( B)格式化 ( C)标准化 ( D)合法化
8、22 在 OutputStream类的常用方法中 ( )是清空输出流的方法。 ( A) flush() ( B) close() ( C) write(int b) ( D) write(byte b) 23 在匹配器 (Marcher)类中,用于寻找下一个模式匹配串的方法是 ( )。 ( A) static boolean matches() ( B) boolean matcher.find() ( C) int matcher.start() ( D) int matcher.end() 24 在 Java中,子类重新定义一个与从父类那里继承来的域变量完全相同的变量,这称为域的 ( )。
9、 ( A)隐藏 ( B)覆盖 ( C)重载 ( D) Java不支持此特性 25 当一个应用程序的所有非守护线程终止运行时,但仍然有守护线程在运行,应用程序将 ( )。 ( A)运行 ( B)阻塞 ( C)终止 ( D)休眠 26 已知有下面的类说明: pubic class Test4 private float f=0f; int m=12; static int n=1; public static void main(String args) Test4 e=new Test4(); 在 main()方法中,下面 ( )使用是正确的。 ( A) e.f ( B) this.n ( C)
10、 Test4.m ( D) Test4.f 27 若所有变量都已正确定义,则在以下选项中,非法的表达式是 ( )。 ( A) a!=4b=1 ( B) a%3 ( C) a1/2 ( D) a+32 28 调用线程的下列方法,不会改变该线程在生命周期中状态的方法是 ( )。 ( A) yeild() ( B) wait() ( C) sleep() ( D) isAlive() 29 卖现下列哪个接口可以对 TextField对象的事件进行监听和处理 ? ( ) ( A) ActionListener ( B) FocusListener ( C) MouseMotionListener (
11、D) WindowListener 30 下列各项中不属于 AWT提供的图形图像工具的是 ( )。 ( A)形状 ( B)按钮 ( C)颜色 ( D)字体 31 给定下面的代码: byte array1,array2; byte array3 ; byte array4; 如果上面的每一个数组都初始化了,以下各项语句中错误的是 ( )。 ( A) array2 =array1 ( B) array2=array3 ( C) array2=array4 ( D) both A and B 32 以下选项中, ( )是合法的字符常量。 ( A) N ( B) 010 ( C) 68 ( D) d
12、33 编译下面源程序会得到 文件。 class A1 class A2 public class B public static void main(String args) ( A)只有 B.class文件 ( B)只有 A1 class和 A2 class文件 ( C)有 A1 class、 A2 class和 B.class文件 ( D)编译不成功 34 和 AWT有关的所有事件类都是从类 ( )派生而来。 ( A) java.awt.AWTEvem ( B) java.lang.Object ( C) java.awt.Font ( D) java.awt.Graphics 35 请阅
13、读下面程序 import java.io.*; public class ExceptionCatch public static void main(String args) try FilelnputStream fis=new FilelnputStream(“text“); System.out.println(“content of text is:“); catch(FileNotFoundException e) System.out.println(e); System.out.println(“message:“+e.getMessageO); e.printStackTra
14、ce(System.out); _ System.out.println(e); 为保证程序正确运行,程序中下划线处的语句应是 ( A) catch(FilelnputStream fis) ( B) e.printStackTrace() ( C) catch(IOException e) ( D) System.out.println(e) 36 mouseDragged()方法是 MouseMotionListener接口中的抽象方法,该方法的参数是 _类。 37 人员基本信息一般包括:身份证号、姓名、性别、年龄等。其中可以作为主关键字的是 _。 38 软件设计模块化的目的是工【 】。
15、39 任何非空树中有且仅有 个结点没有前驱结点,该结点就是树的【 】 。 40 【 】是当前软件开发环境中富有特色的研究工作和发展方向。 41 向文件对象写入字节数据应该使用 _类,而向一个文件里写入文本应该使用 FileWriter类。 42 Java语言中,临界区用【 】关键字标识。 43 StringBuffer类的默认构造方法为字符串分配【 】个字符的缓存。 44 当方法有返回值时,必须在该方法体内使用【 】语句。 45 下面程序的运行结果是【 】。 import java. io. * ; public class ABC public static void main( Strin
16、g args ) int i; int a = 11, 22, 33, 44, 55, 66, 77, 88, 99 ; for( i = 0 ;i = a. length/2; i+) System. out. print( ai + aa. length - i - 1 +“ “); System. out. println( ); 46 Java语言中如果要使用某个包中的类时,需要使用 _导入。 47 关于文件名的处理中,测试当前文件是否目录用 _函数。 48 Java中访问限定符有【 】、 protected、 private和 default等。 49 一个 applet标记中,必须
17、出现的属性项有【 】、 WIDTH、 HEIGHT。 50 下面这段程序是基于 AWT的 Applet用户界面,请根据提示在程序中的画线处填入正确的语句使程序能够正确运行。 import java.applet.Applet; import java.awt.TextField; public class AwtSimple extends Applet TextField field; public void init() field = new TextField();/创建一个文本域并设置为不可编辑 field.setEditable(false); 【 】 /设置布局管理器,使得文本域
18、中可以显示任意长度的文件 add(fielD) ; validate(); addItem(“初始化 .“); public void start() addItem(“启动 .“); public void stop () addItem(“停止 “.); public void destroy() addItem (“准备卸载 .“); void addItem(String newWorD) String t = field.getText(); System.out.println(newWorD) ; field.setText(t + newWorD) ; 国家二级( JAVA)笔
19、试模拟试卷 211答案与解析 1 【正确答案】 B 【知识模块】 J2SDK的下载和操作 2 【正确答案】 A 3 【正确答案】 D 4 【正确答案】 B 5 【正确答案】 A 6 【正确答案】 A 【试题解析】 应该选择只有一个入口和一个出口的模块,故 B选项错误;首先要保证程序正确,然后才要求提高效率,故 C选项错误:严格控制使用 goto语句,必要时可以使用,故 D选项错误。 7 【正确答案】 B 8 【正确答案】 D 【试题解析】 前序遍历的第一个结点 a为树的根结点;中序遍历中 a的左边的结点为 a的左子树, a右边的结点为 a的右子树;再分别对 a的左右子树进行上述两步处理,直到每
20、个结点都找到正确的位置。 9 【正确答案】 C 【试题解析】 数据库中的数据具有 “集成 ”与 “共享 ”的特点,亦即是数据库集中了各种应用的数据,进行统一构造与存储,而使它们可以被不同应用程序所使用,故选项 C正确。 10 【正确答案】 C 【试题解析】 E-R图也即实体 联系图 (EntityRelationshipDiagram),提供了表示实体型、属性和联系的方法,用来描述现实世界的概念模型,构成 E-R图的基本要素是实体型、属性和联系,其表示方法为:实体型 (Entity):用矩形表示,矩形框内写明实体名;属性 (Attribute):用椭圆形表示, 并用无向边将其与相应的实体连接起
21、来;联系 (Relationship):用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型 (1:1, 1:n或 m:n): 11 【正确答案】 C 【试题解析】 内部类是在一个类的内部嵌套定义的类。与普通类一样,内部类也具有自己的成员变量和方法,也可用 abstract 修饰符定义为抽象类。 12 【正确答案】 D 【试题解析】 使用 getSeleetedIndex( )方法获得的是用户所选条目的索引而不是其内容。 13 【正确答案】 D 【试题解析】 Java程序的源文件扩展名是 .java。在编译源文件之后,产生的是字节码文件,其扩展名为 .
22、class。而对于源文件中定义的每一个类都会有一个字节码文件与之对应,并且扩展名均为 .class。这里有 3个类,因此有 3个字节码文件,正确答案为 D。 14 【正确答案】 A 【试题解析】 循环语句的作用是反复执行一段代码,直到满足终止循环的条件为止。一个循环语句应该包括四部分内容:初始化部分,用于设置循环的初始化条件,如计数器清零;循环体部分,是反复执行的一段代码; 迭代部分,就是在当前结束、下一次循环开始前执行的语句;终止部分,通常是一个布尔表达式,每一次循环都计算该表达式的值,以验证是否结束循环。 15 【正确答案】 C 【试题解析】 File类是 java.io包中的非流类,它以
23、系统无关的方式描述文件对象的属性。字节输入流均为 InputStream的子类,典型的有:ByteArrayInputStream、 FilelnputStream、 FilterInputStream、 PipeInputStream等。 16 【正确答案】 D 【试题解析】 字节输入流继承自 InputSteam类,并且使用 DataInputStream实现 DataInput接口。编程时的步骤如下:字节数据的来源 (二进制文件 )作为FileInputStream的构造方法的参数,实例化一个 FileInputStream 对象;FileInputStream对象作为 DataInpu
24、tStream的构造方法的参数;然后就可以使用InputStream类中的方法,进行字节输入流的操作。 17 【正确答案】 A 【试题解析】 本题考查 Applet的运行方式。当 init()方法完成 后,将调用 start()方法,使 Applet成为激活状态。该方法在 Applet每次显示时都要调用。例如浏览器由最小化复原,或浏览器从一个 URL 返回该 Applet所在的页面,一般常在 start()中启动动画或播放声音等的线程。 18 【正确答案】 B 【试题解析】 对一个类的继承也就是构建了一个子类,子类继承了父类的方法和状态,同时还可以向新类中增添新的方法和状态。重点掌握两点:子类
25、方法的访问权限比父类访问权限高,因此父类不能替代子类,但子类能够代替父类,子类方法不能产生比父类更多的异常。子类拥有 的成员数目小于等于父类拥有的成员数目,选项 A说法错误;父类代表的对象范围比子类广,选项 B说法正确:子类要调用父类的方法,可以使用 super关键字,也可以将父类的方法进行重写,选项C说法错误。在 Java中一个类只能有一个父类,选项 D说法错误。 19 【正确答案】 C 【试题解析】 线程组是由 java.lang包中的 ThreadGroup 类实现的。在创建线程时可以显式地指定线程组,此时需要从如下 3种线程构造方法中选择一种: 20 【正确答案】 C 【试题解析】 选
26、项 A中的 Error类是与 Exception 类平行的一个类,这两个类都是继承了 Throwable 类的,它主要处理一些不能由 try和 catch 子句捕获的异常,例如 ThreadDeath 异常,虽然是一种常见的异常,但是并不是一般的 try和 catch子句可以捕获的;选项 B 是 java小应用程序的基类;选项 D的解释同选项 A,由于 AssertionError是 Error类的子类,所以不可以用来派生自定义异常类。 21 【正确答案】 A 22 【正确答案】 A 23 【正确答案】 B 24 【正确答案】 A 25 【正确答案 】 C 26 【正确答案】 A 27 【正确
27、答案】 C 28 【正确答案】 D 【试题解析】 本题考查线程的概念。调用线程的 sleep()方法、 yeild()方法和wait()方法都会将线程阻塞,而 isAlive()是用来测试线程,以确定线程是否活着。该方法如果返回 true,则意味着线程已经启动,但还没有结束,并不影响线程的生命周期,所以选项 D正确。 29 【正确答案】 A 【试题解析】 文本框 TextField 可用于编辑单行文本,输入一个字符串,按回车键就会激活一个文本框事件 。对 TextField 对象的事件进行监听和处理可以实现接口 ActionListener来进行。 30 【正确答案】 B 【试题解析】 图形图
28、像工具是 AWT提供的一个重要功能,具体包括厂形状、颜色和字体,属于用户界面构件。 31 【正确答案】 A 【试题解析】 本题考查对多维数组的理解。二维数组可以有如下的定义方式。typc arrayName; typearrayName; tyPearrayName;其中的 type代表数组元素的类型,可以是简单类型,也可以是复合类型 。本题中,除 arrayl是一维数组外,别的数组都是二维数组。选项 A不能被编译通过, array1 是一维数组,而 array2是二维数组;选项 B、 C、 D都是正确的,可以被编泽通过。故本题答案是 A。 32 【正确答案】 B 【试题解析】 本题考查字符型
29、常量的表示。选项 A是字符串的表示方法;选项 B所表示的是一个转义字符,是特殊的字符常量;选项 C中所表示的是整型常量;选项 D中不是常量的表示。故本题答案是 B。 33 【正确答案】 C 【试题解析】 Java语言一个源程序可以含有多个类,每个类编译 都生成一个字节码文件。因此这里有 3个类,应该有 3个字节码文件。 34 【正确答案】 A 【试题解析】 和 AWT 有关的所有事件类都从类 java.awt.AWTEvent派生而宋的。 35 【正确答案】 C 【试题解析】 本题考查 Java的异常处理。异常处理是通过 try-catch-finally语句来实现的, 该语句的格式如下: t
30、ry catch(ExceptionType1 e) catch(ExceptionType2 e) finally (1)try 语句选定捕获异常的范围。 程序执行过程中, try代码块所限定的语句可能会生成一个或多个异常对象,并抛弃异常对象。 try内部不同的方法调用有可能产生相同的异常,但只需一个catch 语句。 (2)由 catch 语句处理所抛出的异常事件。 catch 语句可以是多个,分别处理不同类型的异常。 catch 语句都带一个参数,该参数是某个异常的类及其变量名 (该异常对象的指针 ), catch 用该参数去与抛出 异常对象的类进行匹配,匹配上后就去执行该 catch
31、语句后的程序段。 (3)通过 finally 语句释放资源,为异常处理提供一个统一的出口。 finally 语句不是必须的,也就是说捕获异常时可以没有 finally 语句。不管 try代码块中是否发生了异常事件, finally 块中的语句都会被执行。 本题程序中,打开一个文件,这个操作可能出现两种异常,即打开的文件不错在或者可能出现的其他 I/O异常。第一种异常情况,当打开的文件不存在时,抛出 FileNotFoundException 异常。另外一种情况 ,可能出现的 I/O 异常,抛出IOException 异常。因此,划线处应填入的语句是 catch(IOException e)。
32、本题的正确答案是选项 C。 36 【正确答案】 MouseEvent 【试题解析】 mouseDragged()方法是 MouseMotionListener接口中的抽象方法,其原型为 voidmouseDragged(MouseEvent 37 【正确答案】 身份证号 【试题解析】 主关键字是表中区别不同记录的标识,在该表中只有身份证号能具有这个作用,所以用其作 为主关键字。 38 【正确答案】 降低复杂性 39 【正确答案】 根节点 【试题解析】 在树结构中,每个节点只有一个前件,称为父节点,没有前件的节点只有一个,称为树的根节点。 40 【正确答案】 计算机辅助软件工程 (CASE) 【
33、试题解析】 CASE 将各种软件工具、开发机器和一个存放开发过程信息的中心数据库组合起来,形成软件工程环境。 41 【正确答案】 FilelnputStream 【知识模块】 Java编程技术基础 42 【正确答案】 synchronized 【试题解析】 在 Java中,使用 synchronized 关键字标识临界区。 Java平台将每个由 synchronized 语句设置的对象设置一个锁,称为对象锁,它是一种独占的排他锁,即同一时刻最多只能有一个线程获取该锁。 43 【正确答案】 16 【试题解析】 StringBuffer 类的默认构造方法 StringBuffer()定义的是长度可
34、变的字符串,其初始缓存长度为 16个字符。 44 【正确答案】 return 【试题解析】 有返回值的方法,必须在方法体内通过 return 语句返回值, 否则编译出错。 45 【正确答案】 110 110 110 110 110 【试题解析】 题中 a.length/2 的值应为 4,所以 for循环执行了 5次。第一次输出的是元素 a0与 a8的和;第二次输出的是元素 a1与 a7的和;第三次输出的是元素 a2与 a6的和;第四次输出的是元素 a3与 a5的和;第五次输出的是元素a4与 a4的和。所以结果是 5个 110。 46 【正确答案】 import 【试题解析】 本题考查包的导入和
35、使用。首先用 package语句说明一个包 ,该包的层次结构必须与文件目录的层次相同,否则,在编译时可能出现找不到包的问题。 Java语言中 java.lang包是编译器自动导入,其他包中的类必须用 import导入。 47 【正确答案】 boolean IsDirectory() 【试题解析】 本题考查考生对文件类中提供的一些基本函数的掌握和应用能力。IsDirectory()方法是检测本 File对象所代表的是否一个目录。如果存在并且是一个目录则返回 true;否则为 false。 48 【正确答案】 public 【试题解析】 修饰符 可分为访问限定符和非访问限定符两类。访问限定符有pu
36、blic、 protected、 private和 default等。其他都属于非访问限定符,有 static、final、 abstract和 synchronized 等。 49 【正确答案】 CODE 【试题解析】 一个 applet标记中,必须出现的属性有 3项,它们是 CODE、WIDTH、 HEIGHT。 50 【正确答案】 setLayout(new java.awt.GridLayout(1,0) 【试题解析】 Java语言中,在编写 要输出显示文字的 Applet的时候,应首先考虑使用某些面向文本的 GUI构件,如标签 (Labe1)、单行文本域 (TextFielD) 和多行文本区 (TextAreA) 。本题中使用了单行文本域 (TextFielD) 。一般在 init()方法中创建相应的构件。程序画线处应填入的语句为设置布局管理器,使得文本域中可以显示任意长度的文本。