1、计算机二级 JAVA-117及答案解析(总分:84.60,做题时间:90 分钟)一、选择题(总题数:39,分数:67.60)1.下面不属于软件设计阶段任务的是_。(分数:1.00)A.软件的功能确定B.软件的总体结构设计C.软件的数据设计D.软件的过程设计2.下列包中,包含 JoptionPane类的是_。(分数:2.00)A.javax.swingB.java.langC.java.utilD.java.applet3.Java的核心包中,提供编程应用的基本类的包是_。(分数:2.00)A.java.langB.java.utilC.java.appletD.java.rmi4.下面属于黑盒
2、测试方法的是_。(分数:2.00)A.语句覆盖B.逻辑覆盖C.边界值分析D.路径覆盖5.如果在一个关系中存在多个属性(或属性组)都能用来唯一标识关系的元组,且其任何一个子集都不具有这一特性。这些属性(或属性组)都被称为关系的_。(分数:2.00)A.连接码B.主码C.外码D.候选码6.下列的变量定义中,错误的是_。(分数:2.00)A.int_a=123;B.int i=Integer.MAX_VALUE;C.long j=12345678900L;D.static i=100;7.下列运算符中属于关系运算符的是_。(分数:2.00)A.=B=C.+=D.-=8.Java虚拟机(JVM)运行
3、Java代码时,不会进行的操作是_。(分数:1.00)A.加载代码B.校验代码C.编译代码D.执行代码9.线性表采用链式存储时,结构的存储地址_。(分数:2.00)A.必须是不连续的B.连续与否均可C.必须是连续的D.和头节点的存储地址相连续10.下列不属于表达式语句的是_。(分数:1.80)A.+i;B.-j;C.b#a;D.b*=a;11.Java程序的并发机制是_。(分数:1.00)A.多线程B.多接口C.多平台D.多态性12.下列语句中正确的是_。(分数:2.00)A.char c=“ccc“;B.float f=0.73;C.long l=xffff;D.double d=0.6E-
4、2;13.Java的核心包中,提供编程应用的基本类的包是_。(分数:1.00)A.java.langB.java.utilC.java.appletD.java.rmi14.在满足实体完整性结束的条件下_。(分数:2.00)A.一个关系中必须有多个候选关键字B.一个关系中只能有一个候选关键字C.一个关系中应该有一个或多个候选关键字D.一个关系中可以没有候选关键字15.下列关于 Java语言中线程的叙述中,正确的是_。(分数:2.00)A.线程由代码、数据、内核状态和一组寄存器组成B.线程间的数据是不共享的C.用户只能通过创建 Thread类的实例或者定义和创建 Thread子类的实例,建立和控
5、制自己的线程D.因多线程并发执行而引起的执行顺序的不确定性可能造成执行结果的不确定16.下列可用作 switch(expression)语句参数的是_。(分数:2.00)A.String sB.Integer iC.boolean bD.int i17.Frame默认的布局管理器是_。(分数:2.00)A.FlowLayoutB.BorderLayoutC.GridLayomD.CardLayout18.下列关于类、包和源文件的描述中,不正确的一项是_。(分数:2.00)A.一个文件可以属于一个包B.一个类可以属于一个包C.一个包可包含多个文件D.一个包只能含有一个类19.在待排序的元素序列基
6、本有序的前提下,效率最高的排序方法是_。(分数:2.00)A.冒泡排序B.选择排序C.快速排序D.归并排序20.在下列程序的空白处,应填入的正确选项是_。 import Java.io*; pulilc class Obj ectStreamTest publilc static void main(string args) throws IOException ObjectOutputStream oos=new ObjectOutputStream (new FileOutputStream(“serial.bin“); Java until.Date d=new Java.until D
7、ate(); oos (d); ObjectInputStream ois= new ObjectInputStream(new FileOutputStream(“serial.bin“); try java until.date restoredDate= (Java.until.Date)ois.readObject(); System.out.println (“read object back from serial.bin file:“ +restoredDate); catch(ClassNotFoundException cnf) System.out.println(“cla
8、ss not found“); (分数:1.00)A.WriterObjectB.WriterC.BufferedWriterD.WriterObject21.Java为移动设备提供的平台是_。(分数:2.00)A.J2MEB.J2SEC.J2EED.JDK5.022.grid95捕述的是_。(分数:1.00)A.二维数组B.一维数组C.五维数组D.九维数组23.以下程序试图把从终端输入的字符输出到名为 abc.txt的文件中,直到从终端读入字符#时结束输入和输出操作,但程序有错,出错的原因是_。 #includestdio.h main() FILE *fout: char ch: fout
9、=fopen(“abc.txt“,“w“); ch=fgetc(stdin); while(ch!=“#“) fputc(ch,fout); ch=fgetc(stdin); fclose(fout); (分数:2.00)A.函数 fopen调用形式错误B.输入文件没有关闭C.函数 fgetc调用形式错误D.文件指针 stdin没有定义24.下列类中属于字节输入抽象类的是_。(分数:2.00)A.FileInputStreamB.ObjectInputStreamC.FiterInputStreamD.InputStream25.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和_。(分数
10、:2.00)A.编码设计B.测试阶段C.运行阶段D.物理设计26.下列不属于 Swing的构件是_。(分数:1.80)A.JButtonB.JLabelC.JFrameD.JPane27.已知 int x=(1,2,3,4);,变量 x的值是_。(分数:2.00)A.1B.2C.3D.428.Java多线程并发控制中,用于在代码中标识临界区的关键字是_。(分数:1.00)A.startB.waitC.synchronizedD.lock29.阅读下列代码: public class public static void main(String args) double d=12.3; Decr
11、ementer dec=new Decrementer(); dec.decrement(d); System.out.println(d); class Decrementer public void decrement(double decMe) decMe=decMe-1.0; 代码执行后输出的结果是_。(分数:1.00)A.12.3B.11.3C.13.3D.-1.030.Java对输入/输出访问所提供的同步处理机制是_。(分数:2.00)A.字节流B.过滤流C.字符流D.压缩文件流31.设执行下面的赋值语句: A=Float.valueOf(“12.34“).floatValue()
12、; 后,a 的值是_。(分数:1.00)A.a=“12.34“B.a=12.34C.a=1234D.a=1232.如果进栈序列为 e1、e2、e3、e4、e5,则可能的出栈序列是_。(分数:2.00)A.e3、e1、e4、e2、e5B.e5、e2、e4、e3、e1C.e3、e4、e1、e2、e5D.任意顺序33.Java的核心包中,提供编程应用的基本类的包是_。(分数:2.00)A.java.langB.java.utilC.java.appletD.java.rmi34.JDK中用于存放 Java类库文件的文件夹是_。(分数:2.00)A.binB.includeC.libD.demo35.
13、以下选项中,当 x为大于 1的奇数时,值为 0的表达式是_。(分数:2.00)A.x%2=1B.x/2C.x%2!=0D.x%2=036.有以下程序: void swap1(int *a,int *b) int *c=a; a=b,b=c; void swap2(int *a,int *b) int c=*a; *a=*b,*b=c; main() int a=10,b=15; swap1(a,b); printf(“%d,%d,“,a,b); a=10,b=15; swap2(a,b); printf(“%d,%d,“,a,b); 其输出结果为_。(分数:2.00)A.15,10,10,15
14、B.15,10,15,10C.10,15,10,15D.10,15,15,1037.下列代码的下划线处填入相同的类,该类是_。 public class Test public static void main(String args) Jframe f = new Jframe(); f.setTitle (“menus“); f.setVisible(true); f.setSize(500,400); _ mb = new _ (); Jmenu m = new Jmenu(“文件“); mb.add (m); JmenuItem mi = new JmenuItem(“打开“) ; m
15、.add(mi); (分数:2.00)A.JMenuItemB.JMenuC.JFrameD.JmenuBar38.下面几种调试方法中不适合调试大规模程序的是_。(分数:2.00)A.强行排错法B.回溯法C.原因排除法D.静态调试39.下列情况中,不会使线程返回所持有的对象锁的是_。(分数:1.00)A.当 synchronized()语句块执行完毕B.当调用了线程的 suspend()方法C.当在 synchronized()语句块中出现异常(Exception)D.当持有锁的线程调用该对象的 wait()方法二、填空题(总题数:10,分数:17.00)40.数据结构包括数据的逻辑结构、数据
16、的 1 以及对数据的操作运算。 (分数:2.00)41.InputStreamReader类是以字节输入流作为数据源的 1。 (分数:2.00)42.类名与接口名都采用 1 描述符,并且所有单同的第一个字母大写。 (分数:2.00)43.下面 Applet在窗口中实现一个不可编辑的 TextField,并且显示“ok”。在横线处填入正确的语句。 import java.applet.Applet; import java.awt.t; public class Test extends Applet TextField tf; public void init () setLayout (ne
17、w GridLayout(1,0); tf=new TextField(“ok“); 1 add(tf); (分数:2.00)44.设有数组定义:int MyIntArray=10,20,30,40,50,60,70则执行以下几个语句后的输出结果是 1。 ints=O; for (int i=0;iMyIntArray,length;i+) s+=MyIntArrayi system.out.println(s); (分数:1.00)45.若按功能划分,软件测试的方法通常分为白盒测试方法和 1 测试方法。 (分数:2.00)46.软件结构是以 1 为基础而组成的一种控制层次结构。 (分数:2.
18、00)47.在 Java新的 I/O功能中,通过文件锁定来实现多个线程的 1,避免了可能存在的安全隐患。 (分数:1.00)48.ByteArrayInputStream以 1 作为输入流。 (分数:1.00)49.switch语句中,在每个 case子句后进行跳转的语句是: 1。 (分数:2.00)计算机二级 JAVA-117答案解析(总分:84.60,做题时间:90 分钟)一、选择题(总题数:39,分数:67.60)1.下面不属于软件设计阶段任务的是_。(分数:1.00)A.软件的功能确定 B.软件的总体结构设计C.软件的数据设计D.软件的过程设计解析:解析 软件设计包括软件结构设计、数据
19、设计、接口设计、过程设计。2.下列包中,包含 JoptionPane类的是_。(分数:2.00)A.javax.swing B.java.langC.java.utilD.java.applet解析:解析 Swing 中提供了 JOptionPane类来实现类似 Windows平台下的 MessageBox的功能,利用JOptionPane类中的各个 staUc方法来生成各种标准的对话框,实现显示出信息、提出问题、警告、用户输入参数等功能。且这些对话框都是模式对话框。3.Java的核心包中,提供编程应用的基本类的包是_。(分数:2.00)A.java.lang B.java.utilC.jav
20、a.appletD.java.rmi解析:解析 Java.lang 包封装所有编程应用的基本类,如 Object、Class、String、Integer 等。4.下面属于黑盒测试方法的是_。(分数:2.00)A.语句覆盖B.逻辑覆盖C.边界值分析 D.路径覆盖解析:解析 黑盒测试方法包括等价类和边界值分析。5.如果在一个关系中存在多个属性(或属性组)都能用来唯一标识关系的元组,且其任何一个子集都不具有这一特性。这些属性(或属性组)都被称为关系的_。(分数:2.00)A.连接码B.主码C.外码D.候选码 解析:解析 在关系中凡能唯一标识元组中最小属性集的称为该关系的单键或码。二维表中可能有若干
21、个键,它们称为该表的候选码或候选键。从二维表的所有候选键中选取一个作为用户使用的键称为主键或主码。6.下列的变量定义中,错误的是_。(分数:2.00)A.int_a=123;B.int i=Integer.MAX_VALUE;C.long j=12345678900L;D.static i=100; 解析:解析 选项 A、B、C 中定义的都正确,选项 D中 static是定义方法的,而不能定义变量。7.下列运算符中属于关系运算符的是_。(分数:2.00)A.= B=C.+=D.-=解析:解析 “=”是关系运算符,其功能是比较两个操作数是否相等。8.Java虚拟机(JVM)运行 Java代码时,
22、不会进行的操作是_。(分数:1.00)A.加载代码 B.校验代码C.编译代码D.执行代码解析:解析 Java 中,类加载器把一个类装入 Java虚拟机需要经过 3个步骤来完成:装载、链接、初始化,其中链接又分为校验、准备、解析过程。装载:查找和导入类和接口的.class 文件。连接:检查装入.class 文件的正确性,然后.Java 虚拟机为变量分配内存,设黄默认值。初始化:把符号引用变成直接引用。由以上分析,可以看出虚拟机(JVM)运行时不需要加载代码,选择 A。9.线性表采用链式存储时,结构的存储地址_。(分数:2.00)A.必须是不连续的B.连续与否均可 C.必须是连续的D.和头节点的存
23、储地址相连续解析:解析 在链式存储结构中,存储数据结构的存储空间可以不连续,各数据节点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据之间的逻辑关系是由指针域来确定的。10.下列不属于表达式语句的是_。(分数:1.80)A.+i;B.-j;C.b#a; D.b*=a;解析:解析 前两项是自加减运算,最后一项是 b=b*a。11.Java程序的并发机制是_。(分数:1.00)A.多线程 B.多接口C.多平台D.多态性解析:解析 Java 是通过多线程来实现并发机制的;Java 中最多只能继承一个类,但是可以实现多个接口;多平台是指 Java运行的平台无关性;多态性是面向对象编程的一个重要特点
24、。因此,选择 A。12.下列语句中正确的是_。(分数:2.00)A.char c=“ccc“;B.float f=0.73;C.long l=xffff;D.double d=0.6E-2; 解析:解析 char 类型数据为单引号括起的一个字符,所以 A错误。小数 0.73在 Java中默认为 double类型,它的精度比 float类型高,只有通过强制类型转换才能赋给 float类型变量,所以 B错误。整型常数的十六进制表示是以 0x或 0X开头,而不是以 x开头,所以 C错误。0.6E-2 是 0.610 -2 的科学计数法表示,正确。13.Java的核心包中,提供编程应用的基本类的包是_
25、。(分数:1.00)A.java.lang B.java.utilC.java.appletD.java.rmi解析:解析 Java 的核心包一共有 12个,其中:java.lang 包中封装了所有编程应用的基本类;java.util包提供实用程序类和集合类,如系统特性定义和使用、日期函数类、集合等常用工具;java.applet包为 Applet提供执行需要的所有类,。主要是访问 Applet内容的通信类。java.rmi 包提供程序远程方法调用所需的类。因此,本题的正确答案是 A。14.在满足实体完整性结束的条件下_。(分数:2.00)A.一个关系中必须有多个候选关键字B.一个关系中只能有
26、一个候选关键字C.一个关系中应该有一个或多个候选关键字 D.一个关系中可以没有候选关键字解析:解析 数据完整性指的是存储在数据库中的所有数据值均保持正确的状态,二维表中,能够唯一确定记录的一个字段或几个字段的组合被称为“超关键字”。“超关键字”虽然能唯一确定记录,但是它所包含的字段可能是有多余的。如果一个超关键字去掉其中任何一个字段后不再能唯一地确定记录,则称它为“候选关键字”(Candidate Key)。在一个关系中,候选关键字可以有多个,且在任何关系中至少有一个候选关键字。所以在满足数据完整性约束的条件下,一个关系应该有一个或多个候选关键字,故选C。15.下列关于 Java语言中线程的叙
27、述中,正确的是_。(分数:2.00)A.线程由代码、数据、内核状态和一组寄存器组成B.线程间的数据是不共享的C.用户只能通过创建 Thread类的实例或者定义和创建 Thread子类的实例,建立和控制自己的线程D.因多线程并发执行而引起的执行顺序的不确定性可能造成执行结果的不确定 解析:解析 本题考查线程的基本知识。线程与进程在概念上是相关的,线程是由表示程序运行状态的寄存器、程序计数器、栈指针以及堆栈组成,它不包含进程地址空间中的代码和数据。代码所操作的数据是 Java线程模型中的一个组成部分,数据与代码是独立的。数据可以被多个线程共享,也可不共享。Java语言中提供两种创建线程的方法,一种
28、是通过继承 Thread类创建线程,另一种是通过实现 Runnable接口来创建线程。16.下列可用作 switch(expression)语句参数的是_。(分数:2.00)A.String sB.Integer iC.boolean bD.int i 解析:解析 switch 多分支选项运算的判别对象必须是 byte、int、short 和 char这几种类型的原始类型。17.Frame默认的布局管理器是_。(分数:2.00)A.FlowLayoutB.BorderLayout C.GridLayomD.CardLayout解析:解析 本题考查 Java中的布局管理器。 FlowLayout
29、 是 Pane和 Applet默认的布局管理器,构件在容器中从上到下、从左到右进行放置;BorderLayout 是 Window、Frame 和 Dialog的默认布局管理器,选项 B正确,在 BorderLayont 布局管理器中,构件分成 5个区域,每个区域只能放置一个构件:GridLayout使容器中各个构件呈网状布局,平均占据容器的空间;GardLayout 把容器分成许多层,每层只能放置一个构件。18.下列关于类、包和源文件的描述中,不正确的一项是_。(分数:2.00)A.一个文件可以属于一个包B.一个类可以属于一个包C.一个包可包含多个文件D.一个包只能含有一个类 解析:19.在
30、待排序的元素序列基本有序的前提下,效率最高的排序方法是_。(分数:2.00)A.冒泡排序 B.选择排序C.快速排序D.归并排序解析:解析 从平均时间性能来看,快速排序最佳,其所需时间最少,但快速排序在最坏情况下的时间性能不如堆排序和归并排序。当序列中的记录元素基本有序或元素个数较少时,冒泡排序和简单选择排序是最佳排序方法。20.在下列程序的空白处,应填入的正确选项是_。 import Java.io*; pulilc class Obj ectStreamTest publilc static void main(string args) throws IOException ObjectOu
31、tputStream oos=new ObjectOutputStream (new FileOutputStream(“serial.bin“); Java until.Date d=new Java.until Date(); oos (d); ObjectInputStream ois= new ObjectInputStream(new FileOutputStream(“serial.bin“); try java until.date restoredDate= (Java.until.Date)ois.readObject(); System.out.println (“read
32、 object back from serial.bin file:“ +restoredDate); catch(ClassNotFoundException cnf) System.out.println(“class not found“); (分数:1.00)A.WriterObjectB.WriterC.BufferedWriterD.WriterObject 解析:解析 java.io 包中,提供了 ObjectInputstream和 ObjectOutputStream将数据流功能扩展至可读写对象。在 ObjectInpulStream中用 readObject()方法可以直接
33、读取一个对象,ObjetOutputstream 中用 writeObject()方法可以直接将对象保存到输出流中。因此,本题的正确答案是 D。21.Java为移动设备提供的平台是_。(分数:2.00)A.J2ME B.J2SEC.J2EED.JDK5.0解析:解析 Java2 平台包括:J2ME 平台、J2SE 平台和 J2EE平台。其中:J2ME 是为嵌入式和移动设备提供的 Java平台;J2SE 是面向企业级应用与服务的综合性标准开发平台;J2EE 是面向大型企业级用容器管理专用构件的应用平台。而 JDK5.0是一个 Java开发软件包。22.grid95捕述的是_。(分数:1.00)A
34、.二维数组 B.一维数组C.五维数组D.九维数组解析:解析 二维数组的定义方式为:type arrayName;对二维数组中每个元素,引用方式为arrayNameindex1index2其中 index1、index2 为下标,可为整型常数或表达式,如 a23等,同样,每一维的下标都从 0开始。题中 grid95显然是二维数组,Java 中没有多维数组,要表示多维数组可以使用数组的嵌套。因此,本题选择 A。23.以下程序试图把从终端输入的字符输出到名为 abc.txt的文件中,直到从终端读入字符#时结束输入和输出操作,但程序有错,出错的原因是_。 #includestdio.h main()
35、FILE *fout: char ch: fout=fopen(“abc.txt“,“w“); ch=fgetc(stdin); while(ch!=“#“) fputc(ch,fout); ch=fgetc(stdin); fclose(fout); (分数:2.00)A.函数 fopen调用形式错误 B.输入文件没有关闭C.函数 fgetc调用形式错误D.文件指针 stdin没有定义解析:24.下列类中属于字节输入抽象类的是_。(分数:2.00)A.FileInputStreamB.ObjectInputStreamC.FiterInputStreamD.InputStream 解析:解析
36、 在 Java中定义了两种类型的流,字节型和字符型,这两种流分别用 4个抽象类表示:InputStrearm,OutputStream,Reader,Writer,其中 InptutStream和 OutStream表示字节流,Reader和 Reader是表示字符流,所以字节输入抽象类为 InptutStream。25.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和_。(分数:2.00)A.编码设计B.测试阶段C.运行阶段D.物理设计 解析:26.下列不属于 Swing的构件是_。(分数:1.80)A.JButtonB.JLabelC.JFrameD.JPane 解析:解析 Swin
37、g 构件中 JButton是按钮构件,JLabel 为标签构件,JFrame 为顶层窗体容器构件。中间容器面板应为 JPanel,而不是 JPane。27.已知 int x=(1,2,3,4);,变量 x的值是_。(分数:2.00)A.1B.2C.3D.4 解析:28.Java多线程并发控制中,用于在代码中标识临界区的关键字是_。(分数:1.00)A.startB.waitC.synchronized D.lock解析:解析 一个程序中单独的、并发的线程对同一个对象进行访问的代码段称为临界区。Java 中,临界区用 synchronized关键字标识。每个由 synchronized()语句指
38、定的对象设置一个锁,称为对象锁。对象锁是一种独占的排他锁,即当一个线程获得了对象的锁后,便拥有了该对象的操作权,其他任何线程不能对该对象进行任何操作。因此,本题正确答案为 C。29.阅读下列代码: public class public static void main(String args) double d=12.3; Decrementer dec=new Decrementer(); dec.decrement(d); System.out.println(d); class Decrementer public void decrement(double decMe) decMe=
39、decMe-1.0; 代码执行后输出的结果是_。(分数:1.00)A.12.3 B.11.3C.13.3D.-1.0解析:解析 本题参数传递采用的是传值引用,函数中不会改变实参 d的值,因此 d的值不变。30.Java对输入/输出访问所提供的同步处理机制是_。(分数:2.00)A.字节流B.过滤流 C.字符流D.压缩文件流解析:解析 Java 对输入/输出访问所提供的同步处理机制是过滤流,保证某时刻只有一个线程访问一个输入/输出流。31.设执行下面的赋值语句: A=Float.valueOf(“12.34“).floatValue(); 后,a 的值是_。(分数:1.00)A.a=“12.34
40、“B.a=12.34 C.a=1234D.a=12解析:32.如果进栈序列为 e1、e2、e3、e4、e5,则可能的出栈序列是_。(分数:2.00)A.e3、e1、e4、e2、e5B.e5、e2、e4、e3、e1 C.e3、e4、e1、e2、e5D.任意顺序解析:解析 根据栈先进后出的特点可知 e1肯定是最后出栈的,因此正确答案为选项 B。33.Java的核心包中,提供编程应用的基本类的包是_。(分数:2.00)A.java.lang B.java.utilC.java.appletD.java.rmi解析:解析 Java.lang 包封装所有编程应用的基本类,如 Object、Class、S
41、tring、Integer 等。34.JDK中用于存放 Java类库文件的文件夹是_。(分数:2.00)A.binB.includeC.lib D.demo解析:解析 本题考查 JDK的文件夹结构。bin 文件夹下存放可执行文件。include 存放 Java标准类的源代码。demo 文件夹存放 Java例子程序。35.以下选项中,当 x为大于 1的奇数时,值为 0的表达式是_。(分数:2.00)A.x%2=1B.x/2C.x%2!=0D.x%2=0 解析:36.有以下程序: void swap1(int *a,int *b) int *c=a; a=b,b=c; void swap2(int
42、 *a,int *b) int c=*a; *a=*b,*b=c; main() int a=10,b=15; swap1(a,b); printf(“%d,%d,“,a,b); a=10,b=15; swap2(a,b); printf(“%d,%d,“,a,b); 其输出结果为_。(分数:2.00)A.15,10,10,15B.15,10,15,10C.10,15,10,15D.10,15,15,10 解析:37.下列代码的下划线处填入相同的类,该类是_。 public class Test public static void main(String args) Jframe f = n
43、ew Jframe(); f.setTitle (“menus“); f.setVisible(true); f.setSize(500,400); _ mb = new _ (); Jmenu m = new Jmenu(“文件“); mb.add (m); JmenuItem mi = new JmenuItem(“打开“) ; m.add(mi); (分数:2.00)A.JMenuItemB.JMenuC.JFrameD.JmenuBar 解析:解析 JMenuBar 用来存放 JMenu。38.下面几种调试方法中不适合调试大规模程序的是_。(分数:2.00)A.强行排错法B.回溯法 C
44、.原因排除法D.静态调试解析:解析 本题考查对几种调试方法的掌握。其中,强行排错法是最常用也是最低效的,主要思想是通过计算机找错,适合调试大规模程序。回溯法是从出现错误征兆处开始,人工沿控制流程往回追踪,直至发现出错的根源。这是在小程序中常用的一种有效的调试方法。程序变大后,可能的回溯路线显著增加,以致人工进行完全回溯变得不可能。原因排除法是靠演绎、归纳以及二分法来实现的,适合调试大规模程序。静态调试也是种调试手段,主要是指通过人的思维来分析源程序代码和排错。39.下列情况中,不会使线程返回所持有的对象锁的是_。(分数:1.00)A.当 synchronized()语句块执行完毕B.当调用了线
45、程的 suspend()方法 C.当在 synchronized()语句块中出现异常(Exception)D.当持有锁的线程调用该对象的 wait()方法解析:解析 本题考查 Java线程中对象的加锁及其操作。对象加锁的使用非常灵活,一定要注意。对象的锁在如下几种情况下由持有线程返还:当 synchronized()语句块执行完后,所以选项 A错误;当在synchronized()语句块中出现异常 (exception),所以选项 B错误;当持有锁的线程调用该对象的 wait()方法,此时该线程将释放对象的锁,所以选项 D错误。而当调用了线程的 suspend()方法只是使线程暂时停止执行,可
46、以使用其他线程调用 resume()方法恢复执行,所以选项 B正确。二、填空题(总题数:10,分数:17.00)40.数据结构包括数据的逻辑结构、数据的 1 以及对数据的操作运算。 (分数:2.00)解析:存储结构解析 数据结构包括三个方面,即数据的逻辑结构、数据的存储结构以及对数据的操作运算。41.InputStreamReader类是以字节输入流作为数据源的 1。 (分数:2.00)解析:字符输入流解析 InputStreamReader 类是从字节流到字符流的桥梁:它读入字节,并根据指定的编码方式,将之转换为字符流。42.类名与接口名都采用 1 描述符,并且所有单同的第一个字母大写。 (
47、分数:2.00)解析:完整的英文43.下面 Applet在窗口中实现一个不可编辑的 TextField,并且显示“ok”。在横线处填入正确的语句。 import java.applet.Applet; import java.awt.t; public class Test extends Applet TextField tf; public void init () setLayout (new GridLayout(1,0); tf=new TextField(“ok“); 1 add(tf); (分数:2.00)解析:setEditable(false)解析 通过调用 TextField构件的 setEditable(boolean b)方法,可以设置文本区的可编辑属性,参数 b为 false时,文本为不可编辑。44.设有数组定义:int MyIntArray=10,20,30,40,50,60,70则执行以下几个语句后的输出结果是 1。 ints=O; for (int i=0;iMyIntArray,length;i+) s+=MyIntArrayi sys