1、国家二级( JAVA)笔试模拟试卷 178及答案与解析 1 下列说法中,不属于数据模型所描述的内容的是 ( )。 ( A)数据结构 ( B)数据操作 ( C)数据查询 ( D)数据约束 2 下列工具中属于需求分析常用工具的是 ( )。 ( A) PAD ( B) PFD ( C) N-S ( D) DFD 3 在设计程序时,应采纳的原则之一是 ( A)不限制 goto语句的使用 ( B)减少或取消注解行 ( C)程序越短越好 ( D)程序结构应有助于读者理解 4 下列方法中可用于定义线程体的是 ( A) start() ( B) init() ( C) run() ( D) main() 5
2、下列 4项中说法不正确的是 ( ) ( A)数据库减少了数据冗余 ( B)数据库中的数据可以共享 ( C)数据库避免了一切数据的重复 ( D)数据库具有较高的数据独立性 6 数据库的故障恢复一般是由 ( ) ( A)数据流图完成的 ( B)数据字典完成的 ( C) DBA完成的 ( D) PAD图完成的 7 在 Windows环境下,截取当前整个屏幕只需按 ( )。 ( A) Ctrl+PrintScreen ( B) Alt+PrintScreen ( C) Shift+PrintScreen ( D) PrintScreen 8 树是结点的集合,它的根结点数目是 ( )。 ( A)有且只有
3、 1 ( B) 1或多于 1 ( C) 0或 1 ( D)至少 2 9 下列叙述中错误的是 ( A)在数据库系统中数据的物理结构必须与逻辑结构一致 ( B)数据库技术的根本目标是要解决数据的共享问题 ( C)数据库设计是指在已有数据库管理系统的基础上建立数据库 ( D)数据库系统需要操作系统的支持 10 下列不 属于逻辑运算符的是 ( )。 ( A) t ( B) | ( C) public int y; public void setX (int m) x=m; public int getX( ) return x; 现用 Test t=new Text();生成一个对象 t,则如下语句中
4、,错误的是 ( )。 ( A) t.x 10; ( B) t.y=10; ( C) t. setX(10); ( D) int m=t.getX( ); 16 下面代码的执行结果是 ( )。 public class test public static void main (String args) float m=5.0f; int n 4; System.out.println(+m)*(n-); ( A) 20.0 ( B) 20 ( C) 24.0 ( D) 24 17 下列关于 Java对 import语句规定的叙述中,错误的是 ( )。 ( A)在 Java程序中 import语
5、句可以有多个 ( B)在 Java程序中 import语句可以没有 ( C)在 Java程序中 import晤句必须有一个 ( D)在 Java程序中 import语句必须引入在所有类定义之前 18 下列程序段的输出结果是 _。 public class Test int a,b; Test( ) a=100; b=200; Test(int x,int y) a=X; b=y; public static void main(String args ) Test Obj1=new Test(12,45); System.out.println(“a=“+Obj1.a+“b=“+Obj1.B)
6、; Test Obj2=new Test( ); System.out.println(“a=“+Obj1.a+“b=“+Obj1.B); ( A) a=100 b=200 a=12 b=45 ( B) a=12 b=45 a=100 b=200 ( C) a=12 b=200 a=100 b=45 ( D) a=100 b=45 a=12 b=200 19 执行下列程序段之后,变量 n的值为 ( )。 public class Test public static void main(String args) int y = 2; int z = 3; int n = 4; n=n+-y*
7、z/n; System.out.println(n); ( A) 3 ( B) -1 ( C) -12 ( D) -3 20 如要抛出异常,应用下列 ( )子句。 ( A) catch ( B) throw ( C) try ( D) finally 21 下列说法错误的是 ( )。 ( A) Java的字符类型采用的是 Unicode编码,每个 Unicode码占 16位比特 ( B) Java的各种数据类型占用固定长度,与具体的软硬件平台环境无关 ( C) Java源程序是由类定义组成的,每个程序可以定义若干个类,但只有一个类是主类 ( D) Java Application只能在字符界面
8、下工作 22 下列说法不正确的是 ( )。 ( A) Java语言中,异常处理分为编译异常、运行异常、捕获异常三种 ( B)捕获异常要求在程序的方法中预先声明 ( C)运行异常在编程时必须定义 ( D)以上说法都不对 23 用于输入压缩文件格式的 ZiplnputStream 类所属包是 ( )。 ( A) java.util ( B) java.io ( C) java.nio ( D) java.util.zip 24 下列标准对话框 JOptionPane类创建的对话框中,综合了其他 3个对话框类型特点的是 ( )。 ( A) ConfirmDialog ( B) InputDialog
9、 ( C) OptionDialog ( D) MessageDialog 25 下面程序的输出结果是 ( )。 public class Sun public static void main(String args) inta=1, 2, 3, 4; int j=1, s=0; for(int i=3; i =0; i-) s=s+ai*j; j=j*10; System.out.println(s); ( A) 1234 ( B) 21 ( C) 43 ( D) 4321 26 设有整型数 组的定义: int a=new int8;则 a length的值为 ( ) ( A) 8 ( B
10、) 9 ( C) 7 ( D) 6 27 Java语言的字符变量以 char类型表示,它在内存中占 _位。 ( ) ( A) 8 ( B) 16 ( C) 32 ( D) 64 28 下面程序输出的结果是什么 ? ( ) public class Quiz2 public static void main(String args) try throw new MyException(); catch(Exception e) System.out.println(“Its caught!“); finally System.out.println(“Its finally caught!“);
11、 class MyException extends Exception ( A) Its finally caught! ( B) Its caught! ( C) Its caught!/Its finally caught! ( D)无输出 29 int类型的取值范围为 ( A) -216 216-1 ( B) -231 231-1 ( C) -232 232-1 ( D) -264 264-1 30 下列哪个代表双精度浮点数 ( )。 ( A) 1.524D ( B) 0.769f ( C) 368 ( D) 0L 31 以下不属于 Java程序结构 文件的是 ( )。 ( A) as
12、p文件 ( B) java文件 ( C) class文件 ( D) jar文件 32 在下列程序的划线处应填入的语句是 ( )。 class Person private int a: public class Man extends Person public int b; public static void main(String arg ) Person p=newPerson(); Man t=new Man(); int i; _ ( A) i=w; ( B) i=b; ( C) i=P.a; ( D) i=t.b; 33 下列哪个方法用来定义线程的具体行为,也就是定义线程体 ?
13、( A) start( ) ( B) run( ) ( C) init( ) ( D) thread( ) 34 下列关于 Java程序结构的说法有误的是 ( A) package语句可以有一个或多个 ( B) import语句可以有一个或多个 ( C)接口定义可以有一个或多个 ( D)每个 Application程序可 以包括许多方法,但必须有且只能有一个 main方法 35 下列属于合法的 Java标识符是 ( A) _cat ( B) 5books ( C) +static ( D) -3.14159 36 面向对象的模型中,最基本的概念是对象和【 】。 37 关系数据库管理系统能实现的
14、专门关系运算包括选择、连接和【 】。 38 数据结构分为线性结构和非线性结构,带链的队列属于【 】。 39 耦合和内聚是评价模块独立性的两个主要标准,其中【 】反映了模块内务成分之间的联系。 40 当实现 Runnable接口时,要实现的方法是 _。 41 数字签名的验证过程是:首先引入签名密钥的公钥,其次建立【 】,然后配置本地运行环境的安全策略。 42 Applet与 Application的主要区别在于执行方式上: Application以 main()方法为入口点运行,而 Applet要在【 】或 appletviewer中运行。 43 【 】日历类提供日期和时间的表示,它以格里历 (
15、即阳历 )来计算。 44 Java 源程序文件编译后产生的文件称为字节代码文件,其扩展名为【 】。 45 Java源程序文件编译后产生的文件成为字节码文件,其扩展名为【 】。 46 一个类的定义分为类注释、【 】和类体的定义。 47 接口可以看作是仅容纳【 】、常量,而又不能直接生成对象的特殊抽象类。 48 多线程是 Java语言的【 】机制,它能够处理同步共享数据和各种不同的事件。 49 下面程序的运行结果是 _。 import java.io.*; public class ABC public static void main(String args) int i; int a=11,
16、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(); 50 MouseMotionListener中的方法包括【 】 ()。 国家二级( JAVA)笔试模拟试卷 178答 案与解析 1 【正确答案】 C 【试题解析】 数据模型所描述的内容有数据结构、数据操作和数据约束。其中,数据结构主要描述数据的类型、内容、性质,以及数据库的联系等;数据操作主要描述在相应数据结构上的操作类型与操作方式。 2 【正确答案】
17、D 【试题解析】 PAD是问题分析图,常用于详细设计; PFD 是程序流程图,常用于详细设计,很多如 C、 VB 等程序设计书上都有简单的实例; N-S 是方框图,比程序流程图更灵活,也常用于详细设计; DFD是数据流图,用于需求分析。 3 【正确答案】 D 【试题解析】 滥用 goto语句将使程序流程无规律,可读性差,因此 A) 不选;注解行有利于对程序的理解,不应减少或取消, B) 也不选;程序的长短要依照实际情况而论,而不是越短越好, C) 也不选。 4 【正确答案】 C 【试题解析】 创建线程有两种方法:实现 java.lang.Runnable 接口和继承Thread 类并重写 ru
18、n()方法。无论通过哪种方式创建线程,都必须通过 run()方法定义线程体,因为一个线程在开始执行时,就是通过从其 run()方法开始执行的。Runnable接口中定义了抽象 run()方法,而 Thread 类本身也实现了 Runnable接口。 5 【正确答案】 C 【试题解析】 数据库系统的数据具有高共享性和低冗性,但不能完全避免数据冗余;数据库具有很高的数据独立性;数据的一致性是指在系统中同一数据的不同出现应保持相同的值。 6 【正确答案】 C 【试题解析】 一旦数据库中的数据遭受破坏,需要及时进行恢复, RDBMS 一般都提供此种功能,并由 DBA负责执行故障恢复功能。 7 【正确答
19、案】 D 8 【正确答案】 A 9 【正确答案】 A 【试题解析】 本 题考查数据库系统的基本概念和知识。数据的逻辑结构,是数据间关系的描述,它只抽象地反映数据元素之间的逻辑关系,而不管其在计算机中的存储方式。数据的存储结构,又叫物理结构,是逻辑结构在计算机存储器里的实现。这两者之间没有必然的联系。因此,选项 A的说法是错误的。 数据库可以看成是长期存储在计算机内的、大量的、有结构的和可共享的数据集合。因此,数据库具有为各种用户所共享的特点。不同的用户可以使用同一个数据库,可以取出它们所需要的子集,而且容许子集任意重叠。数据库的根本目标是要解决数据的共享问题。因此,选项 B的 说法是正确的。
20、数据库设计是在数据库管理系统的支持下,按照应用的要求,设计一个结构合理、使用方便、效率较高的数据库及其应用系统。数据库设计包含两方面的内容:一是结构设计,也就是设计数据库框架或数据库结构;二是行为设计,即设计基于数据库的各类应用程序、事务等。因此,选项 C的说法是错误的。 数据库系统除了数据库管理软件之外,还必须有其他相关软件的支持。这些软件包括操作系统、编译系统、应用软件开发工具等。对于大型的多用户数据库系统和网络数据库系统,还需要多用户系统软件和网络系统软件的支持。因此,选项D的说法是正确的。因此,本题的正确答案是选项 A。 10 【正确答案】 D 【试题解析】 !是逻辑非, |是逻辑或,
21、 &是逻辑与, |是按位或。 11 【正确答案】 B 【知识模块】 Java简单数据类型及运算 12 【正确答案】 C 【试题解析】 选项 A, random ()方法是 java. lang. Math 类中的求随机数的方法;选项 B, abs ()方法是 java. lang. Math类中的求绝对值的方法;选项 D, sin ()方法是 java. lang. Math 类中的求正弦 函数的方法;选项 C,是 Graphics类提供的画直线的方法。 13 【正确答案】 B 【试题解析】 此题涉及方法重载 (overload)、方法重写 (override)以及类派生时方法重写的规则方法重
22、载的规则是: (1)参数列表必须不同,参数个数不同完全可以,如果个数相同,则参数类型的不同不会引起歧义,例如 int和 long、 float和 double就不能作为唯一的类型不同; (2)返回值可以不同,但是不能是重载时唯一的不同点 (这点和 C+中不同, C+中返回类型必须一致 )。 方法重写发生在类继承时 ,子类可以重写父类中已有的方法,必须在返回类型和参数列表一样时才能说是重写,否则就是重载, Java中方法重写的一个重要而且容易被忽略的规则是重写的方法的访问权限不能比被重写的方法的访问权限低 ! 重写的另一个规则是重写的方法不能比被重写的方法抛出 (throws)更多种类的异常,其
23、抛出的异常只能少,或者是其子类,不能以抛出异常的个数来判断种类,而应该是异常类层次结果上的种类。 此题中选项 A的错误就是重写的访问权限比被重写的方法的低,而 B属于重载,选项 C的错误在于比被重写的方法抛弃了更多种类的异常。选项 D中,当只 传递两个变量的值的时候,系统就不知道到底调用哪个方法了,因为 b 为常量,可以不指定。所以只有选项 B 是符合题意的。 14 【正确答案】 D 【试题解析】 Java源文件以 .java为后缀, Java字节码文件以 .class为后缀。Java源文件中只有一个 public的类,该类的名字为源文件名,这里类 B 是以public修饰的,因此源文件名为
24、B.java。 15 【正确答案】 A 【试题解析】 本题考查 public和 private修饰符的访问权限。 public指明变量和方法为公有,可以通过其对象 直接访问,因此,选项 B、 C、 D都是正确的访问方法。 private指明变量为私有访问,只能被该类自己访问或调用,因此, A选项中不能通过其对象来访问私有变量。 16 【正确答案】 C 【试题解析】 本题考查自增 (自减 )运算和类型的自动转换。由于 +m表达式中 +在变量之前,所以先对 m进行自增运算,将 m加上 1.0,再将 m的值作为表达式+m的值,即 (+m)的值是 6.0;而在 n-表达式中, -在变量 n之后,所以先
25、取变量 n 的值作为表达式的值,变量 n再自减,即 (n-)的值是 4,然后作 6.0*4运算,此时整数 4会自动转换为实型数据再参与运算,所以结果是 24.0而不是 24。故选C。 17 【正确答案】 C 【试题解析】 Java程序中使用 import关键字导入一个包中的类。在一个 Java源程序中,可以有 0个或多个 import语句,但是必须在所有类定义之前引入标准类。因此,本题中选项 C的说法是错误的。 18 【正确答案】 B 【试题解析】 本程序中 Test类有两个构造方法,亦即使用了重载技术。不带参数的构造方法对类的实例变量进行特定数值的赋值,而带参数的构造方法根据参数对类的实例变
26、量 进行赋值。 19 【正确答案】 A 【试题解析】 程序段的第 4行是算术运算语句,该语句执行过程是:首先对 y值取负,得到 -2,然后乘以 z得到 -6,再除以 n得到 -1,最后和 n做加法得到 3,从而根据赋值运算将 3赋给变量 n。 20 【正确答案】 B 21 【正确答案】 D 22 【正确答案】 B 23 【正确答案】 D 24 【正确答案】 C 【试题解析】 本题考查关于 Swing中对话框的基本知识。选项 A错误,ConfirmDialog 确认对话框产生供用尸选择 “是 ”、 “否 ”的对 话框:选项 B错误,InputDialog 输入对话框提出问题,并接收用户输入的对话
27、框;选项 C正确,选项对话框 OpfionDialog 综合了 ConfirmDialog、 InputDialog、 MessageDialog3 种对话框类型的特点;选项 D错误, MessageDialog 消息对话框显示一条信息。故本题答案是 C。 25 【正确答案】 A 【试题解析】 本题考查对 for循环语句和数组的理解。 for语句中步长为 -1即每循环一次,循环变量 i的值减 1,数组进行反运算,即 ai取值 4、 3、 2、 1。故本题答案是 A。 26 【正确答案】 A 【试题解析】 该题考查的是数组长度的问题。由于 Java中的数组是 Array类的实例,所以用户可通过
28、Array类的 length 成员变量获取数组的长度。本题中a.length=8。 27 【正确答案】 B 【试题解析】 该题考查的是基本数据类型的字符类型。字符型变量的类型为char,它在机器中占 16 位,其范围为 0 65535。所以本题答案选 B。 28 【正确答案】 C 【试题解析】 本题是对异常处理基本知识的考查。本程序中创建了一个异常类MyExce ption,它的祖先类是 Exception。在程序中,程序先发出异常MyException,下面是 catch 捕获异常,但是 catch 列表中并没有与之对应的MyExcepfion,但是有一个 Exception,它是 MyEx
29、ception 的祖先类。如果有多种异常需要捕获,在安排 catch 语句的顺序时要注意,应该首先捕获最特殊的类,然后逐渐一般化。例如, IOExcepfion类是 FileNotFoundException 类的父类;就应该首先捕获 FileNotFoundException 异常,然后捕获 IOExcepfion 异常。所以运行结果是 Its caught!/Its finally caught! 29 【正确答案】 B 【试题解析】 本题考查 int类型的取值范围。 int类型是最常用的整数类型,存储时占 32位 bit,能表示的范围是 -231 231-1,选项 B正确。而 short
30、类型在存储时占 16位 bit,能表示的范围是 -216 216-1。 long类型存储时占 64位 bit,数据范围是 -264 264-1。正确答案为选项 B。 30 【正确答案】 A 31 【正确答案】 A 32 【正确答案】 D 33 【正确答案】 B 【试题解析】 一般情况下,通过重写 run()方法来定义线程体。 34 【正确答案】 A 【试题解析】 熟悉源代码的程序结构: package语句可以有零个或一个,指定源文件存入指定的包中。 误选选项 A),因为 Package语句可以有零个或一个,而 inport语句可以有一个或多个。 import语句可以有一个或多个,必须在所有类定
31、义之前引入标准类;每个 Java应用程序可以包括许多方法,但必须有且只能有一个 main 方法; Java语言规定,应用程序从 main()方法开始执行,它是程序执行的入口,并且包含 main()方法的类必须是公共类。 35 【正确答案】 A 【试题解析】 本题考查 Java标识符的命名规则。这是考试重点内容。 Java中标识符的命名规则是:标识符以字母、下划线、美元符作为首字符的字符串序列;标识符是区分大小写的;标识符的字符数没有限制。由此可见 Java中标识符不能以数字开头,所以选项 B错误,不能以 “+”开头,选项 C错误,不能以 “-”开头,选项 D错误,只有选项 A是正确答案。 36
32、 【正确答案】 类 【试题解析】 面向对 象模型中,最基本的概念是对象和类。对象是现实世界中实体的模型化;将属性集和方法集相同的所有对象组合在一起,可以构成一个类。 37 【正确答案】 投影 【试题解析】 专门关系运算包括对单个关系进行垂直分解 (投影操作 )或水平分解(选择操作 )和对多个关系的结合 (连接操作 )等。 38 【正确答案】 线性结构 【试题解析】 与栈类似,队列也是线性表,也可以采用链式存储结构。 39 【正确答案】 内聚 【试题解析】 内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量,内聚是从功能角度来 度量模块内的联系;耦合性是模块间互相连接的紧密程度的度量。 40
33、 【正确答案】 run() 【试题解析】 创建线程有两种方法:实现 java.lang.Runnable 接 El和继承Thread 类并重写 run()方法。 Runnable接口中只定义了一个抽象方法 run(),因此要实现 run()方法。 41 【正确答案】 安全策略 【试题解析】 首先将签名密钥的公钥引入本地策略库;,然后建立策略文件,再对签名的代码授予相应的权限,最后配置运行环境,执行安全策略。 42 【正确答案】 浏览器 【试题解析】 Applet自身不能运行,必须嵌入在其他应用程序 (如 Web 浏览器或Java appletviewer)中运行。 43 【正确答案】 Greg
34、orianCalendar 【试题解析】 GregofianCalendar 是以格里历 (即阳历 )来计算的日历类。 44 【正确答案】 class (或 .class) 45 【正确答案】 class(或 .class) 46 【正确答案】 类声明 47 【正确答案】 抽象方法 【试题解析】 本题考查接口的概念。接口是一种 只含有抽象方法或常量的一种特殊抽象类。接口是不包含成员变量和方法实现的抽象类,它只包含常量和方法的定义,而不包含任何实现。 48 【正确答案】 并发 【试题解析】 Java语言的开发运行环境都是互联网,在这种分布式的环境中,并发和共享是很常见的事务,要能并行地处理很多的事务,就要求 Java语言提供一种可靠和高效的机制来满足高并发事务处理的要求。多线程很好地解决了网络上的瓶颈问题,很好地解决了大数量地网络访问问题。 49 【正确答案】 110 110 110 110 110 50 【正确答案 】 【 】 mouseDragged() mouseMoved() 【试题解析】 接口 MouseMotionListener中包括两个方法,分别为:mouseDragged(),鼠标按键在组件上按下并拖动时调用; mouseMoved(),鼠标光标移动到组件上但无按键按下时调用。