[计算机类试卷]2007年4月国家二级(JAVA)笔试真题试卷及答案与解析.doc

上传人:arrownail386 文档编号:492624 上传时间:2018-11-30 格式:DOC 页数:31 大小:132.50KB
下载 相关 举报
[计算机类试卷]2007年4月国家二级(JAVA)笔试真题试卷及答案与解析.doc_第1页
第1页 / 共31页
[计算机类试卷]2007年4月国家二级(JAVA)笔试真题试卷及答案与解析.doc_第2页
第2页 / 共31页
[计算机类试卷]2007年4月国家二级(JAVA)笔试真题试卷及答案与解析.doc_第3页
第3页 / 共31页
[计算机类试卷]2007年4月国家二级(JAVA)笔试真题试卷及答案与解析.doc_第4页
第4页 / 共31页
[计算机类试卷]2007年4月国家二级(JAVA)笔试真题试卷及答案与解析.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、2007 年 4月国家二级( JAVA)笔试真题试卷及答案与解析 1 下列叙述中正确的是 ( A)算法的效率只与问题的规模有关,而与数据的存储结构无关 ( B)算法的时间复杂度是指执行算法所需要的计算工作量 ( C)数据的逻辑结构与存储结构是一一对应的 ( D)算法的时间复杂度与空间复杂度一定相关 2 在结构化程序设计中,模块划分的原则是 ( A)各模块应包括尽量多的功能 ( B)各模块的规模应尽量大 ( C)各模块之间的联系应尽量紧密 ( D)模块内具有高内聚度、模块间具有低耦合度 3 下列叙述中正 确的是 ( A)软件测试的主要目的是发现程序中的错误 ( B)软件测试的主要目的是确定程序中

