2007年4月全国计算机二级Java考试真题及答案.doc

上传人:雁** 文档编号:17293921 上传时间:2022-05-23 格式:DOC 页数:24 大小:111KB
返回 下载 相关 举报
2007年4月全国计算机二级Java考试真题及答案.doc_第1页
第1页 / 共24页
2007年4月全国计算机二级Java考试真题及答案.doc_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《2007年4月全国计算机二级Java考试真题及答案.doc》由会员分享,可在线阅读,更多相关《2007年4月全国计算机二级Java考试真题及答案.doc(24页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、2007年4月全国计算机二级Java考试真题及答案(考试时间90分钟,满分1OO分)一、选择题(1)(35)每小题2分,共70分)下列各题A) 、B) 、C) 、D) 四个选项中,只有一个选项是正确的。(1)下列叙述中正确的是A) 算法的效率只与问题的规模有关,而与数据的存储结构无关B) 算法的时间复杂度是指执行算法所需要的计算工作量C) 数据的逻辑结构与存储结构是一一对应的D) 算法的时间复杂度与空间复杂度一定相关(2)在结构化程序设计中,模块划分的原则是A) 各模块应包括尽量多的功能B) 各模块的规模应尽量大C) 各模块之间的联系应尽量紧密D) 模块内具有高内聚度、模块间具有低耦合度(3)

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

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

4、) 跨平台D) 有类库(12)下列叙述中,错误的是A) Java提供了丰富的类库B) Java最大限度地利用网络资源C) Java支持多线程 D) Java不支持TCP/IP协议(13)在下列Java语言的包中,提供图形界面构件的包是A) java.ioB) javax.swingC) D) java.rmi(14)下列叙述中,错误的是A) iavac.exe是Java的编译器B) javadoc.exe是Java的文档生成器C) iavaprof.exe是Java解释器的剖析工具D) javap.exe是Java的解释器(15)在执行Java程序时,将应用程序连接到调试器的选项是A) -DB

5、) -debugC) -vexbosegsD) -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 = +aA) ;System.out.print(yy = +yy); 程序运行结果是A) aa=197 yy=259 B) aa=177 yy=259C) aa=543 yy=288 D) aa=197 y

6、y=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 OperAndExp=new OperatorsAndExpressions(); /取模运算符在整数和浮点数中的应用 OperAndExp.residual

7、; 程序运行结果是 A) 10B) 20 C) 10D) 203.5 2.54.5 3.5(18)请阅读下面程序public class ForLoopStatement public static void main(string args) int i,j; for (i=1; i5; i+) /i循环 for (j=1;j=i;j+) /j循环 System.out.print(i+j+=+i*j+ ); System.out.println(); 程序完成后,i循环和j循环执行的次数分别是A) 4,10B) 8,9C) 9,8D) 10,10(19)下列叙述中,错误的是A) Java中

8、,方法的重载是指多个方法可以共享同一个名字B) Java中,用abstract修饰的类称为抽象类,它不能实例化C) Java中,接口是不包含成员变量和方法实现的抽象类D) Java中,构造方法可以有返回值(20)请阅读下面程序public class ExampleStringBuffer public static void main(String args)StringBuffer sb=new StringBuffer(test);System.out.println(buffer=+sB) ;System.out.println(length=+sb.length(); 程序运行结果中

9、在length=后输出的值 A) 10B) 4 C) 20 D) 30(21)请阅读下面程序import java.io.*;public class ExceptionCatch public static void main(String args) try FilelnputStream fis=new FilelnputStream(text); System.out.println(content of text is:); catch(FileNotFoundException e) System.out.println(e); System.out.println(message

10、:+e.getMessageO); e.printStackTrace(System.out); _ System.out.println(e); 为保证程序正确运行,程序中下划线处的语句应是 A) catch(FilelnputStream fis)B) e.printStackTrace() C) catch(IOException e)D) System.out.println(e)(22)下列叙述中,错误的是A) 所有的字节输入流都从InputStream类继承B) 所有的字节输出流都从OutputStream类继承C) 所有的字符输出流都从OutputStreamWriter类继承D

11、) 所有的字符输入流都从Reader类继承(23)下列叙述中,正确的是A) 线程与进程在概念上是不相关的 B) 一个线程可包含多个进程C) 一个进程可包含多个线程 D) Java中的线程没有优先级(24)请阅读下面程序 public class ThreadTestpublic 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;

