1、国家二级( JAVA)笔试模拟试卷 72及答案与解析 1 以下各运算中不属于算术运算的是 ( )。 ( A)大于 ( B)加 ( C)乘 ( D)除 2 下列叙述中正确的是 ( )。 ( A)一个数据结构中的元素在计算机存储空间中的位置关系与逻辑关系可能不同 ( B)一个数据结构中的元素在计算机存储空间中的位置关系与逻辑关系一定不同 ( C)一个数据结构中的元素在计算机存储空间中的位置关系与逻辑关系 定相同 ( D)数据的存储结构与数据的逻辑结构是相同的 3 一个栈的进栈顺序是 1, 2, 3, 4,则出栈顺序为 ( )。 ( A) 4, 3, 2, 1 ( B) 2, 4, 3, 1 ( C
2、) 1, 2, 3, 4 ( D) 3, 2, 1, 4 4 二叉树是结点的有限集合,它 ( )根结点。 ( A)有 0个或 1个 ( B)有 0个或多个 ( C)有且只有 1个 ( D)有 1个或 1个以上 5 编制一个好的程序,要确保它的正确性和可靠性的同时,还应强调良好的编程风格。在选用标识符的名字时应考虑 ( )。 ( A)名字长度越短越好,以减少源程序的输入量 ( B)多个变量共用一个名字,以减少变量名的数目 ( C)选择含 义明确的名字,以正确提示所代表的实体 ( D)尽量用关键字作名字,以使名字标准化 6 下面不属于软件工程的 3个要素的是 ( )。 ( A) XL具 ( B)过
3、程 ( C)方法 ( D)环境 7 结构化方法的核心和基础是 ( )。 ( A)结构化分析方法 ( B)结构化没计方法 ( C)结构化编程方法 ( D)结构化程序设计理论 8 在数据库管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是 ( )。 ( A)数据库系统 ( B)文件系统 ( C)人工管理 ( D)数据项管理 9 E-R模型可以转换成关系模型。当两个实体间联系是 M:N联系时,它通常可转换成关系模式的个数是 ( )。 ( A) 2 ( B) 3 ( C) M+N ( D) M*N 10 所谓关系是指 ( )。 ( A)各条记录中的数据彼
4、此有一定的关系 ( B)一个数据库文件与另一个数据库文件之间有一定的关系 ( C)数据模型符合一定条件的二维表格式 ( D)数据库中各个字段之间彼此有一定关系 11 Java语言和 C+语言相比,下面哪项内容是 Java独有的 ? ( ) ( A)面向对象 ( B)动态链接 ( C)有类库 ( D)跨平台 12 JDK中用于存放 Java类库文件的文件夹是 ( )。 ( A) bin ( B) include ( C) lib ( D) demo 13 J2EE和下列那种语言绑定 ( )。 ( A) C ( B) C+ ( C) Java ( D)汇编语言 14 继承是 Java语言的一个重要
5、机制,所有的 Java类都继承自根类 ( )。 ( A) Class ( B) Object ( C) String ( D) Date 15 设 A为己定义的类名,则下列声明 A类的对象 a的语句中正确的是 ( )。 ( A) public A a=new A(); ( B) public A a=A(); ( C) A a=new class(); ( D) a A: 16 下列各选项中属于 Java保留字的是 ( )。 ( A)真 ( B) NULL ( C)假 ( D) null 17 下列各项中代表八进制整数的是 ( )。 ( A) 0XA6 ( B) 144 ( C) 1840 (
6、 D) -1000 18 下列代码的执行结果是 ( )。 public class Test public static void main(String args ) System.out.println (5/2); System.out.println (100%3.0); ( A) 2和 1 ( B) 2和 1.0 ( C) 2.5和 1 ( D) 2.5和 1.0 19 char类型被封装在 ( )中。 ( A) java.lang.Integer ( B) java.lang.Char ( C) java.lang.Boolean ( D) java.lang.Character
7、20 下面代码段的输出是 ( )。 if (5 ( A)编译出错 ( B) 5752 ( C)真 ( D)无输出 21 有下面程序段: Public class ArrayTest Public static void main(String args) int intArray=new int3; for(int I=0;I 3;I+) intArrayI=I+2; System.out.println(“IntArray“+I+“-“+intArrayI); System.out.println(“-“); Int arrLen=4; IntArray=new intarrLen; For
8、(int j=intArray.length;j =0;j- intArray j=j*3; System.out.println(“hello“+intArrayj); 则运行的结果是 ( )。 ( A)编译出错 ( B)编译通过,但运行出错 ( C)可以运行,但有错误 ( D)以上都不对 22 设有如下程序: public class Sun public static void main(String args ) int x, y; x-4; y=0; if(Math.pow(x,2)=16) y=x; if(Math.pow(x,2) 15) y=1/x; if(Math.pow(x
9、,2) 15) y=(int)Math.pow(x,2)+1; System.out.println(y); 程序的运行结果是 ( )。 ( A) 4 ( B) 17 ( C) 18 ( D) 0.25 23 自定义的异常类可从下列哪个类继承 ? ( ) ( A) Error ( B) AWTError ( C) VirtualMachineError ( D) Exception及其子集 24 t为 int类型,进入下面的循环之前, t的值为 0。 while(t=1). 则以下叙述中,正确的是 ( )。 ( A)循环控制表达式的值为 0 ( B)循环控制表达式的值为 1 ( C)循环控制表
10、达式不合法 ( D)以上说法都不对 25 下面 for循环语句 的执行结果是 ( )。 for (int j=10; j 3; j-) if(j%3!=0) j-; -j; -j; System.out.println(j); ( A) 63 ( B) 74 ( C) 62 ( D) 73 26 Thread类的方法中用于修改线程名字的方法是 ( )。 ( A) setName() ( B) reviseName() ( C) getName() ( D) checkAccess() 27 在创建线程时可以显式地指定线程组,此时可供选择的线程构造方法有 ( )种。 ( A) 1 ( B) 2
11、( C) 3 ( D) 4 28 要串行化某些类的对象,这些类必须实现 ( )。 ( A) Scrializable接口 ( B) java.io.Exccptionlizable接口 ( C) java.io.Datalnput接口 ( D) DataOutput接口 29 关于集合类描述正确的是 ( )。 集合类中容纳的都是指向 Object类对象的指针 集合类容纳的 对象都是 Object类的实例 只能容纳对象 只能容纳基本数据类型 ( A) 、 、 ( B) 、 ( C) 、 ( D) 、 、 、 30 下列组件不能添加进 Frame主窗口的是 ( )。 ( A) Panel ( B)
12、 CheckBox ( C) Dialog ( D) Choice 31 下列说法中错误的是 ( )。 ( A) Java语言中的事件都是继承自 java.awt.AWTEvent类 ( B) AWTEvent类是 EventObject类的子类 ( C) Java的 AWT事件分为低级事件和高级事件 ( D) ActionEvent类是 AWTEvent类的子类 32 下列方法中不能适用于所有 Swing组件的是 ( )。 ( A) addKeyListener() ( B) addMouseListener() ( C) addMouseMotionListemer() ( D) addA
13、djustmentListener() 33 当 Applet程序中的 init()方法为下列代码时,运行后用户界面会出现什么样的情况。 public void init() setLayout(new BorderLayout(); add(“North“, new TextField(10); add(“Center“, new Button(“help“); 下面各选项中描述正确的是 ( )。 ( A)文本框将会出现在 Applet的顶上,且有 10个字符的宽度 ( B)按钮将会出现在 Applet的正中间,且尺寸为正好能够包容 help的大小 ( C)文本框将会出现在 Applet的顶
14、上,从最左边一直延伸到最 右边;按钮将会出现在 Applet的正中央,覆盖除文本框外的所有空间 ( D)按钮与文本框的布局依赖于 Applet的尺寸 34 Applet的运行过程要经历 4个步骤,其中不是运行步骤的是 ( )。 ( A)浏览器加载指定 URL中 HTML文件 ( B)浏览器显示 HTML文件 ( C)浏览器加载 HTML文件中指定的 Applet类 ( D)浏览器中的 Java运行环境运行该 Applet 35 下列命令中用于激活系统守候进程以便能够在 Java虚拟机上注册和激活对象的是 ( )。 ( A) rmic ( B) rmiregistry ( C) rmid ( D
15、) serialver 36 Java语言对内存采用【 】机制,有效地防止了因程序员误操作而引起的错误,并更好地利用了系统资源。 37 Java开发环境设置包括【 】设置和 calsspa出设置。 38 关键字【 】表明一个变量在初始化后不能被修改。 39 【 】类型数据不可以做类型转换。 40 凡生成 SbingBuRer一个对象后,还可用【 】方法或 ensureCapacity()方法设定缓存大小。 41 若要强行中止线程的运 行可调用【 】方法。 42 若要在 D盘根目录下生成一个名为 mydir的文件夹,请在下面横线处填入代码完成此程序。 import java.io.*; publ
16、ic class FileTest public static void main(String args) 【 】 File fileObject1 = new File(“Filel.txt“); File fileObject2 = new File(“d:mydir“, “File2.txt“); System.out.println(fileObject2); try dirObject.mkdir(); catch(SecurityException e) try fileObject1.createNewFile(); fileObject2.createNewFilei); c
17、atch(IOException e) 43 Java语言中提供了【 】来管理组件在容器中的布局。 44 传递给实现了 java awt event MouseMotionListener接口的类中 mouse Dragged()方法的事件对象是,【 】类。 45 Applet类中用于返回包含 Applet的 HTML文件的 URL方法是【 】。 国家二级( JAVA)笔试模拟试卷 72答案与解析 1 【正确答案】 A 【试题解析】 在一般的计算机系统中,基本的运算和操作有以下 4类:算术运算、逻辑运算、关系运算、数据传输。 “大于 ”属 于逻辑运算中的一种。选项中的加、乘、除都属于算术运算。
18、 2 【正确答案】 A 【试题解析】 一个数据结构中的元素在计算机存储空间中的位置关系与逻辑关系不一定相同,例如在家庭成员的数据结构中, “儿子 ”和 “女儿 ”都是 “父亲 ”的后件,但在计算机存储空间中,根本不能将 “儿子 ”和 “女儿 ”这两个数据元素的信息都紧邻存放在 “父亲 ”这个数据元素后边。但在一年四季的数据结构中, “春 ”是“夏 ”的前件,在计算机存储空间中,就可以把 “春 ”存储在 “夏 ”的前面。数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构。 3 【正确答案】 A 【试题解析】 栈是一种特殊的线性表,栈的插入和删除运算都只在 端进行,即它的一端是封闭的,不
19、允许插入与删除元素,一端是开口的,允许插入与删除元素,栈中的元素是先进后出的。答案是 A。 4 【正确答案】 A 【试题解析】 二叉树是一种特殊的树,它要求非空二叉树只有一个根节点,所以它可以是空树。答案为 A。 5 【正确答案】 C 【试题解析】 本题涉及编程风格,考生应该掌握一些基本的良好编程风格。标识符的名字应能反映它所代表的实际东西,应有一定实际意义。名字不是越长越好,应当选择精炼的意义明确的名字。必要时可使用缩写名字,但这时要注意缩写规则一致,并且要给每一个名字加注释。同时,在一个程序中,一个变量只应用于一种用途。 6 【正确答案】 D 【试题解析】 软件工程包括 3个要素,即方法、
20、工具和过程。方法是完成软件工程的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。 7 【正确答 案】 D 【试题解析】 结构化方法是软件开发方法之一。它包括结构化分析方法、结构化设计方法、结构化编程方法,而它的基础和核心是结构化程序设计理论。 8 【正确答案】 A 【试题解析】 文件系统是数据库系统的初级阶段,提供了简单的数据共享与数据管理能力,其功能简单,附属于操作系统而不成为独立的软件,只能看作是数据库系统的雏形;人工管理主要用于科学计算,硬件无磁盘,直接存取,软件没有操作系统;数据库管理系统是从这两个阶段发展而宋的,其数据独立性必然更高。因此,答案为
21、 A。 9 【正确答案】 B 【试题解析】 将 E-R图转换为关系模型的转换方法有:一个实体型转换为一个关系模式;一个 m:n联系转换为一个关系模式; 3个或 3个以上实体间的一个多元联系转换为一个关系模式。因此,本题答案为 B。 10 【正确答案】 C 【试题解析】 每个关系都类似一张表,或者在某种程度上类似一个 “平面 ”记录文件。 11 【正确答案】 D 【试题解析】 选项 A中, C+语言和 Java语言都是面向对象的程序设计语言;c+语言中也有动态链接技术,库文件 (.dll)就是 C什语言的动态连接库,所以 B选项也 是错误的:选项 C错误,这两种语言都有类库,因为类是面向对象的最
22、基本的概念;选项 D中,跨平台的特性是 Java语言所特有的,在不同的操作系统上,只要装有 JVM就可以解释执行 Java程序,而 C+语言没有这种特性。 12 【正确答案】 C 【试题解析】 本题考查 JDK的文件夹结构。选项 A错误, bin文件夹下存放可执行文件。选项 B错误, include存放 Java标准类的源代码。选项 C正确。选项D错误, demo文件夹存放 lava例子程序。 13 【正确答案】 C 【试题解析】 J2EE的基础 是 J2SE,以 Java为平台;而 C语言用于 ODBC API。由于两者不兼容, SUN公司才提出了 JDBC作为 Java几个平台与数据库的标
23、准连接。 14 【正确答案】 B 【试题解析】 本题考查 Java的继承机制。选项 A错误, Class类封装了类和对象的属性特征,包含着解释 Java类的信息。选项 B正确, Object类处于 Java类层次结构的最上层,是所有类的父类。也就是说,所有 Java语言中的类都是直接或间接继承 Object类得到的。选项 C错误, String类是字符串类,用于构造字符串常量。选项 D错 误, Date类是日期类,提供了处理日期、时间的多种方法。 15 【正确答案】 A 【试题解析】 对象的生成包括声明、实例化和初始化 3个方面的内容,一般格式是先定义一个对象变量,再用关键字 new生成一个对
24、象,并为该对象变量赋值。 16 【正确答案】 D 【试题解析】 在 Java中,常量 null、 false、 true都是小写的。所以 A、 B和 C选项中的字符串都不是 Java的保留字。 17 【正确答案】 B 【试题解析】 Java语言中八进制整数为整型常量中的一种,以 0开始,后加数串 0 7组成。故只有 B选项 0144符合要求。 18 【正确答案】 B 【试题解析】 由于 5和 2都是 int型,所以语句 System.out.println(5/2)的输出为2。由于操作数 3.0为 double型。 (Java语言中浮点数的默认值为 double型 ),所以结果为 double
25、型,即 1.0, 19 【正确答案】 D 【试题解析】 Java语言中, char类型被封装在 java.lang.Character中。 20 【正确答案】 A 【试题解析】 本题考查对位运算符和逻辑运算 符的理解。位运算符 “&”和 “尸用于按位将两个数进行与和或的操作,两个操作数可以是整型、字节型、长整型和短整型,但不能是浮点型数据。逻辑运算符 &只能对两个布尔型的数据进行运算,返回的结果也是布尔型的。这点跟 C语言是不同的,在 C语言中,两个整型数据也能够进行逻辑运算。这在 Java语言里是不允许的。在本题中, &运算符的左边是布尔型数据,而右边是整型数据,所以就不能被编译通过。 21
26、 【正确答案】 B 【试题解析】 这是一道考查数组引用的题,目的是考查如何在程序中引用初始化后的数组。引用的方式为 arrayNameindex),其中 index为数组的下标,可以为整数、变量和表达式,范围从 0开始,一直到数组的长度减 1。在 Java语言中,是要对数组下标进行检查的。因此当程序运行到数组的长度值时,就发生了越界现象。 22 【正确答案】 B 【试题解析】 本题是考查对 if-else分支结构和几个标准函数的理解。 pow(x,y)方法是 x的 y次幂,程序中 pow(x,2)满足第 1个 if语句和第 3个 if语句,条件变量 y将被赋值两次,但对于同一个变量来说,只能存
27、储最后一个所赋的值。 23 【正确答案】 D 【试题解析】 Java语言中 Throwable类分为 Error和 Execption两个子类。自定义的异常类是从 Exception及其子集类继承的。 24 【正确答案】 B 【试题解析】 本题考核对 while循环及逻辑表达式的理解。循环控制表达式为赋值表达式 t=1,永远为 1(为真 )。 25 【正确答案】 B 【试题解析】 该题考查对 for循环的理解。 当 j=10时,满足条件 j 3,由于for循环中 j-执行了 1次, j的值为 9,执行 if语句, j%3=0不满足条件,继续向下执行 2次 -j, j的值为 7; 当 j=7时,
28、满足条件 j 3,由于 for循环中 j-执行了 1次, j的值为 6,执行 if语句, j%3=0不满足条件,继续向下执行 2次 -j, j的值为 4。 26 【正确答案】 A 【试题解析】 Thread类的其他方法有: setName()、 getName()、activeCount()、 setDaemon()等。其中,用于修改线程名字的方法是 setName()。 27 【正确答案】 C 【试题解析】 线程组是由, iava lang包中的 ThreadGroup类实现的。 在创建线程时可以显式地指定线程组,此时需要从如下 3种线程构造方法中选择一种:public Thread(Thr
29、eadGroup group,Runnable target); public Thread(ThreadGroup group,String name); public Thread(ThreadGroup group,Runnable target,String name)。 28 【正确答案】 A 【试题解析】 Java语言中一个类只有实现了 Serializable接口,它的对 象才是可串行化的。 29 【正确答案】 A 【试题解析】 本题主要考查集合类的特点。选项 A正确,集合类是用来存放某类对象的。集合类有一个共同特点,就是它们只容纳对象。如果集合类中想使用简单数据类型,又想利用集
30、合类的灵活性,可以把简单数据类犁数据变成该数据类型类的对象,然后放入集合中处理,这表示集合类不能容纳基本数据类型,所以 是不正确的:选项 B错误,集合只容纳对象;选项 C错误,该选项少选了 ;选项 D错误,分析同选项 B。 30 【正确答案】 C 【试题解析】 本题考查对 java组件容器中 添加容器的基本知识。选项 A错误,Panel组件是容器,可以添加到 Frame窗口:选项 B错误, CheckBox组件是复选框组件,可以添加到 Frame窗口;选项 C正确, Dialog继承自 Windows类,Windows类型 (或子类 )的对象不能包含在其他容器中;选项 D错误, Choice组
31、件是选择框组件,可以添加到 Frame窗口。 31 【正确答案】 C 【试题解析】 Java中所有的 AWT事件类是由 java.awt.AWTEvent类派生的。而 Java中的事件类是继承自 java.util.Event类, java.awt. AWTEvent是java.util.Event的子类。 32 【正确答案】 D 【试题解析】 本题考查关于 Swing组件注册监听器方法的基本知识。选项 A错误, addKeyListener()可为所有组件添加 KeyListener监听器:选项 B错误,addMouseListener()可为所有组件添加 MouseListener监听器:
32、选项 C错误, addMouseMotionListened)可为所有组件添加 MouseMotionListener监听器;选项D正确, addAdiustmentListener()可为 JScrollBar组件添加 AdiustmemListener接口,但是并不适用于所有 Swing组件。 33 【正确答案】 C 【试题解析】 该题考查对容器布局策略的理解。边界布局管理器 BorderLayout将容器按上北下南左西右东划分为东、南、西、北、中 5部分,分别用英文单词East, South, North, West, Center来表示。其中,东、西、南、北 4个方向的组件宽度为恰好能
33、够包容组件的内容,而长度为延伸到该容器边界的长度;而对于中间 的组件,它会扩充到除四边以外的整个容器区域。本题的具体情况是:文本框将会出现在 applet的顶上, K度为整个 applet的宽度;按钮将会出现在applet的正中央,覆盖除文本框外的所有空间。 34 【正确答案】 B 【试题解析】 Applet的运行过程要经历 4个步骤: 浏览器加载指定 URL中的HTML文件; 浏览器解析 HTML文件; 浏览器加载 HTML文件中指定的Applet类; 浏览器中的 Java运行环境运行该 Applet;由此可知 B选项中内容不是其步骤之一。 35 【正确答案】 C 【试题解析】 Java语言
34、的 RMI包括: rmic、 rmiregistry、 rmid、 serialver。其中,命令 rmid用于激活系统守候进程,以便能够在 java虚拟机上注册和激活对象。 36 【正确答案】 垃圾回收 【试题解析】 在 Java语言中,由编译器自行检查与管理程序内所用的对象与内存资源等,在系统空闲时,将程序中不再使用的内存与对象予以回收。 37 【正确答案】 path 【试题解析】 path的设置是 JDK的一些可执行文件的存储路径。对于 J2SE v1.4来说,若 JDK安 装在 C2sdk1.4.0 目录下,则所有的命令文件 (如 javac、 java、appletviewer等 )
35、均放在 C: i2sdk1.4.0bin子目录下,所以 path的设置即为 C:j2sdk1.4.0。这样,在执行某个命令时,系统会自动到如上所设置路径去寻找相应的命令文件。 38 【正确答案】 final 【试题解析】 在成员变量声明中,关键字 final用来声明一个常量。用 final限定的常量,也称为最终变量。一旦成员变量被声明为 final,那么就作为一个常量,在程序运行中将不能被修改,否则将 产生编译错误。 39 【正确答案】 boolean 【试题解析】 布尔类型数据只有 2个值; true和 false,因此不可以和其他简单类型数据进行转换。 40 【正确答案】 setLengt
36、h() 【试题解析】 此题考查 StringBuffer字符串的知识,生成 String,Buffer一个对象后可用 setLength()或 ensureCapacity()方法设定缓存大小,并保证其数组元素的初值都为 0。 41 【正确答案】 stop() 【试题解析】 当线程完成运行并结束后,将不 能再运行。除了线程正常运行结束外,还可以用 stop()方法控制其停止。 stop()方法是类 Thread的方法,也是线程调度的一种方法,它可以使线程本身停止执行。但编程时不提倡采用这种方法,容易造成线程的不一致。 42 【正确答案】 FiledirObject=new File(“d: m
37、ydir”); 【试题解析】 本程序将在当前文件夹中生成一个名为 Filel txt的文件,在 D盘里生成一个名为 mydir的文件夹,并在该文件夹生成一个名为 File2 txt的文件,最后输出文件 File2 txt的完整路径。程序中生成了三个文件对象 dirObject、fileObject1和 fileObject2,在对 dirObject进行初始化时,因为参数为绝对路径,所以调用 mkdir()方法,这样就在参数指定的路径中生成一个名为 mydir的文件夹;对 fileObjectl进行实例化时,参数为相对路径,所以后面调用的是 createNewFile()方法,程序运行后就会在
38、当前路径下生成参数中指定的文件;fileObject2实例化后,调用 creatNewFile()方法,程序在参数第一个字符串变量指定的文件夹中 创建一个文件,该文件的名称和相对路径由参数的第二个字符串变量指定。 43 【正确答案】 布局管理器 【试题解析】 图形用户界面编程主要包括 3个方面:组件的创建、布局管理和事件处理。布局管理器管理组件在容器中的布局。 44 【正确答案】 MouseEvent 【试题解析】 MouseEvent鼠标事件实现鼠标单击、释放、拖动、移动等。 45 【正确答案】 getDocumentBase() 【试题解析】 getDocumentBase0方法属于 HTML标记方法,用于获取包含Applet的 HTML文件的 URL。