2、错误的位置 ( C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作 ( D)软件测试是证明软件没有错误 4 下面选项中不属于面向对象程序设计特征的是 ( A)继承性 ( B)多态性 ( C)类比性 ( D)封装性 5 下列对队列的叙述正确的是 ( A)队列属于非线性表 ( B)队列按 “先进后出 ”原则组织数据 ( C)队列在队尾删除数据 ( D)队列按 “先进先出 ”原则组织数据 6 对下列二叉 树进行前序遍历的结果为 ( A) DYBEAFCZX ( B) YDEBFZXCA ( C) ABDYECFXZ ( D) ABCDEFXYZ 7 某二叉树中有 n个度为 2的结点

3、,则该二叉树中的叶子结点数为 ( A) n+1 ( B) n-1 ( C) 2n ( D) n/2 8 在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是 ( A)并 ( B)交 ( C)投影 ( D)笛卡儿乘积 9 在 E-R图中,用来表示实体之间联系的图形是 ( A)矩形 ( B)椭圆形 ( C)菱形 ( D)平行 四边形 10 下列叙述中错误的是 ( A)在数据库系统中数据的物理结构必须与逻辑结构一致 ( B)数据库技术的根本目标是要解决数据的共享问题 ( C)数据库设计是指在已有数据库管理系统的基础上建立数据库 ( D)数据库系统需要操作系统的支持 11 Java语言与 C

4、+语言相比,最突出的特点是 ( A)面向对象 ( B)高性能 ( C)跨平台 ( D)有类库 12 下列叙述中,错误的是 ( A) Java提供了丰富的类库 ( B) Java最大限度地利用网络资源 ( C) Java支持多线程 ( D) Java不支持 TCP/IP协议 13 在下列 Java语言的包中,提供图形界面构件的包是 ( A) java.io ( B) javax.swing ( C) ( D) java.rmi 14 下列叙述中,错误的是 ( A) iavac.exe是 Java的编译器 ( B) javadoc.exe是 Java的文档生成器 ( C) iavaprof.ex

5、e是 Java解释器的剖析工具 ( D) javap.exe是 Java的解释器 15 在执行 Java程序时,将应用程序连接到调试器的选项是 ( A) -D ( B) -debug ( C) -vexbosegs ( D) -mx 16 请阅读下面程序 import java.io. *; public class TypeTransition public static void main(String args) char a=a; int i=l00; long y=456L; int aa=a+i; long yy=y-aa; System.out.print(“aa = “+a (

6、 A) aa=197 yy=259 ( B) aa=177 yy=259 ( C) aa=543 yy=288 ( D) aa=197 yy=333 17 请阅读下面程序 public class OperatorsAndExpressions void residual() int i=100, j=30; float m=563.5f, n=4.0f; System.out.println(i%j); System.out.println(m%n); public static void main(String args) OperatorsAndExpressions OperAndEx

7、p=new OperatorsAndExpressions(); /取模运算符在整数和浮点数中的应用 OperAndExp.residual; 程序运行结果是 ( A) 10 3.5 ( B) 20 2.5 ( C) 10 4.5 ( D) 20 3.5 18 请阅读下面程序 public class ForLoopStatement public static void main(string args) int i,j; for (i=1; i 5; i+) /i循环 for (j=1;j =i;j+) /j循环 System.out.print(i+“+j+“=“+i*j+“ “); S

8、ystem.out.println(); 程序完成后, i循环和 j循环执行的次数分别是 ( A) 4, 10 ( B) 8, 9 ( C) 9, 8 ( D) 10, 10 19 下列叙述中,错误的是 ( A) Java中,方法的重载是指多个方法可以共享同一个名字 ( B) Java中,用 abstract修饰的类称为抽象类,它不能实例化 ( C) Java中,接口是不包含成员变量和方法实现的抽象类 ( D) Java中,构造方法可以有返回值 20 请阅读下面程序 public class ExampleStringBuffer public static void main(String

9、args) StringBuffer sb=new StringBuffer(“test“); System.out.println(“buffer=“+sB) ; System.out.println(“length=“+sb.length(); 程序运行结果中在 “length=“后输出的值 ( A) 10 ( B) 4 ( C) 20 ( D) 30 21 请阅读下面程序 import java.io.*; public class ExceptionCatch public static void main(String args) try FilelnputStream fis=ne

10、w FilelnputStream(“text“); System.out.println(“content of text is:“); catch(FileNotFoundException e) System.out.println(e); System.out.println(“message:“+e.getMessageO); e.printStackTrace(System.out); _ System.out.println(e); 为保证程序正确运行,程序中下划线处的语句应是 ( A) catch(FilelnputStream fis) ( B) e.printStackTr

11、ace() ( C) catch(IOException e) ( D) System.out.println(e) 22 下列叙述中,错误的是 ( A)所有的字节输入流都从 InputStream类继承 ( B)所有的字节 输出流都从 OutputStream类继承 ( C)所有的字符输出流都从 OutputStreamWriter类继承 ( D)所有的字符输入流都从 Reader类继承 23 下列叙述中,正确的是 ( A)线程与进程在概念上是不相关的 ( B)一个线程可包含多个进程 ( C)一个进程可包含多个线程 ( D) Java中的线程没有优先级 24 请阅读下面程序 public c

12、lass ThreadTest public static void main(String args) ( Thread t1=new Thread(new Hello(); Thread t2=new Thread(new Hello(); t1.start(); t2.start(); class Hello implements Runnable int i; public void run() while(true) System.out.prinfin(“Hello“+i+); if(i=5) break; 该程序创建线程使用的方法是 ( A)继承 Thread类 ( B)实现 R

13、unnable接口 ( C) t1.start() ( D) t2.start() 25 Java对 I/O访问所提供的同步处理机制是 ( A)字节流 ( B)过滤流 ( C)字符流 ( D)压缩文件流 26 Java对文件类提供了许多操作方法,能获得文件对象父路径名的方法是 ( A) getAbsolutePath() ( B) getParentFile() ( C) getAbsoluteFile() ( D) getName() 27 下列叙述中,错误的是 ( A) Java中没有检测和避免死锁的专门机制 ( B)程序中多个线程互相等待对方持有的锁,可能形成死锁 ( C)为避免死锁,

14、Java程序中可先定义获得锁的顺序,解锁是按加锁的反序释放 ( D)为避免死锁, Java程序中可先定义获得锁的顺序,解锁是按加锁的正序释放 28 请阅读下面程序 public class ThreadTest public static void main(String args) throws Exception int i=0; Hello t=new Hello(); while(true) System.out.println(“Good Moming“+i+); if (i=2 t.join(); /等待 t运行结束 if(i=5) break; class Hello exten

15、ds Thread int i; public void run() while(true) System.out.println(“Hello“+i+); if (i=5) break; 为使该程序正确执行,下划线处的语句应是 ( A) t.sleep() ( B) t.yield() ( C) t.interrupt() ( D) t.start() 29 Panel类的默认布局管理器是 ( A) BorderLayout ( B) CardLayout ( C) FlowLayout ( D) GridBagLayout 30 下列叙述中,错误的是 ( A) JButton类和标签类可显

16、示图标和文本 ( B) Button类和标签类可显示图标和文本 ( C) AWT构件能直接添加到顶层容器中 ( D) Swing构件不能直接添加到顶层容器中 31 下列叙述中,错误的是 ( A) Applet的默认布局管理器是 FlowLayout ( B) JApplet中增加构件是加到 JApplet的内容面板上,不是直接加到 JApplet中 ( C) JApplet的内容面板的默认布局管理器是 BorderLayout ( D) JApplet的内容面板的默认布局管理器是 FlowLayout 32 在定制 Applet的绘图功能时,应该使用 的方法是 ( A) init() ( B)

17、 start() ( C) paintComponent() ( D) paint() 33 下列叙述中,错误的是 ( A) Applet事件处理机制与 JavaApplication相同 ( B) JApplet事件处理机制采用监听器方式 ( C) Applet事件处理机制采用监听器方式 ( D) JApplet事件处理机制不是采用监听器方式 34 为保护本地主机,对 Applet安全限制中正确的是 ( A) Applet可加载本地库或方法 ( B) Applet可读、写本地计算 机的文件系统 ( C) Applet可向 Applet之外的任何主机建立网络连接 ( D) Applet不能运行

18、任何本地可执行程序 35 J2SDK基本命令中能生成 C语言头文件的命令是 ( A) javah ( B) javap ( C) jar ( D) java 36 在深度为 7的满二叉树中,度为 2的结点个数为【 】。 37 软件测试分为白箱 (盒 )测试和黑箱 (盒 )测试。等价类划分法属于【 】测试。 38 在数据库系统中,实现各种数据管理功能的核心软件称为【 】。 39 软件生命周期可分为多个 阶段。一般分为定义阶段、开发阶段和维护阶段。编码和测试属于【 】阶段。 40 在结构化分析使用的数据流图 (DFD) 中,利用【 】对其中的图形元素进行确切解释。 41 6.【 】是为嵌入式和移动

19、设备提供的 Java平台。 42 在 Java中,转义字符 n表示【 】。 43 阅读下列程序段 public class OperatorsAndExpressions String conditionalExpression(int score) String result; /如果 score超过 60分 , 则结果是 passed, 否则是 doesnt pass result=-(score =60)?“passed“:“doesnt pass“; System.out.println(result); retum result; public static void main(St

20、ring args) OperatorsAndExpressions OperAndExp=new OperatorsAndExpressions(); /条件表达式 OperAndExp.conditionalExpression(65); 其执行结果是【 】 。 44 阅读下列程序段 int i=3,j; outer:while(i 0) j=3; inner:while(j 0) if(j 2) break outer; System.out.println(j+“and“+i); j-; i-; 被输出到屏幕的第一行结果是【 】 。 45 类是变量和【 】的集合体。 46 Java中的

21、异常对象是 Error类或 Exception 类的对象,这两类对象中【 】类的对象不会被 Java应用程序捕获和抛出。 47 在 java.io包中,字符输出流类都是【 】类的子类。 48 在 Java线程中,共 享数据的所有访问都必须作为临界区,使用【 】进行加锁控制。 49 Swing是由纯 Java实现的轻量级构件,没有本地代码,不依赖【 】系统的支持。这是它与 AWT构件的最大区别。 50 Applet类属于【 】包。 2007 年 4月国家二级( JAVA)笔试真题试卷答案与解析 1 【正确答案】 B 【试题解析】 本题考查数据结构中有关算法的基本知识和概念。数据的结构,直接影响算

22、法的选择和效率。而数据结构包括两方面,即数据的逻辑结构和数据的存储结构。因此,数据的逻辑结构和存储结构都影响算法 的效率。选项 A的说法是错误的。算法的时间复杂度是指算法在计算机内执行时所需时间的度量;与时间复杂度类似,空间复杂度是指算法在计算机内执行时所需存储空间的度量。因此,选项 B的说法是正确的。 数据之间的相互关系称为逻辑结构。通常分为四类基本逻辑结构,即集合、线性结构、树型结构、图状结构或网状结构。存储结构是逻辑结构在存储器中的映象,它包含数据元素的映象和关系的映象。存储结构在计算机中有两种,即顺序存储结构和链式存储结构。可见,逻辑结构和存储结构不是一一对应的。因此,选项 C的说法是

23、错误的。 有时人们为 了提高算法的时间复杂度,而以牺牲空间复杂度为代价。但是,这两者之间没有必然的联系。因此,选项 D的说法是错误的。 2 【正确答案】 D 【试题解析】 本题考查软件工程中软件设计的概念和原理。人们在开发计算机软件的长期实践中积累了丰富的经验,总结这些经验得到如下的启发式规则: (1)改进软件结构,提高模块独立性;通过模块的分解或合并,力求降低耦合提高内聚。低耦合也就是降低不同模块间相互依赖的紧密程度,高内聚是提高一个模块内各元素彼此结合的紧密程度。 (2)模块的规模应适中。一个模块的规模不 应过大,过大的模块往往是由于分解不够充分:过小的模块开销大于有益操作,而且模块过多将

24、使系统接口复杂。因此过小的模块有时不值得单独存在。 (3)模块的功能应该可以预测,但也要防止模块功能过分局限。如果模块包含的功能太多,则不能体现模块化设计的特点:如果模块的功能过分的局限,使用范围就过分狭窄。 经过上述分析,本题的正确答案是选项 D。 3 【正确答案】 A 【试题解析】 本题考查软件工程中测试的目的和方法。仅就软件测试而言,它的目的是发现软件的中的错误,但是,发现错误并不是最终目的,最终目 的是通过测试发现错误之后还必须诊断并改正错误,这就是调试的目的。 由于测试的目标是暴露程序中的错误,从心理学角度看,由程序的编写者自己进行测试是不恰当的。因此,在软件测试阶段通常由其他人员组

25、成测试小组来完成测试工作。因此,经过上述分析可知选项 A的说法是正确的,而选项 B、 C、 D的说法是错误的。 4 【正确答案】 C 【试题解析】 通常认为,面向对象方法具有封装性、继承性、多态性几大特点。就是这几大特点,为软件开发提供了一种新的方法学。 封装性:所谓封装就是将相关的信息、操作与处理融合在一个内含 的部件中 (对象中 )。简单地说,封装就是隐藏信息。这是面向对象方法的中心,是面向对象程序设计的基础。 继承性:子类具有派生它的类的全部属性 (数据 )和方法,而根据某一类建立的对象也都具有该类的全部,这就是继承性。继承性自动在类与子类间共享功能与数据,当某个类作了某项修改,其子类会

26、自动改变,子类会继承其父类所有特性与行为模式。继承有利于提高软件开发效率,容易达到一致性。 多态性:多态性就是多种形式。不同的对象在接收到相同的消息时,采用不同的动作。例如,一个应用程序包括许多对象,这些对象也许具有同一类型 的工作,但是却以不同的做法来实现。不必为每个对象的过程取一过程名,造成复杂化,可以使过程名复用。同一类型的工作有相同的过程名,这种技术称为多态性。 经过上述分析可知,选项 C的说法是错误的。 5 【正确答案】 D 【试题解析】 本题考查数据结构中队列的基本知识。队列是一种限定性的线性表,它只允许在表的一端插入元素,而在另一端删除元素,所以队列具有先进先出的特性。在队列中,

27、允许插入元素的一端叫做队尾,允许删除的一端则称为队头。这与日常生活中的排队是一致的,最早进入队列的人最早离开,新来的人总是加 入到队尾。因此,本题中只有选项 D的说法是正确的。 6 【正确答案】 C 【试题解析】 本题考查数据结构中二叉树的遍历。根据对二叉树根的访问先后顺序不同,分别称为前序遍历、中序遍历和后序遍历。这三种遍历都是递归定义的,即在其子树中也按照同样的规律进行遍历。下面就是前序遍历方法的递归定义。 当二叉树的根不为空时,依次执行如下 3个操作: (1)访问根结点。 (2)按先序遍历左子树。 (3)按先序遍历右子树。 根据如上前序遍历规则,来遍历本题中的二叉树。首先访问根结点,即

28、A, 然后遍历 A的左子树。遍历左子树同样按照相同的规则首先访问根结点 B,然后遍历B 的左子树。遍历 B的左子树,首先访问 D,然后访问 D的左子树, D的左子树为空,接下来访问 D的右子树,即 Y。遍历完 B 的左子树后,再遍历 B 的右子树,即 E。到此遍历完 A的左子树,接下来遍历 A的右子树。按照同样的规则,首先访问 C,然后遍历 C的左子树,即 F。 C的左子树遍历完,接着遍历 C的右子树。首先访问右子树的根结点 X,然后访问 X的左子树, X的左子树,即 Z,接下来访问 X的右子树,右子树为空。到此,把题目的二叉树进行了一次前序遍历。遍历的结果为 ABDYECFXZ,故本题的正确

29、答案为选项 C。 7 【正确答案】 A 【试题解析】 本题考查数据结构中二叉树的性质。二叉树满足如下一条性质,即:对任意一棵二叉树,若终端结点 (即叶子结点 )数为 n0,而其度数为 2的结点数为 n2,则 n0=n2+1。根据这条性质可知,若二叉树中有 n 个度为 2的结点,则该二叉树中的叶子结点数为 n+1。因此,本题的正确答案是选项 A。 8 【正确答案】 B 【试题解析】 本题考杳数据库的关系运算。两个关系的并运算是指将第一个关系的元组加到第二个关系中,生成新的关系。因 此,并运算不改变关系表中的属性个数,也不能减少元组个数。 两个关系的交运算是包含同时出现在第一和第二个关系中的元组的

30、新关系。因此,交运算不改变关系表中的属性个数,但能减少元组个数。投影是一元关系操作。投影操作选取关系的某些属性,这个操作是对一个关系进行垂直分割,消去某些属性,并重新安排属性的顺序,再删除重复的元组。因此,投影运算既可以减少关系表中的属性个数,也可以减少元组个数。 两个关系的笛卡儿乘积是指一个关系中的每个元组和第二个关系的每个元组连接。因此,笛卡儿乘积运算能够增加元组属性的个数。 经过上述分析可知,在上述四种运算中,交运算不改变关系表中的属性个数但能减少元组个数。因此,正确答案是选项 B。 9 【正确答案】 C 【试题解析】 E-R模型中,有三个基本的抽象概念:实体、联系和属性。 E-R图是

31、E-R模型的图形表示法,在 E-R图中,用矩形框表示实体,菱形框表示联系,椭圆形框表示属性。因此,本题的正确答案是选项 C。 10 【正确答案】 A 【试题解析】 本题考查数据库系统的基本概念和知识。数据的逻辑结构,是数据间关系的描述,它只抽象地反映数据元素之间的逻辑关系,而不管 其在计算机中的存储方式。数据的存储结构,又叫物理结构,是逻辑结构在计算机存储器里的实现。这两者之间没有必然的联系。因此,选项 A的说法是错误的。 数据库可以看成是长期存储在计算机内的、大量的、有结构的和可共享的数据集合。因此,数据库具有为各种用户所共享的特点。不同的用户可以使用同一个数据库,可以取出它们所需要的子集,

32、而且容许子集任意重叠。数据库的根本目标是要解决数据的共享问题。因此,选项 B的说法是正确的。 数据库设计是在数据库管理系统的支持下,按照应用的要求,设计一个结构合理、使用方便、效率较高的 数据库及其应用系统。数据库设计包含两方面的内容:一是结构设计,也就是设计数据库框架或数据库结构;二是行为设计,即设计基于数据库的各类应用程序、事务等。因此,选项 C的说法是错误的。 数据库系统除了数据库管理软件之外,还必须有其他相关软件的支持。这些软件包括操作系统、编译系统、应用软件开发工具等。对于大型的多用户数据库系统和网络数据库系统,还需要多用户系统软件和网络系统软件的支持。因此,选项D的说法是正确的。因

33、此,本题的正确答案是选项 A。 11 【正确答案】 C 【试题解析】 本题考查 Java语 言的特性。 Java语言与 C+语言都是面向对象的语言。因此,选项 A是错误的。 Java语言与 C+语言都是高性能的编程语言。 Java字节码的设计使之能很容易地直接转换成对应于特定 CPU的机器码,从而得到较高的性能。 C+由于其极高的灵活性、强大的功能和非常高的效率,常常用于专业应用程序的开发, C+非常适合于编写各种编程环境下的高性能代码。因此,选项 B是错误的。 Java是平台无关的语言是指用 Java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关有两种:源代码级和目标代码级。 C

34、和 C+具有一定程度的源代码级平台无关, C+语言支持程序员编写一些非常低级的程序,从而能够访问机器硬件,并操纵实际内存地址。但这些是以牺牲可移植性为代价的,因为这时每个程序都是针对某种具体硬件环境的。而 Java主要靠 Java虚拟机 (JVM)在目标码级实现平台无关性。 Java编程人员在编写完软件后,通过 Java编译器将Java源程序编译为 JVM的字节代码。任何一台机器只要配备了 Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。显然, Java语言与 c补语言相比,最突出的特点是跨平台。 因此,选项 C是正确的。 Java语言和 C+语言中都包含有类库,提供

35、了大量的类以满足用户的多方面需要。因此,选项 D是错误的。 经过上述分析可知,本题的答案是选项 C。 12 【正确答案】 D 【试题解析】 本题考查 Java语言的特点及优势。 Java语言提供了丰富的类库,为编程人员提供快速和标准的应用接口,提高了应用软件的生产效率。因此,选项 A的说法正确。 Java围绕网络应用开发,最大限度的利用网络资源,它的小应用程序 (Applet)在网络上的传输不受计算机 CPU和环境限制 。因此,选项 B 的说法正确。 多线程是 Java程序的并发机制,它能同步共享数据、处理不同的事件。因此,选项 C的说法正确。 Java提供的类库支持 TCP/IP协议,应用程

36、序可以通过 URL 地址,在访问网络上任何地方的对象时,如同访问本题文件一样简单。因此,选项 D的说法是错误的。 本题的正确答案是选项 D。 13 【正确答案】 B 【试题解析】 选项 A中的 java.io包提供与设备无关的输入、输出流支持。 选项 B中的 iava.swing 包提供构建和管理应用程序的图形界面的轻量级的构 件。 选项 C中的 包提供支持联网的类,包含执行与网络相关的操作的类和处理接口及统一资源定位器 (URLs)的类。 选项 D中的 java.rmi 包提供程序远程方法调用所需的类。 因此,本题的正确答案是选项 B。 14 【正确答案】 D 【试题解析】 Java提供了一

37、些可执行应用程序作为开发和测试的工具。主要包括下面一些工具: javac.exe Java编译器,将 Java源代码转换成字节码。 Java.exe Java解释器,直接从类文件执行 Java字节码程序。 appletviewer.exe Java Applet浏览器。 javadoc.exe 文档生成器,对 Java源码和包以 MML 格式产生 AP文档。 jdb.exe Java调试器,可以逐行执行程序,设置断点和检查变量。 javap.exe Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。 javaprof.exe Java解释器的剖析工具,提供解释器 剖析

38、信息。 因此,选项 D的说法是错误的。 15 【正确答案】 B 【试题解析】 在执行 Java程序时,在 java命令行中可以通过设置选项指定操作,这些选项包括: -cs 检查目标文件是否过时,如已过时将自动从源文件重新编译 -D属性名 =值 定义属性名 -debug 将程序连接到调试器 -ms 分配内存初值 解释器启动时分配给堆的内存大小 -mx 分配最大内存 解释器为对象和数组,动态分配堆最大内存 值,默认为16MB。 -noverify 不进行字节代码验证 -verify 进行字节代码验证,也是默认状态 -noasyncgc 关闭异步垃圾收集器 -oss栈尺寸 设置每个线程栈的尺寸,默认

39、值为 400KB -ss栈尺寸 设置每个线程本地栈的尺寸,默认值为 128KB -v 每装载一个类,打印一条信息 -verbosegc 无用单元收集 29每释 放一次内存,打印一条信息 因此,本题的正确答案是选项 B。 16 【正确答案】 A 【试题解析】 本题考查各数据类型间的自动转换。自动类型转换允许在赋值和计算时由编译系统按照一定的规则自动完成。它只能将位数少的数据类型向位数多的数据类型转换。 本题程序的 int aa=a+i 语句中, a为字符型数据, i为整型数据,这两个类型的数据进行运算时,首先按照自动类型转换规则把字符型数据 a转换为整型数据 97(97是字符 a的 ASCII

40、码 ),然后与整型变量 i相加得结果 197,赋值给整型变量 aa。因此,输出 变量 aa的值为 197。 同理, long yy=y-aa语句中, y为 long 型数据, aa为 int型数据,这两个类型的数据进行运算时,首先按照自动类型转换规则把 int型数据 aa转换为 long型数据197,然后与 long 型数据 y相减得结果 259,赋值给 long型变量 yy。因此,输出变量 yy的值为 259。 因此,本题的正确答案是选项 A。 17 【正确答案】 A 【试题解析】 本题考查取模 (求余 )运算符,它用来求两个数相除后的余数。在Java语言中,取模运算符 %其操作数可以是浮点

41、数。 本 题中首先计算 100%30, 100除以 30的商为 3,余数为 10,因此首先显示结果“10”。然后计算 563.5%4.0,商为 140,余数为 3.5,因此然后显示结果为 “3.5”。 经过上述分析,本题的正确答案是选项 A。 18 【正确答案】 A 【试题解析】 本题考查 for循环语句。 for循环执行时,首先执行初始化操作,然后判断中止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。 本题程序中,外层 for循环 i首先进行初始化操作,然后判断中止条件 i 5,然后执行循环体中的语句,最后执行迭代部分,即 i+。因此,直接

42、可以判断外层循环 i执行的次数是 4。故本题的正确答案是选项 A。 进一步分析,内层 for循环 j每次的执行次数都和 i的值有关。第一次 i的值为1,内层 for循环执行的次数是 1;第二次 i的值为 2,内层 for循环执行的次数是2;第三次 i的值为 3,内层 for循环执行的次数是 3;第四次 i的值为 4,内层 for循环执行的次数是 4。因此,内层 for循环 j的执行次数是 1+2+3+4=10。 19 【正确答案】 D 【试题解析】 Java中,方法重 载指的是多个方法可以具有相同的名称,但这些方法的参数必须不能完全相同,要么是参数的类型不同,要么是参数的个数不同,程序可以按照

43、参数决定调用对象方法。因此,选项 A的说法正确。 Java中,用 abstract 修饰的类称为抽象类,在其中的方法称为抽象方法。abstract类必须被继承, abstract方法必须被重写, abstract类不能实例化。因此,选项 B的说法是正确的。 Java中,接口是不包含成员变量和方法实现的抽象类,它只包含常量和方法的定义。 因此,选项 C的说法是正确的。 构造方 法是一种特殊的方法,是为对象初始化操作编写的方法,用它来定义对象的初始状态。 Java中的每个类都有构造方法,它也是由方法名、参数和方法体组成的。构造方法的名字必须与类名相同,并且构造方法不返回任何数据。因此,选项 D的说

44、法是错误的。 20 【正确答案】 B 【试题解析】 本题考查 Java中字符串的知识。 Java中,可以用 StringBuffer类表示字符串, StringBuffer用于处理长度可变字符串。 StringBuffer类提供了三种构造方法: String strObj=new StringBuffer(); String strObj=new StringBuffer(int length); String strObj=new StringBuffer(String str); 本题程序中使用的是第三种构造方法来创建一个字符串对象。对StringBuffer(String str)构造方

45、法,用 str给出字符串的初始值,并分配 16个字符的缓存。因此,字符串 sb 的初始值是 “test”,并且包含 16个字符的缓存。 iength()方法用来获得字符串长度,不包含缓存。 故程序运行结果中在 “lensgth=”后输出的值应该是字符串 sb的长度,即 4。本题的正确答案是选项 B。 21 【正确答案】 C 【试题解析】 本题考查 Java的异常处理。异常处理是通过 try-catch-finally语句来实现的, 该语句的格式如下: try catch(ExceptionType1 e) catch(ExceptionType2 e) finally (1)try 语句选定捕

46、获异常的范围。 程序执行过程中, try代码块所限定的语句可能会生成一个或多个异常对象,并抛弃异常对象。 try内部不同的方法调用有可能产生相同的异常,但只需一个catch 语句。 (2)由 catch 语句处理所抛出的异常事件。 catch 语句可以是多个,分别处理不同类型的异常。 catch 语句都带一个参数,该参数是某个异常的类及其变量名 (该异常对象的指针 ), catch 用该参数去与抛出异常对象的类进行匹配,匹配上后就去执行该 catch 语句后的程序段。 (3)通过 finally语句释放资源,为异常处理提供一个统一的出口。 finally 语句不是必须的,也就是说捕获异常时可以

47、没有 finally 语句。不管 try代码块中是否发生了异常事件, finally 块中的语句都会被执行。 本题程序中,打开一个文件,这个操作可能出现两种异常,即打开的文件不错在或者可能出现的其他 I/O异常。第一种异常情况,当打开的文件不存在时,抛出 FileNotFoundException 异常。另外一种情况,可能出现的 I/O 异常,抛出IOException 异常。因此,划线处应填入的语句是 catch(IOException e)。 本题的正确答案是选项 C。 22 【正确答案】 C 【试题解析】 本题考查 Java中的 I/O 流。 java.io包中包括:处理字节流的抽象类

48、InputStream和 OutputStream,处理字符流的抽象类 Reader和 Writer。其中,所有字节输入流都从 InputStream类继承,所有字节输出流都从OutputStream类继承。所有字符输入流都从 Reader类继承,所有字符输出流都从 Writer类继承。而字符类输出流 OutputStreamWriter、 PrintWriter、BufferedWriter都是抽象类 Writer的子类。因此,选项 A、选项 B和选项 D的说法都是正确的,而选项 C的说法是错误的。 23 【正确答案】 C 【试题解析】 本题考查有关线程的基本知识。 线程与进程在概念卜是相关的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1