12、public void run() while(true) System.out.prinfin(Hello+i+); if(i=5) break; 该程序创建线程使用的方法是A) 继承Thread类B) 实现Runnable接口C) t1.start() D) t2.start()(25)Java对I/O访问所提供的同步处理机制是A) 字节流B) 过滤流C) 字符流D) 压缩文件流(26)Java对文件类提供了许多操作方法,能获得文件对象父路径名的方法是A) getAbsolutePath()B) getParentFile()C) getAbsoluteFile() D) getName(

13、)(27)下列叙述中,错误的是A) Java中没有检测和避免死锁的专门机制B) 程序中多个线程互相等待对方持有的锁,可能形成死锁C) 为避免死锁,Java程序中可先定义获得锁的顺序,解锁是按加锁的反序释放D) 为避免死锁,Java程序中可先定义获得锁的顺序,解锁是按加锁的正序释放(28)请阅读下面程序 public class ThreadTest public static void main(String args) throws Exceptionint i=0;Hello t=new Hello();while(true) System.out.println(Good Moming+

14、i+);if (i=2 & t.isAlive() System. out.println(Main waiting for Hello!);t.join(); /等待t运行结束if(i=5) break; class Hello extends 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类的默认布

15、局管理器是A) BorderLayoutB) CardLayoutC) FlowLayoutD) GridBagLayout(30)下列叙述中,错误的是A) JButton类和标签类可显示图标和文本B) Button类和标签类可显示图标和文本C) AWT构件能直接添加到顶层容器中D) Swing构件不能直接添加到顶层容器中(31)下列叙述中,错误的是A) Applet的默认布局管理器是FlowLayoutB) JApplet中增加构件是加到JApplet的内容面板上,不是直接加到JApplet中C) JApplet的内容面板的默认布局管理器是BorderLayoutD) JApplet的内容面

16、板的默认布局管理器是FlowLayout(32)在定制Applet的绘图功能时,应该使用的方法是A) init() B) start()C) paintComponent()D) paint()(33)下列叙述中,错误的是A) Applet事件处理机制与JavaApplication相同B) JApplet事件处理机制采用监听器方式C) Applet事件处理机制采用监听器方式D) JApplet事件处理机制不是采用监听器方式(34)为保护本地主机,对Applet安全限制中正确的是A) Applet可加载本地库或方法B) Applet可读、写本地计算机的文件系统C) Applet可向Applet

17、之外的任何主机建立网络连接D) Applet不能运行任何本地可执行程序(35)J2SDK基本命令中能生成C语言头文件的命令是A) javahB) javapC) jarD) java二、填空题(每空2分,共30分)(1)在深度为7的满二叉树中,度为2的结点个数为 【1】 。(2)软件测试分为白箱(盒)测试和黑箱(盒)测试。等价类划分法属于 【2】 测试。(3)在数据库系统中,实现各种数据管理功能的核心软件称为 【3】 。(4)软件生命周期可分为多个阶段。一般分为定义阶段、开发阶段和维护阶段。编码和测试属于 【4】 阶段。(5)在结构化分析使用的数据流图(DFD) 中,利用 【5】 对其中的图形

18、元素进行确切解释。(6) 【6】 是为嵌入式和移动设备提供的Java平台。(7)在Java中,转义字符n表示 【7】 。(8)阅读下列程序段 public class OperatorsAndExpressions String conditionalExpression(int score) String result;/如果score超过60分, 则结果是passed, 否则是doesnt passresult=-(score=60)?passed:doesnt pass;System.out.println(result);retum result;public static void

19、main(String args) OperatorsAndExpressions OperAndExp=new OperatorsAndExpressions();/条件表达式OperAndExp.conditionalExpression(65); 其执行结果是 【8】 。(9)阅读下列程序段 int i=3,j; outer:while(i0) j=3; inner:while(j0) if(j2) break outer; System.out.println(j+and+i); j-; i-; 被输出到屏幕的第一行结果是 【9】 。(10)类是变量和 【10】 的集合体。(11)Ja

20、va中的异常对象是Error类或Exception类的对象,这两类对象中 【11】 类的对象不会被Java应用程序捕获和抛出。(12)在java.io包中,字符输出流类都是 【12】 类的子类。(13)在Java线程中,共享数据的所有访问都必须作为临界区,使用 【13】进行加锁控制。(14)Swing是由纯Java实现的轻量级构件,没有本地代码,不依赖【14】 系统的支持。这是它与AWT构件的最大区别。(15)Applet类属于 【15】 包。答案解析一、选择题(1)答案B解析 本题考查数据结构中有关算法的基本知识和概念。数据的结构,直接影响算法的选择和效率。而数据结构包括两方面,即数据的逻辑

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

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

