1、国家二级( JAVA)笔试模拟试卷 210及答案与解析 1 关系表中的每一横行称为一个 ( )。 ( A)元组 ( B)字段 ( C)属性 ( D)码 2 有如下 3个关系 R、 S和 T: RSTABmln2BC1335ABCml3由关系 R和 S通过运算得到关系 T,则所使用的运算为 ( )。 ( A)笛卡尔积 ( B)交 ( C)开 ( D)自然连接 3 下面对对象概念的描述中,错误的是 _。 ( A)任何对象都必须有继承性 ( B)对象是属 性和方法的封装体 ( C)对象间的通信靠消息传递 ( D)操作是对象的动态属性 4 设有下列二叉树 (如下图所示 ) 对此二叉树中序遍历的结果是
2、( )。 ( A) ABDGCEHIF ( B) DGBAHEICF ( C) GDBHIEFCA ( D) ABCDEFGHI 5 对建立良好的程序设计风格,下面描述正确的是 ( )。 ( A)程序应简单、清晰、可读性好 ( B)符号的命名只要求符合语法 ( C)充分考虑程序的执行效率 ( D)程序的注释可有可无 6 下列叙述中正确的是 ( A)程序设计过程中的主要工作足编制程序 ( B)程序设计的主要目标是编制出运行结果正确的程序 ( C)不良的程序设计风格会增加程序的复杂性 ( D)上述三种说法都不对 7 以下 ( )表达式是不合法的。 ( A) String x=“Sky“; int
3、y=5; x + =y: ( B) String x=“Sky“: int y=5: if(x=y) ( C) String x=“Sky“: int y=5: x=x+y: ( D) String x=null: int y=(x!=null) public class ex40 static Frame f; public static void main(String args) f = new Frame(“ex40“); MenuBar mb = new MenuBar(); f.setMenuBar (mb); Menu m1 = new Menu(“menu“); _ m1.ad
4、d (mil); mb. add (m1); f. setSize (200, 200); f. setVisible (true); ( A) Menu mil = new MenuItem(“iteml“); ( B) MenuItem mil = new MenuItem(“iteml“); ( C) Menu mil = new MenuItem(“iteml“); ( D) Menu mil = MenuItem(“iteml“); 12 下列 Applet实现了在 Applet窗口中绘制一个以 (70, 70)为圆心, 50为半径,边框为绿色的圆,圆心是红色的。选择正确的语句填入下
5、面横线处。 import java.awt.*; import java.applet.*; public class ex20 extends Applet public void paint(Graphics g) g.setColor(Color. GREEN); g.drawOval(20, 20, 100, 100); g.setColor(Color. RED); _ ( A) g.drawOval(70, 70, 70, 70); ( B) g.drawRect(70, 70, 1, 1); ( C) drawRect(70, 70, 1, 1); ( D) g.drawLine
6、(70, 70, 1, 1); 13 欲构造 ArrayList类的一个实例,此类实现了 List接口,下列 ( )方法是正确的。 ( A) ArrayList myList = new Object( ); ( B) List myList = new ArrayList( ); ( C) ArrayList myList = new List( ); ( D) List myList = new List( ); 14 在下列选项中,不属于 Java语言安全机制的一项是 ( )。 ( A)语法检查 ( B)不允许使用指针 ( C)代码参数类型合法性检查 ( D)对内存进行跟踪 15 下列关
7、于 J2EE的特点的说法中,错误的是 ( )。 ( A) J2EE的基础是 J2SE ( B) J2EE提供高度的安全性支持 ( C)支持事务处理和异步通信 ( D)支持面向过程的 Web开发 16 可以在 for循环初始化部分声明一个变量,其作用域是 ( )。 ( A)整个 for循环 ( B) for循环后的所有部分 ( C) for循环所在的代码块 ( D)全部代码 17 若 a的值为 3时,下列程序段被执行后, c的值是 ( )。 int c=1; if(a 0) if(a 3) c=2; else c=3; else c=4; ( A) 1 ( B) 2 ( C) 3 ( D) 4
8、18 下面的哪一个关键字通常用来对对象加锁,从而使得对对 象的访问是排他的 ? ( A) serialize ( B) transient ( C) synchronized ( D) static 19 对于下面语句的说法,不正确的是 Thread thrObj=new Thread(); ( A)系统没有为该线程对象分配资源 ( B)只能启动或者终止 ( C)创建了一个空的线程对象 ( D)可以调用其他方法 20 线程交互中不提倡使用的方法是 ( )。 ( A) wait() ( B) notify() ( C) stop() ( D) notifyall() 21 在 Java职 App
9、let程序中,对发生的事件做出响应和处理的时候,应该使用( )。 ( A) import java.awt.event.*; ( B) import java.io.*; ( C) import java.awt.*; ( D) import java.applet.*; 22 在编写异常处理的 Java程序中,每个 catch 语句块都应该与 ( )语句块对应,使得该语句块用来启动 Java的异常处 理机制。 ( A) if-else ( B) switch ( C) try ( D) throw 23 下列关于字符串的叙述错误的是 ( )。 ( A)创建 String类的字符串对象后,字符
10、串所代表的文本根据情况可改变 ( B)字符串由 java.lang.String和 java.lang.SlringBuffer定义 ( C)字符串常用数组存储,处理字符串实际上是对数组元素的分别处理,要注意数组下界不要越界 ( D)在 Java语言中,字符串是作为对象来处理的 24 下列代码的执行结果是 ( )。 public class Test2 public static void main(String arg) System.out.println(100%3); System.out.println(100%3.0); ( A) 1和 1 ( B) 1和 1.0 ( C) 1.0
11、和 1 ( D) 1.0和 1.0 25 下列用于 Java解析类文件的命令是 ( )。 ( A) java ( B) javac ( C) javap ( D) jar 26 设有如下程序: public class Sun public static void main (String args ) int x,y; x= (int) Math.sqrt (2) /2+ (int) Math.random ()*2/2; y= (int) Math.sqrt (3) /3+ (int) Math.random ()*3/3; if (x y) System.out.println (“x
12、y“); else if (x=y) System.out.println(“x=y“); else System.out.println(“x y“); 程序运行的结果为 ( )。 ( A) x y ( B) x=y ( C) x y ( D)以上都不对 27 Java语言具有许多 优点和特点,下列选项中能反映 Java程序并行机制特点的是( )。 ( A)安全性 ( B)多线程 ( C)跨平台 ( D)可移植 28 关于字节 I/O流,下列叙述不正确的是 ( ) ( A)字节数据来自于二进制文件 ( B) DataOutStream的方法 flush()的功能是清空输出流,并把缓冲全部内容
13、写入输出流中 ( C)字节输入流首先要实现 DataInput接口 ( D)所有的字节输出流都继承于 Writer类 29 下列程序的执行结果是 ( ) public class ex68 public static void main(Stringargs) ex68 obj new ex68(); int s 0; for(int i=1; i 4; i+) s+ obj.method(i); System.out.println(s); public int method(int n) if(n=1) return 1; else return n*method(n-1); ( A) 3
14、 ( B) 9 ( C) 33 ( D) 153 30 在 Java中,负责对字节代码解释执行的是 ( )。 ( A)垃圾回收器 ( B)虚拟机 ( C)编译器 ( D)多线程机制 31 下列属于合法的 Java标识符是 ( )。 ( A) ABC ( B) &5678 ( C) #NAME? ( D) saler 32 下列组件中没有选择项的是 ( )。 ( A) Button ( B) CheckBox ( C) List ( D) Choice 33 Applet运行时,被浏览器或 appletviewer调用的第 1个方法是 ( )。 ( A) paint () ( B) init()
15、 ( C) start() ( D) destroy() 34 当不希望某个类被其他类继承时,就可以将该类标识为 ( A) final ( B) abstract ( C) private ( D) protected 35 在 AWT组件中用复选框组构件 CheckboxGroup实现单选框的功能,但在Swing中, Java语言直接提供了一个单选框,它是 ( A) JButton ( B) JComboBox ( C) JRadioButton ( D) JCheckBox 36 Jackson方法是一种面向 _的结构化方法。 37 软件工程研究的内容主要包括 _技术和软件工程管理。 38
16、 Java中的返回语句是 _语句。 39 数据库是指按照一定的规则存储在计算机中的【 】的集合,它能被各种用户共享。 40 按 “先进后出 ”原则组织数据的数据结构是【 】。 41 字符输入流的父类是 _,字符输出流的父类是 _。 42 Java语言具有可移植性、高性能、健壮性、安全性和独立于体系结构的【 】特点。 43 UDP允许传输的数据包最大为【 】。 44 Swing的顶层容器有: JApplet, JWindow, JDialog和 _。 45 通过类 MyClass中的不含参数的构造函数,生成该类的一个对象。 obj,可通过以下语句实现:【 】。 46 与显示相关 的 Applet
17、方法有【 】 (), repaint()和 update()。 47 Java图形用户界面编程中的最基本组成部分是【 】。 48 通过类 MyClass中的不含参数的构造函数,生成该类的一个对象 obj,可通过以下语句实现;【 】。 49 Java简单性首先表现在自身系统的精练,它的基本解释程序和【 】占内存40KB,附加的基本标准类库和支持线程程序占 175KB。 50 请写出下面程序的运行结果: public class Test extends TT public static void main(String args) Test t=new Test(“Tom “); public
18、Test(String s) super(s); System out print(“How are you?“); public Test() this(“I am Jack “); class TT public TT() System out print(“Hi!“); public TT(String s) this(); System out print(“I am“+s); 结果:【 】 。 国家二级( JAVA)笔试模拟试卷 210答案与解析 1 【正确答案】 A 【试题解析】 在关系数据库中,关系模型采用二维表来表示,简称 “表 ”。二维表是由表框架及表元组组成。在表框架中,按
19、行可以存放数据,每行数据称为一个元组。 2 【正确答案】 D 【试题解析】 在实际应用中,最常用的连接是一个叫白然连接的特例。它满足下面的条件:两关系间有公共域:通过公共域的相等值进行连接。 通过观察 3个关系 R、 S 和 T的结果可知,关系 T 是由关系 R和 S 进行自然连接得到的。 3 【正确答案】 A 【试题解析】 对象可以执行的操作表示其动态行为,在面向对象分析与设计中,通常把对象的操作也称为方法或服务。属性在设计对象时确定,一般只能通过执行对象的操作来改变。对象有一些基本特点:标识唯一性,分类性,多态性,封装性,模块独立性好。而继承是使用已有的类定义作为基础来建立新类的技术。 4
20、 【正确答案】 B 【试题解析】 选项 A、 D中,根节点排在最前,因此可以断定不是中序遍历。选项 C中根节 点排在最后,因此也可以断定不是中序遍历。其中选项 A、 C分别为前序遍历和后序遍历的结果。 5 【正确答案】 A 【试题解析】 本题涉及程序的编写风格,考生应该掌握一些基本的良好编程风格。符号的命名不仅要符合语法,还应有一定的实际意义,且尽量简洁。除非对效率有特别要求,程序编写要做到清晰第一,效率第二。必须要有必要的注释。 6 【正确答案】 C 【试题解析】 程序设计过程中包括很多步骤,编制程序只是其中的一步。所以,选项 A错误。程序设计的最终产品是程序,但仅设计和编制出一个运行结果正
21、确的程序 是不够的,还应养成良好的程序设计风格。所以,选项 B错误。程序设计的根本目标是要降低程序的复杂性和提高程序的可读性。而程序的复杂性主要来自以下两个方面:问题固有的复杂性:不良的设计风格人为增加了程序的复杂性。所以,良好的设计风格对于降低程序的复杂性是很重要的,并且,好的设计风格是好的程序风格的基本保证;选项 C正确。 7 【正确答案】 B 8 【正确答案】 D 9 【正确答案】 B 【试题解析】 数据库系统 (Database System,简称 DBS)由如下几部分组成,即数据库、数据库管理系统 、数据库管理员、硬件和软件。 10 【正确答案】 B 【试题解析】 数据库管理系统是一
22、种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等,因此数据库管理系统是数据库系统的核心。 11 【正确答案】 B 【知识模块】 编写用户界面程序 12 【正确答案】 B 【知识模块】 编写小应用程序 (Applet) 13 【正确答案】 B 【试题解析】 不能直接建立接口的实例,只能通过实现接口的相应的类来实现接口。 14 【正确答案】 D 【试 题解析】 语法检查是在编译 Java程序时的代码安全检查,属于安全机制;不允许使用指针,可以防止对内存的非法访问,属于安全机制;代码参数类型的合法性是在解释执行 Java程序时进行检测的,也属于安全机制;对内存进行跟踪属
23、于 Java垃圾回收机制,不属于安全机制,因此正确答案是 D。 15 【正确答案】 D 【试题解析】 J2EE支持高效率的基于构件的 Web 开发,构件是面向对象的,不是面向过程的。 16 【正确答案】 A 【试题解析】 在 for循环初始化部分声明一个变量,它的作用域为整个 for循环 。 17 【正确答案】 C 【试题解析】 本题主要考查 if-else的使用,当 if语句中的条件为真时执行其后的语句,并跳过 else执行下面的语句;当条件为假时执行 else后的语句。 18 【正确答案】 C 【试题解析】 本题考查 Java中对象加锁的概念。 Java是多线程的语言,多个线程可以 “同时
24、 ”访问同一数据区,而在处理某些数据时不希望其他的线程修改那些数据的值或者某些操作是不可打断的,要做到这个,可以使用 synchronized 关键字声明这一点。 19 【正确答案】 D 【 试题解析】 本题考查线程的创建。通过 new 命令创建一个线程对象后,该线程对象就处于创建状态,上面的语句只是创建了一个空的线程对象,选项 C说法正确。此时,系统并没有为该线程对象分配资源,选项 A说法正确。处于这种状态的线程,只能启动或者终止,选项 B 说法正确。该线程此时并不能调用其他方法,如果调用其他方法就会失败并引起非法状态处理,选项 D说法错误,故应选。 20 【正确答案】 C 21 【正确答案
25、】 A 22 【正确答案】 D 23 【正确答案】 A 24 【正确答案】 B 25 【正确答 案】 C 【试题解析】 Java基本命令包括: javac、 java、 javadoc、 appletviewer、 jar、jdb、 javah、 javap、 extcheck。其中,命令 javap是 Java类文件解析器,用于解析类文件。如果没有使用选项, javap将输出类的 public域及方法。 26 【正确答案】 B 【试题解析】 本题是考查对 if-else分支结构和几个标准函数语句的理解。程序第2、第 3行赋值号右边的两个表达式分别求两个标准函数的值,再进行整除,根据我们对标准
26、函数的理解,其中 每项的值均为 0,于是,两个表达式的值均为 o,分别赋值给变量 x和 y,很容易判断出 x是等于 y的。进入分支结构后, if 语句的条件 x y不满足,转去执行 else if语句,条件 x=y满足,执行System.out.println(“x=y“),输出 x=y。故本题答案是 B。 27 【正确答案】 B 【试题解析】 本题考查对 Java基本特点理解。选项 A错误, Java通过删除了指针和内存分配,并在解释器执行字节代码之前检查和一系列安全措施等保障 Java程序及用户数据的安全;选项 B 正确,多线程使可执行程序具有同时 保持几个线程执行的能力,从而使 Java
27、实现并行机制:选项 C错误, Java的跨平台性在于其解释器生成的字节码结构的文件格式与硬件体系无关,可以在任何种类的处理器上运行;选项 D错误,可移植性是指 Java程序及系统可以被放置在任何计算环境下。 28 【正确答案】 D 【试题解析】 字节流类由两个类层次结构定义。在顶层有两个抽象类:InputStream和 OutputStream,所以所有的字节输出流都继承与 OutputStream类。故选项 D错误。 29 【正确答案】 C 【试题解析】 该 题考查的是递归调用。在 Java中允许方法的递归调用,即允许方法调用自身。当算阶乘的时候最多的是用到递归调用,本题算的是从 1到 4的
28、递归的和。 30 【正确答案】 B 【试题解析】 本题考查 Java语言的虚拟机。 Java语言的执行模式是半编译半解释型。 Java编写好的程序首先由编译器转换为标准字节代码,然后由 Java虚拟机去解释执行。字节代码是一种二进制文件,但不能直接在操作系统上运行,可看作是虚拟机的机器码。虚拟机把字节码程序与各操作系统和硬件分开,使 Java程序独立于平台。 Java中的虚拟机是非常 重要的概念,是 Java语言的基础,掌握后有助于理解 Java语言的实现。 31 【正确答案】 D 【试题解析】 本题考查 Java语言中的整型常量。题目不难,但属于学习程序设计语言的基础,应该有所了解。整型常量
29、有 3种书写格式:十进制整数,如 156, -230, 345;八进制整数:以 0开头,如 012表示十进制的 10十六进制整数:以0x或 OX开头,如 0X123表示十进制数 291。由此可见,选项 A表示的是十六进制整数,选项 B 不是整数形式,选项 C是十进制整数,选项 D是八进制整数,为本题正确选项。 Java标 识符的命名规则。历次考试都有涉及,应该重点掌握。Java中标识符的命名规则是:标识符以字母、下划线、美元符作为首字符的字符串序列;标识符是区分大小写的;标识符的字符数没有限制。由此可见 Java中标识符不能以 “开头,所以选项 A错误,不能以 “&”开头,选项 B错误,不能以
30、“+”开头,选项 C错误,只有选项 D是正确答案。 32 【正确答案】 A 【试题解析】 本题考查 Java中常用组件的基本知识。选项 A正确, Button 组件是按钮,只能响应点击,组件上没有提供选择项;选项 B错误, CheckBox组件为复选框,当然可以有多项选择项:选项 C错误, List组件为列表框支持滚动条,可以有多项选择项;选项 D错误, Choice组件为选择框,可弹出菜单提供多项选择。故本题答案是 A。 33 【正确答案】 B 【试题解析】 Applet是工作在图形方式下的,向 Applet中画图、画图像、显示字符串,都要用 paint()方法。每当 Applet初次显示或
31、更新时,浏览器都将调用paint()方法。而在 Applet装载时,由浏览器或 appletviewer调用 init()方法,通知该 Applet已被加载到浏览器中 ,使 Applet执行一些基本初始化。所以选择答案B。 34 【正确答案】 A 【试题解析】 本题考查类定义中的关键字。 final修饰符表示这是一个不能被继承的类; abstract修饰符表示该类是抽象类; protected 和 private是用来设置访问权限的。题目希望某个类被其他类继承时,就可以将该类标识为 final,选项 A正确。 35 【正确答案】 C 【试题解析】 JRadioButton 是 Swing的单选
32、框。 JButton是一个常用的构件,它可以在按钮上显示文字和图标,这是比 AWT要丰富的。 JComboBox 每次只能选择其中的 项,但是可编辑每项的内容,而且每项的内容可以是任意类,而不是局限于 String。 JCheckBox 是复选框构件。 36 【正确答案】 数据结构 【试题解析】 Jackson 方法是一种面向数据结构的结构化方法。 37 【正确答案】 软件开发 【试题解析】 基于软件工程的目标,软件工程的理论和技术性研究的主要内容包括软件开发技术和软件工程管理。 38 【正确答案】 return 【试题解析】 return 语句从当前方法中退出,返 回到调用该方法的语句处。
33、39 【正确答案】 数据 【试题解析】 数据库是由一个互相关联的数据的集合和一组用以访问这些数据的程序组成,这些数据按一定的数据模型组织、描述和储存。 40 【正确答案】 栈 或 Stack 【试题解析】 栈和队列是两种特殊的线性表,其特殊性在于对它们的操作只能在表的端点进行。栈中的数据按照先进后出的原则进行组织,而队列中的数据是按照先进先出的原则进行组织。因此,本题的正确答案是栈 (Stack)。 41 【正确答案】 Reader Writer 【知识模块】 Java编程技术基础 42 【正确答案】 跨平台 【试题解析】 Java语言是一种跨平台,适合于分布式计算环境的面向对象的编程语言。具
34、体来说,它具有如下特性:简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。 43 【正确答案】 64KB 【试题解析】 UDP是无连接协议,对每个数据报是一个独立的信息传输单位,包括完整源地址和目的地址,无需建立发送方和接收方之间的连接,它对传输数据的大小限制在 64KB 之内。 44 【正确答案】 JFrame 【试题解析】 本题考查 Swing顶层容器的概念。从功能上分, Swing构件分为:顶层容器,包含 JFrame, JApplet, JDialog和 JWindow 共 4个:中间容器, JPanel、 JScrollPane、 JSplit
35、Pane、 JToolBar;特殊容器,在 GUI上起特殊作用的中间层:基本空间,实现人际交互的构件;向用户显示不可编辑信息的构件,向用户显示可编辑信息的格式化信息的构件。 45 【正确答案】 MyClass obj=new MyClass(); 46 【正确答 案】 paint 【试题解析】 本题考查 Applet的关键方法。与显示有关的方法有 paint()方法、update()方法和 repaint()方法。 paint()方法具体执行 Applet的绘制; update()方法用于更新 Applet的显示; repaint()方法用于 Applet的重新显示,它调用 update()方
36、法实现对 Applet的更新, Applet程序可以在需要显示更新时调用该方法,通知系统刷新显示。 47 【正确答案】 构件 【试题解析】 构件类是 java.awt包的核心,构件 本身是一个可视化的能与用户交互的对象,由它组成了 Java图形用户界面。 48 【正确答案】 MyClass obj=new MyClass() 【试题解析】 java中至少有三种方式可以生成一个对象, new,Class.ForName(String className)和 ClassLoader.loadClass(String name)。用关键字 new生成对象:这是最常用的一种方式,例如 new Stri
37、ng(“hello“)用 new生成对象的特点是,这个对象的类必须在编译时就在 classpath 中,如果没有特别的理由和要求,这是我们生成一个对象的第一选择。本题中要求不含参数,所以应该为 MyClass obj=new MyClass()。 49 【正确答案】 类库 【试题解析】 本题考查 Java语言的特点, Java简单性首先表现在自身系统的精练,它的基本解释程序和类库占内存 40KB,附加的基本标准类库和支持线程程序占 175KB,力图用最小的系统完成尽可能多的功能。 50 【正确答案】 Hi! I am Tom How are you? 【试题解析】 本题考查类的继承。从 main()方法作为程序入口,首先执行 Test t=new Test(“Tom “)语句,此时将调用 Test(String s)构造方法,而进入此方法后由 super(s)语句来调用 TT TT(String s),而执行 this()语句将会调用 TT TT(),因此,首先由 System out print(“Hi! “)语句执行输出。接下来才是System out print(“I am“+s)语句,然后才是 System out print(“How are you?“),最后程序结束。要注意区分 this 和 super所对应的类。