1、国家二级( JAVA)笔试模拟试卷 209及答案与解析 1 程序流程图 (PFD)中的箭头代表的是 ( )。 ( A)数据流 ( B)控制流 ( C)调用关系 ( D)组成关系 2 设一棵完全二叉树共有 699个结点,则该二叉树中的叶子结点数为 ( )。 ( A) 349 ( B) 350 ( C) 255 ( D) 351 3 如果使用 Thread t=new Test()语句创建一个线程,则下列叙述正确的是 ( A) Test类一定要实现 Runnable接口 ( B) Test类一定是 Thread类的子类 ( C) Test类一定是 Runnable类的子类 ( D) Test类一定
2、是继承 Thread类,并且实现 Runnable接口 4 下列关于软件测试的描述中正确的是 ( )。 ( A)软件测试的目的是证明程序是否正确 ( B)软件测试的目的是使程序运行结果正确 ( C)软件测试的目的是尽可能多地发现程序中的错误 ( D)软件测试的目的是使程序符合结构化原则 5 数据库系统的核心是 ( )。 ( A)数据模型 ( B)数据库管理系统 ( C)软件工具 ( D)数据库 6 程序设计语言的基本成分是数据成分、运算成分、控制成分和 ( ) ( A)对象成分 ( B)变量成分 ( C)语句成分 ( D)传输成分 7 对象实现了数据和操作的结合,是指对数据和数据的操作进行 (
3、 ) ( A)结合 ( B)隐藏 ( C)封装 ( D)抽象 8 下面不属于软件设计原则的是 ( A)抽象 ( B)模块化 ( C)自底向上 ( D)信息隐蔽 9 Sun公司的网络计算机又称为 ( )。 ( A) PC ( B) NC ( C) NetPC ( D) Professor 10 如果线程调用下列方法,不能保证使该线程停止运行的是 ( )。 ( A) sleep() ( B) stop() ( C) yield() ( D) wait() 11 在关系数据库中,用来表示实体之间联系的是 _。 ( A)树结构 ( B)网结构 ( C)线性表 ( D)二维表 12 下列不属于低级事件的
4、一项是 _。 ( A) PaintEvent ( B) InputEvent ( C) FocusEvent ( D) ActionEvent 13 以下类中 ,不具有缓冲功能的是 ( )。 ( A) BufferedInputStream ( B) MappedByteBuffer ( C) ObjectOutputStream ( D) BufferedReader 14 下面程序中需要对 Employee的对象进行存储,横线处应填入的语句是 ( )。 classEmployee implements_ . ( A) Comparable ( B) Serializable ( C) Cl
5、oneable ( D) DataInput 15 下面程序段的输出结果是 ( )。 public class Test t public static void main(String args) int x=0; for (int i=1;i 4;i+) x=4; for(int j=1;j 3; j+) x=3; for(int k=1; k 2; k+) x=x+6; System. out. println (x); ( A) 36 ( B) 48 ( C) 144 ( D) 15 16 下列关于对象删除的说法中,正确的是 ( )。 ( A)只有当程序中调用 System.gc()方
6、法时才能进行垃圾收集 ( B) Java中的对象都很小,一般不进行删除操作 ( C) Java把没有引用的对象作为垃圾收集起来并释放 ( D)必 须由程序员完成对象的清除 17 下列运算符中属于关系运算符的是 ( )。 ( A) = ( B) = ( C) += ( D) -= 18 下列哪个程序段可能导致错误 ? ( A) String s=“hello“; String t= “good“; String k=s+ t; ( B) String s=“hello“; String t; t=s3+“one“; ( C) String s=“hello“; String standard=s
7、. toUpperCase ( D) String s=“hello“; String t =s+ “good“ 19 设 A为已定义的类名,则下列声明 A类的对象 a的语句中正确的一项是 ( A) public A a=new A(); ( B) public A a=A(); ( C) A a=new class(); ( D) aA; 20 下列关于线程优先级的说法中,正确的是 ( )。 ( A)线程的优先级是不能改变的 ( B)线程的优先级是在创建线程时设置的 ( C)在创建线程后的任何时候都可以设置 ( D) B和 C 21 int类型的取值范围为 ( )。 ( A) -216 21
8、6-1 ( B) -231 231-1 ( C) -232 232-1 ( D) -264 264-1 22 十进制数 16的十六进制表示格式是 ( )。 ( A) 0x10 ( B) 0x16 ( C) 0xA ( D) 016 23 下面程序的运行结果是 ( )。 public class Increment public static void main(String args ) int c; c=5; System.out.println(c) ; System.out.println(c+); System .out.println(c) ; ( A) 5 6 6 ( B) 5 5
9、 6 ( C) 6 7 7 ( D) 6 6 6 24 下列语句执行后, i的值是 ( )。 public class Test public static void main(String args) int i =0; for(int j=10; j 5 j-=3,i+=2) i=i+j; System.out.println(i); ( A) 8 ( B) 9 ( C) 10 ( D) 12 25 对于构造方法,下列叙述正确的是 ( )。 ( A)构造方法的方法名必须与类名相同 ( B)构造方法必须用 void申明返回类型 ( C)构造方法可以被程序调用 ( D)若编程人员没在类中定义构
10、造方法,程序将报错 26 JDBC中要显式地关闭连接的命令是 ()。 ( A) Connection.close(); ( B) RecordSet.close(); ( C) Connection.stop(); ( D) Connection.release(); 27 下面创建一个新文件对象方法错误的是 ( )。 ( A) File myFile; myFile=new File(“mulu/file“); ( B) File myFile=new File(); ( C) myFile=new FileC/mulu“,“filel“); ( D) File myDir=new file
11、(“/mulu“); myFile=new File(Dir, “filer); 28 对于 try和 catch子句的排列,下列各项中正确的是 ( )。 ( A)子类异常在前,父类异常其后 ( B)父类异常在前,子类异常其后 ( C)先有子类,其他如果排列都无关 ( D)有继承关系的异常不能在同一个 try程序段内 29 下面关于串行化的说法中正确的是 ( )。 :对象串行化机制需要将对象的状态保存到文件中,而后能够通过读入对象状态来重新构造对象,恢复程序状态。 :通过让类实现 java.io.Serializable接口可以将类串行化。这个接口是一个制造者 (marker)接口。也就是说,
12、对于要实现它的类来说,该接口不需要实现任何方法 。 :将对象读出或者写入流的主要类有两个: ObjectOutputStream与ObjectInputStream。 :以上都不对。 ( A) 、 ( B) 、 ( C) 、 、 ( D) 、 30 Applet类的直接父类是 ( )。 ( A) Component类 ( B) Container类 ( C) Frame类 ( D) Panel类 31 下面关于 Java语言中的方法说法不正确的是 ( ) ( A) Java中的方法的参数传递是传值调用,而不是地址调用 ( B)方法体是对方法的实现,包括变量声明和 Java的合法语句 ( C)如
13、果程序定义了一个或多个构造方法,在创建对象时,也可以用系统自动生成空的构造方法 ( D)类的私有方法不能被其子类直接访问 32 自定义的异常类可从下列哪个类继承 ? ( ) ( A) Error ( B) AWTError ( C) VirtualMachineError ( D) Exception及其子集 33 下列对继承的说法正确的一项是 ( A)子类能继承父类的所有方法和状态 ( B)子类能继承父类的非私有方法和状态 ( C)子类只能继承父类的 public方法和状态 ( D)子类只能继承父类的方法,而不能继承状态 34 按照 Java的标识符命名规则,下列表示一个类的标识符正确的是
14、( A) Helloworld ( B) HelloWorld ( C) helloworld ( D) helloWorld 35 阅读和理解下面程序段: class Manager extends Employee public Manager(String n,double s,int year,int month,int day) super(n,s,year,month,day); bonus=O; public double getSalary() double baseSalary=super,gerSalary(); return baseSalary+bonus; publi
15、c void setBonus(double b); bonus=b; private double bonus; Manager是 Employee的子类,其理由是 ( A) Manager的适用范围较宽 ( B) extends关键字声明 ( C) Manager的域减小了 ( D)雇员是一个经理 36 对长度为 10的线性表进行冒泡排序,最坏情况下需要比较的次数为【 】。 37 关系模型的数据操纵是建立在关系上的数据操纵,一般有【 】、增加、删除和修改四种操作。 38 在面向对象方法中,类之间共享属性和操作的机制称为【 】。 39 在 Java中,线程的模型就是一个 CPU、程序代码和
16、_的封装体。 40 通常,将软件产品从提出、实现、使用维护到停止使用、退役的过程称为_。 41 采用 GridLayout布局管理器的容器,其中的各构件呈 _布局。 42 顺序执行下面两个语句的输出结果为【 】。 String s “全国计算机等级考试 ”; System.out.println (s.length(); 43 Swing的事件处理机制包括 _、事件和事件监听者。 44 【 】类是由 Java编译器自动生成的,它伴随每个类。 45 用来填充几何图形的方法是【 】。 46 加载 Applet时,发生的操作是:产生 1个 Applet类的 【 】,然后对 Applet进行初始化,最
17、后启动 Applet。 47 一般在 Applet中,声音文件的加载只需要进行一次,一般在 _ 方法中。 48 下面程序分别用 while、 do-while和 for语句实现 1 10累计求和。请在横线处填入适当内容完成程序。 public class Sum public static void main(String args) System out println(“n*while循环 *“): int n=10, sum=0; while(_) sun+=n: n-; System out println(“sum is“+sum); System out println(“n*do
18、_while循环 *“); n=0; sum=0; do sum+=n; n+; while( ); System out println(“sam is“+sum); System out println(“n*for循环 *“): sum=0; for(int i=1; _i+) sum+=i; System out println(“sum is“+sum); 49 顺序存储方法是把逻辑上相邻的结点存储在物理位置 _ 的存储单元中。 50 过滤字节输出流都是【 】抽象类的子类。 国家二级( JAVA)笔试模拟试卷 209答案与解析 1 【正确答案】 B 【试题解析】 程序流程图 (PFD
19、)是一种传统的、应用广泛的软件过程设计表示工具,通常也称为程序框图,其箭头代表的是控制流。 2 【正确答案】 B 【试题解析】 所谓完全二叉树是指除最后一层外,每一层上的结点数均达到最大值;在最后一层上只缺少右边的若干结点。具有 n 个结点的完全二叉树,其父结点数为 int(n/2),而叶子结点数等于总结点数减去父结点数。本题 n=699,故父结点数等于 int(699/2) 349,叶子结点数等于 699-349 350。 3 【正确答案】 A 【试题解析】 无论通过哪种方式创建线程,都必须通过 run()方法定义线程体,因为一个线程在开始执行时,就是通过从其 run()方法开始执行的。 R
20、unnable接口中定义了抽象 run()方法,而 Thread 类本身也实现了 Runnable 接口,所以在创建一个线程时必须实现 run()方法,即一定要实现 Runnable接口。 4 【正确答案】 C 【试题解析】 软件测试是为了尽可能多地发现程序中的错误,尤其是至今尚未发现的错误。 5 【正确答案】 B 6 【正确答案】 D 【试题解析】 程序设计语言是用于 书写计算机程序的语言,其基本成分有以下 4种,数据成分:用来描述程序中的数据。运算成分:描述程序中所需的运算。控制成分:用来构造程序的逻辑控制结构。传输成分:定义数据传输成分,如输入输出语言。 7 【正确答案】 C 【试题解析
21、】 对象是由数据及可以对这些数据施加的操作组成的统一体。对象的内部,即处理能力的实行和内部状态,对外是看不见的,这一特性称做对象的封装。 8 【正确答案】 C 【试题解析】 软件设计遵循软件工程的基本目标和原则,建立了适用于在软件设计中应该遵循的基本原理和与软件设计有 关的概念。它们是:抽象、模块化、信息隐蔽、模块独立性。没有自底向上,所以,本题的正确答案是 C。 9 【正确答案】 B 10 【正确答案】 C 【试题解析】 线程的方法中 sleepO 方法是使比其优先级低的线程运行;该方法使一个线程暂停运行一段固定时间。在休眠时间内,线程将不运行,低优先级的线程将有机会运行。 yield0方法
22、为只让给同优先级的线程运行。如果没有同等优先级的,线程是可运行状态, yield0方法将什么也不做,即线程将继续运行。 stop()方法是强行终止线程。 wait()方法是线程间交互 的方法,是使一个线程停止运行,进入等待状态。 11 【正确答案】 D 【知识模块】 数据库设计基础 12 【正确答案】 D 【知识模块】 编写用户界面程序 13 【正确答案】 C 【试题解析】 一般带有 “Buffer”的流类都具有数据缓冲功能。 14 【正确答案】 B 【试题解析】 将 Java程序中的对象保存在外存中,称为对象永久化。对象永久化的关键是将它的状态以一种串行格式表示出来,以便以后读该对象时能够把
23、它重构出来。因此对 Java对象的读、写的过程称为对象串行化 。一个类只有实现了Serializable接口,它的对象才是可串行化的。本题中需要对 Employee的对象进行存储,因此 Employee 类应实现 Serializable接口,所以横线上应填入需要实现的接口名: Serializable。 15 【正确答案】 D 【试题解析】 题目中是一个三个循环的嵌套,但是每次循环时, x都将重新赋值,所以只计算最后一次即可, x=3,执行了两次 x=x+6,所以 x=15,选 D。 16 【正确答案】 C 【试题解析】 Java运行时,系统通过垃圾收集器周期性地释 放对象所使用的内存,完成
24、对象的清除。当不存在对一个子对象的引用时,该对象成为一个无用对象。 Java的垃圾收集器自动扫描对象的动态内存区,对被引用的对象加标记,然后把没有引用的对象作为垃圾收集起来并释放。垃圾收集器作为一个线程运行。当系统的内存用尽或程序中调用 System.gc()要求进行垃圾收集时,垃圾收集线程与系统同步运行。否则垃圾收集器在系统空闲时异步地执行。 17 【正确答案】 A 【试题解析】 选项 A中 =表示相等关系,是关系运算符;选项 B 中 =是赋值运算符;选项 C与 D中的 +=和 -=为复合赋 值运算符。 18 【正确答案】 B 【试题解析】 选项 A)String类型可以直接使用 “+”运算
25、符进行连接运算。选项B)String是一种 Object,而不是简单的字符数组,不能使用下标运算符取其值的某个元素,错误。选项 C)toUpperCase()方法是 String对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的结果 (String类型 )。选项 D)同选项A)。 19 【正确答案】 A 【试题解析】 本题考查对象的声明。对象的生成包括声明、实例化和初始化 3个方面的内容。一般 格式是先定义一个对象变量,再用关键字 new生成一个对象,并为对象中的变量赋初值。如下所示: type objectName=new type(参数 ),所以正确答案为选项 A。 20 【
26、正确答案】 C 【试题解析】 本题考查线程优先级的概念。首先应该了解 Java的线程是有优先级的,并且可以控制其优先级,可以排除选项 A;选项 B和选项 C本身就矛盾,故选项 D是错误的, B和 C不能同时选择。线程的优先级在创建线程时可以设置,也可以通过 getPriority()方法来获得线程的优先级,通过 setPriority()方法来设定线程的优先级。线程的优先级属于考试重点内容,应该重点掌握。 21 【正确答案】 B 【试题解析】 本题考查 int类型的取值范围。 int类型是最常用的整数类型,存储时占 32位 bit,自表示的范围是 -2的 31次方至 2的 31次方 -1,选项
27、 B正确。而short类型在存储时占 16 位 bit,能表示的范围是 -2的 16次方至 2的 16次方 -1。long类型存储时占 64位 bit,数据范围是 -2的 64次方至 2的 64次方 -1。正确答案为选项 B。 22 【正确答案】 A 【试题解析】 本题考查 Java语言中的进制换算。首先要清楚各种进制的表示方法。整型常量有 3种书写格式:十进制整数,如 156, -230, 345;八进制整数:以 0开头,如 012表示十进制的 10;十六进制整数:以 0x或 OX开头,如 0X123表示十进制数 291。而十进制数 16相当于十六进制的 10,所以选项 A正确。 23 【正
28、确答案】 B 【试题解析】 本题考查自增运算符 +的使用,第一个输出语句输出 c的值为5,System. out. println (c+)输出表达式 c+的值,由于 +在变量 c之后,所以表达式 c+的值 为 5,待输出之后,变量 c的值为 6。最后一个输出语句输出的 c的值则为 6。 24 【正确答案】 D 【试题解析】 变量 i和 j的初始值分别为 0和 10,判断结束条件 j 5&i 5为true,执行 i=i+j;得到 i=10,再做 j-=3和 i+=2,分别得到 i=12 和 j=7,判断结束条件 j 5&i 5为 false,停止循环,因此 i的值为 12,正确答案为 D。 2
29、5 【正确答案】 A 26 【正确答案】 A 27 【正确答案】 B 28 【正确答案】 A 【试题解析】 Java语言中, 在捕获父类异常时对其子类异常也捕获了,根据 try和 catch 的匹配原则,尽量使用一个父类去捕获其所有子类的异常,所以 A选项描述的子类异常在前,父类异常其后是正确的。 29 【正确答案】 C 【试题解析】 本题是考查串行化的概念。对象串行化机制需要将对象的状态保存到文件中,而后能够通过读入对象状态来重新构造对象,恢复程序状态,对使用套接字在网络上传送对象的程序来说,是很有用的。通过让类实现 java.io.Serializable接口可以将类串行化。这个接口是一个
30、制造者 (marker)接口。也就是说 ,对于要实现它的类来说,该接口不需要实现任何方法。它主要用来通知 Java虚拟机 (JVM),将一个对象串行化。 ObjectOutputStrcam 提供用来将对象写入输出流的 writeObject方法, ObjectlnputStrcam提供从输入流中读出对象的 readObject方法。 30 【正确答案】 D 【试题解析】 Java语言中, Applet是 java.awt.panel 类的直接子类。 31 【正确答案】 C 【试题解析】 Java中的方法的参数传递是传值调用,而不是地址调用。 选项 A正确;方法体是对方法的实现,包括变量声明和
31、 Java的合法语句,选项 B正确;类的私有方法不能被其子类直接访问,选项 D是正确的;选项 C的说法不正确,在创建对象时,不可以用系统自动生成空的构造方法。 32 【正确答案】 D 【试题解析】 Java语言中 Throwable 类分为 Error和 Execption 两个子类。自定义的异常类是从 Exception 及其子集类继承的。 33 【正确答案】 A 【试题解析】 本题考查继承的概念。继承性是面向对象方法的一个重要基本特征,它使代码可重用,可降 低程序复杂性。对一个类的继承也就是构件了一个子类,于类继承了父类的方法和状态,同时还可以向新类中增添新的方法和状态。由此可见选项 A正
32、确。 34 【正确答案】 B 【试题解析】 本题考查 Java类名的命名规则。类名与接口名都采用完整的英文描述,并且所有单词的第一个字母大写。包采用完整的英文描述符,都是由小写字母组成。类的变量采用完整的英文描述,第一个字母小写,任何中间单词的首字母大写。常量名全部采用大写字母,单词之间用下划线分隔。应该掌握命名规则,不仅因为它是考试重点,同时也是养成良好编程习惯的基础 。 35 【正确答案】 B 【试题解析】 本题考查 Java中子类的概念。 Java中通过在类声明中加入extends 子句来创建子类,格式为: class SubClass extens SuperClass 。题目中cla
33、ss Manager extends Employee 语句定义 Manager类为 Employee 类的子类,所以选项 B 是正确答案。 Manager类定义了 Manager(String n,double s,int year,int month,int day)、 getSalary()和 setBonus(doubleb)成员方法和 bonus 成员变量。 36 【正确答案】 45 【试题解析】 假设线性表的长度为 n,则在最坏情况下,冒泡排序需要经过 n/2遍的从前往后扫描和 n/2遍的从后往前扫描,需要比较的次数为 n(n-1)/2。 37 【正确答案】 查询 38 【正确答案
34、】 继承 【试题解析】 类是面向对象语言中必备的程序语言结构,用来实现抽象数据类型。类与类之间的继承关系实现了类之间的共享属性和操作,一个类可以在另一个已定义的类的基础上定义,这样使该类型继承了 其超类的属性和方法,当然,也可以定义自己的属性和方法。 39 【正确答案】 数据 【试题解析】 线程是程序中的一个执行流。一个执行流是由 CPU 运行程序的代码、操纵程序的数据所形成的。 Java中的线程模型包含 3部分:一个虚拟的CPU;该 CPU执行的代码;代码所操作的数据。 40 【正确答案】 软件生命周期 41 【正确答案】 网格状 【知识模块】 编写用户界面程序 42 【正确答案】 9 【试
35、题解析】 提取字符串的长度可以用 length()方法,其返回字符串的字符个数。 43 【正确答案】 事件源 【试题解析】 本题考查 Swing的事件处理机制。 Swing的事件处理机制继续沿用了 AWT的事件处理机制,基本的事件处理需要使用 java.awt.event包中的类,但java.swing.event包中也增加了一些新的事件及其监听接口。事件处理机制中仍旧包含 3个角色:事件源、事件和事件处理者 (事件监听程序 )。事件源就是 Swing的各种构件,与之对应的就是事件监听器接口。 44 【正确答案】 Class 【试题解析】 本题考查 Java中的 Class类。注意掌握 Jav
36、a中比较特殊的类,比如 Object类、 Class 类、 Sysmm类等。 Object是所有类的根,它所包含的属性和方法被所有类继承。 Class类是由编译器自动产生的一个特殊类,伴随每个类。System是一个 final类,所有的方法都用类变量来调用,不能实例化,主要提供了标准输入 /输出和系统环境信息的访问、设置。 45 【正确答案】 fillArc(int x, int y, int width, int width, int height, mtstartAngle, int arcAngle) 【 试题解析】 fillArc(int x, int y, int width, in
37、t width, int height, int startAngle, int arcAngle)是用当前的颜色填充弧的内部,形成扇形的区域。 x是横坐标, y是纵坐标, width 是弧的宽度, height是弧的高度, startAngle是起始角度, arcAngle是弧所跨的角度。该方法是用当前的颜色,来填充指定的多边形。 46 【正确答案】 实例 【试题解析】 Applet被加载到本地系统时,首先产生 Applet类的一个实例,再进行初始化,最后进入执行状态。 47 【正确答案】 init() 48 【正确答案】 n 0 n =10 I =10; 49 【正确答案】 相邻 50 【正确答案】 【 】 FilterOutputStream 【试题解析】 主要熟悉 java.io包中的几个输入输出流。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1