23、块功能过分局限。如果模块包含的功能太多,则不能体现模块化设计的特点:如果模块的功能过分的局限,使用范围就过分狭窄。经过上述分析,本题的正确答案是选项D。(3)答案A解析 本题考查软件工程中测试的目的和方法。仅就软件测试而言,它的目的是发现软件的中的错误,但是,发现错误并不是最终目的,最终目的是通过测试发现错误之后还必须诊断并改正错误,这就是调试的目的。由于测试的目标是暴露程序中的错误,从心理学角度看,由程序的编写者自己进行测试是不恰当的。因此,在软件测试阶段通常由其他人员组成测试小组来完成测试工作。因此,经过上述分析可知选项A的说法是正确的,而选项B、C、D的说法是错误的。 (4)答案C解析

24、通常认为,面向对象方法具有封装性、继承性、多态性几大特点。就是这几大特点,为软件开发提供了一种新的方法学。封装性:所谓封装就是将相关的信息、操作与处理融合在一个内含的部件中(对象中)。简单地说,封装就是隐藏信息。这是面向对象方法的中心,是面向对象程序设计的基础。继承性:子类具有派生它的类的全部属性(数据)和方法,而根据某一类建立的对象也都具有该类的全部,这就是继承性。继承性自动在类与子类间共享功能与数据,当某个类作了某项修改,其子类会自动改变,子类会继承其父类所有特性与行为模式。继承有利于提高软件开发效率,容易达到一致性。多态性:多态性就是多种形式。不同的对象在接收到相同的消息时,采用不同的动

25、作。例如,一个应用程序包括许多对象,这些对象也许具有同一类型的工作,但是却以不同的做法来实现。不必为每个对象的过程取一过程名,造成复杂化,可以使过程名复用。同一类型的工作有相同的过程名,这种技术称为多态性。经过上述分析可知,选项C的说法是错误的。(5)答案D解析 本题考查数据结构中队列的基本知识。队列是一种限定性的线性表,它只允许在表的一端插入元素,而在另一端删除元素,所以队列具有先进先出的特性。在队列中,允许插入元素的一端叫做队尾,允许删除的一端则称为队头。这与日常生活中的排队是一致的,最早进入队列的人最早离开,新来的人总是加入到队尾。因此,本题中只有选项D的说法是正确的。(6)答案C解析

26、本题考查数据结构中二叉树的遍历。根据对二叉树根的访问先后顺序不同,分别称为前序遍历、中序遍历和后序遍历。这三种遍历都是递归定义的,即在其子树中也按照同样的规律进行遍历。下面就是前序遍历方法的递归定义。当二叉树的根不为空时,依次执行如下3个操作:(1)访问根结点。(2)按先序遍历左子树。(3)按先序遍历右子树。根据如上前序遍历规则,来遍历本题中的二叉树。首先访问根结点,即A,然后遍历 A的左子树。遍历左子树同样按照相同的规则首先访问根结点B,然后遍历B的左子树。遍历B的左子树,首先访问D,然后访问D的左子树,D的左子树为空,接下来访问D的右子树,即Y。遍历完B的左子树后,再遍历B的右子树,即E。

27、到此遍历完A的左子树,接下来遍历A的右子树。按照同样的规则,首先访问C,然后遍历C的左子树,即F。C的左子树遍历完,接着遍历C的右子树。首先访问右子树的根结点X,然后访问X的左子树,X的左子树,即Z,接下来访问X的右子树,右子树为空。到此,把题目的二叉树进行了一次前序遍历。遍历的结果为 ABDYECFXZ,故本题的正确答案为选项C。(7)答案A 解析 本题考查数据结构中二叉树的性质。二叉树满足如下一条性质,即:对任意一棵二叉树,若终端结点(即叶子结点)数为n0,而其度数为2的结点数为 n2,则n0=n2+1。根据这条性质可知,若二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为n+1。因此

28、,本题的正确答案是选项A。(8)答案B解析 本题考杳数据库的关系运算。两个关系的并运算是指将第一个关系的元组加到第二个关系中,生成新的关系。因此,并运算不改变关系表中的属性个数,也不能减少元组个数。两个关系的交运算是包含同时出现在第一和第二个关系中的元组的新关系。因此,交运算不改变关系表中的属性个数,但能减少元组个数。投影是一元关系操作。投影操作选取关系的某些属性,这个操作是对一个关系进行垂直分割,消去某些属性,并重新安排属性的顺序,再删除重复的元组。因此,投影运算既可以减少关系表中的属性个数,也可以减少元组个数。两个关系的笛卡儿乘积是指一个关系中的每个元组和第二个关系的每个元组连接。因此,笛

29、卡儿乘积运算能够增加元组属性的个数。经过上述分析可知,在上述四种运算中,交运算不改变关系表中的属性个数但能减少元组个数。因此,正确答案是选项B。(9)答案C解析 E-R模型中,有三个基本的抽象概念:实体、联系和属性。E-R图是E-R模型的图形表示法,在E-R图中,用矩形框表示实体,菱形框表示联系,椭圆形框表示属性。因此,本题的正确答案是选项C。(10)答案A解析 本题考查数据库系统的基本概念和知识。数据的逻辑结构,是数据间关系的描述,它只抽象地反映数据元素之间的逻辑关系,而不管其在计算机中的存储方式。数据的存储结构,又叫物理结构,是逻辑结构在计算机存储器里的实现。这两者之间没有必然的联系。因此

30、,选项A的说法是错误的。数据库可以看成是长期存储在计算机内的、大量的、有结构的和可共享的数据集合。因此,数据库具有为各种用户所共享的特点。不同的用户可以使用同一个数据库,可以取出它们所需要的子集,而且容许子集任意重叠。数据库的根本目标是要解决数据的共享问题。因此,选项B的说法是正确的。数据库设计是在数据库管理系统的支持下,按照应用的要求,设计一个结构合理、使用方便、效率较高的数据库及其应用系统。数据库设计包含两方面的内容:一是结构设计,也就是设计数据库框架或数据库结构;二是行为设计,即设计基于数据库的各类应用程序、事务等。因此,选项C的说法是错误的。数据库系统除了数据库管理软件之外,还必须有其

31、他相关软件的支持。这些软件包括操作系统、编译系统、应用软件开发工具等。对于大型的多用户数据库系统和网络数据库系统,还需要多用户系统软件和网络系统软件的支持。因此,选项D的说法是正确的。因此,本题的正确答案是选项A。(11)答案C解析 本题考查Java语言的特性。Java语言与C+语言都是面向对象的语言。因此,选项A是错误的。Java语言与C+语言都是高性能的编程语言。Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码,从而得到较高的性能。C+由于其极高的灵活性、强大的功能和非常高的效率,常常用于专业应用程序的开发,C+非常适合于编写各种编程环境下的高性能代码。因此,选项B是错

32、误的。Java是平台无关的语言是指用Java写的应用程序不用修改就可在不同的软硬件平台上运行。平台无关有两种:源代码级和目标代码级。C和C+具有一定程度的源代码级平台无关,C+语言支持程序员编写一些非常低级的程序,从而能够访问机器硬件,并操纵实际内存地址。但这些是以牺牲可移植性为代价的,因为这时每个程序都是针对某种具体硬件环境的。而Java主要靠Java虚拟机(JVM)在目标码级实现平台无关性。Java编程人员在编写完软件后,通过Java编译器将Java源程序编译为JVM的字节代码。任何一台机器只要配备了Java解释器,就可以运行这个程序,而不管这种字节码是在何种平台上生成的。显然,Java语

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

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

35、的工具。主要包括下面一些工具: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解释器的剖析工具,提供解释器剖析信息。因此,选项D的说法是错误的。(15)答案B解析 在执

36、行Java程序时,在java命令行中可以通过设置选项指定操作,这些选项包括:-cs 检查目标文件是否过时,如已过时将自动从源文件重新编译-D属性名=值 定义属性名-debug将程序连接到调试器-ms分配内存初值 解释器启动时分配给堆的内存大小-mx分配最大内存 解释器为对象和数组,动态分配堆最大内存值,默认为16MB。-noverify 不进行字节代码验证-verify进行字节代码验证,也是默认状态-noasyncgc关闭异步垃圾收集器-oss栈尺寸 设置每个线程栈的尺寸,默认值为400KB-ss栈尺寸设置每个线程本地栈的尺寸,默认值为128KB-v 每装载一个类,打印一条信息-verbose

37、gc 无用单元收集29每释放一次内存,打印一条信息因此,本题的正确答案是选项B。(16)答案A解析 本题考查各数据类型间的自动转换。自动类型转换允许在赋值和计算时由编译系统按照一定的规则自动完成。它只能将位数少的数据类型向位数多的数据类型转换。本题程序的int aa=a+i语句中,a为字符型数据,i为整型数据,这两个类型的数据进行运算时,首先按照自动类型转换规则把字符型数据a转换为整型数据97(97是字符a的ASCII码),然后与整型变量i相加得结果197,赋值给整型变量aa。因此,输出变量aa的值为197。同理,long yy=y-aa语句中,y为long型数据,aa为int型数据,这两个类

38、型的数据进行运算时,首先按照自动类型转换规则把int型数据aa转换为long型数据197,然后与long型数据y相减得结果259,赋值给long型变量yy。因此,输出变量yy的值为259。 因此,本题的正确答案是选项A。(17)答案A解析 本题考查取模(求余)运算符,它用来求两个数相除后的余数。在Java语言中,取模运算符%其操作数可以是浮点数。本题中首先计算100%30,100除以30的商为3,余数为10,因此首先显示结果“10”。然后计算563.5%4.0,商为140,余数为3.5,因此然后显示结果为“3.5”。经过上述分析,本题的正确答案是选项A。(18)答案A解析 本题考查for循环语

39、句。for循环执行时,首先执行初始化操作,然后判断中止条件是否满足,如果满足,则执行循环体中的语句,最后执行迭代部分。完成一次循环后,重新判断终止条件。本题程序中,外层for循环i首先进行初始化操作,然后判断中止条件i5,然后执行循环体中的语句,最后执行迭代部分,即i+。因此,直接可以判断外层循环i执行的次数是4。故本题的正确答案是选项A。进一步分析,内层for循环j每次的执行次数都和i的值有关。第一次i的值为1,内层for循环执行的次数是1;第二次i的值为2,内层for循环执行的次数是2;第三次i的值为3,内层for循环执行的次数是3;第四次i的值为4,内层for循环执行的次数是4。因此,内

40、层for循环j的执行次数是1+2+3+4=10。(19)答案D解析 Java中,方法重载指的是多个方法可以具有相同的名称,但这些方法的参数必须不能完全相同,要么是参数的类型不同,要么是参数的个数不同,程序可以按照参数决定调用对象方法。因此,选项A的说法正确。Java中,用abstract修饰的类称为抽象类,在其中的方法称为抽象方法。abstract类必须被继承,abstract方法必须被重写,abstract类不能实例化。因此,选项B的说法是正确的。Java中,接口是不包含成员变量和方法实现的抽象类,它只包含常量和方法的定义。因此,选项C的说法是正确的。构造方法是一种特殊的方法,是为对象初始化

41、操作编写的方法,用它来定义对象的初始状态。Java中的每个类都有构造方法,它也是由方法名、参数和方法体组成的。构造方法的名字必须与类名相同,并且构造方法不返回任何数据。因此,选项D的说法是错误的。(20)答案B解析 本题考查Java中字符串的知识。Java中,可以用StringBuffer类表示字符串,StringBuffer用于处理长度可变字符串。StringBuffer类提供了三种构造方法:String strObj=new StringBuffer();String strObj=new StringBuffer(int length);String strObj=new StringB

42、uffer(String str);本题程序中使用的是第三种构造方法来创建一个字符串对象。对StringBuffer(String str)构造方法,用str给出字符串的初始值,并分配16个字符的缓存。因此,字符串sb的初始值是“test”,并且包含16个字符的缓存。iength()方法用来获得字符串长度,不包含缓存。故程序运行结果中在“lensgth=”后输出的值应该是字符串sb的长度,即4。本题的正确答案是选项B。(21)答案C解析 本题考查Java的异常处理。异常处理是通过try-catch-finally语句来实现的,该语句的格式如下: trycatch(ExceptionType1

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

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

45、tStream和OutputStream,处理字符流的抽象类Reader和Writer。其中,所有字节输入流都从InputStream类继承,所有字节输出流都从OutputStream类继承。所有字符输入流都从Reader类继承,所有字符输出流都从Writer类继承。而字符类输出流 OutputStreamWriter、PrintWriter、BufferedWriter都是抽象类Writer的子类。因此,选项A、选项B和选项D的说法都是正确的,而选项C的说法是错误的。(23)答案C解析 本题考查有关线程的基本知识。线程与进程在概念卜是相关的。进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到消亡的过程。线程是由表示程序运行状态的寄存器、程序计数器、栈指针以及堆栈组成,它不包含进程地址空间中的代码和数据。因此,选项A的说法是错误的。线程是比进程更小的单位。一个进程在其执行过程中,可以产生多个线程,形成多个执行流。每个执行流即每个线程也有它自身的产生、存在和消亡的过程,也是一个动态的概念。因此,选项B的说法是错误的,而选项C的说法是正确的。线程是有优先级的。Threa类有3个有关线

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