1、二级 JAVA 笔试-195 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.用 HTML 文件显示 APPLET 时,下面属于必不可少的属性的是(分数:2.00)A.NAME、HEIGHT 和 WIDTHB.CODE 和 NAMEC.CODEBASE、HEIGHT 和 WIDTHD.CODE、HEIGHT 和 WIDTH2.下面不属于软件工程 3 个要素的是(分数:2.00)A.工具B.过程C.方法D.环境3.要表示表格的数据,需要继承下列哪个类?(分数:2.00)A.AbstractTableModelB.TableModelC.JTa
2、bleD.TableModeLabel4.Java 中,类 FileInputStream 和 FileOutputStream 提供了对文件的读/写方法是(分数:2.00)A.跳跃B.顺序C.随机或顺序D.随机5.按照 Java 的标识符命名规则,下列表示常量的标识符规范的是(分数:2.00)A.HelloWorldB.HELLO_WORLDC.hello_worldD.helloWorld6.正确生成 RandomAccessFile 对象的语句的是(分数:2.00)A.File f=new File(“readFile“);RandomAccessFile raF=new RandomA
3、ccessFile(f);B.RandomAccessFile raF=new RandomAccessFile(d:/mydir/File3.txt,“rw“);C.RandomAccessFile raF=new RandomAccessFile(“readwriteFile“,“rw“);D.RandomAccessFile raF=new RandomAceessFile(“readwriteFile“ ,rw);7.设有下列二叉树:(分数:2.00)A.B.C.D.8.下列语句中所使用的布局管理器,当改变容器大小,组件大小不会随着一起改变的是(分数:2.00)A.Frame fram
4、e1=naew Frame(“FlowLayout“);B.Frame frame1-new Frame(“BorderLayout“);C.frame1=new Frame(“example“);frame1.setLayout(new BorderLayout ();D.frame1.setLayout(new GridLayout(2,3);9.下列哪个数代表八进制整数?(分数:2.00)A.0XA5B.0144C.1840D.-110.关于下面程序段的说法,正确的是import javA.applet.*;import java.awt,*;public class Test exte
5、nds Applet Image img;public void init()img=new Image();public void paint(Graphics g)g. drawlmage(img,0,0,this);(分数:2.00)A.该程序段可以正常运行B.程序中所创建的 Image 为空,但可以显示C.程序中所创建的 Image 不为空D.程序中所创建的 Image 为空,不能显示11.数据报通信协议 UDP 把每个传输的数据大小控制在下列哪一项之内(分数:2.00)A.8KBB.16KBC.64KBD.128KB12.数据库设计包括两个方面的设计内容,它们是(分数:2.00)A.
6、概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计13.表达式 1/2+“aa”+3 的值为(分数:2.00)A.“12aa3”B.“3aa3”C.“12aa”D.“aa3”14.下列基本命令中,属于类文件分解器命令的是(分数:2.00)A.javadocB.jarC.javahD.javap15.数据流图用于抽象描述个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(分数:2.00)A.控制流B.加工C.数据存储D.源和潭16.执行下面的程序段后 i 和 j 的结果为int i=1,j=10;doif(
7、i+-j)continue;while(i5);(分数:2.00)A.i=6,j=5B.i=5,j=5C.i=6,j=4D.i=5,j=617.char 变量的取值范围是(分数:2.00)A.032 767B.065 535C.-256255D.-32 7683276718.关于下面语句的说法正确的是Strings=new String10;(分数:2.00)A.该语句不合法B.该语句定义了一个二维数组,它包括 10 行 10 列C.s 是一个包含 10 个数组的数组D.s 中的每一个元素都被设置成“19.下列对继承的说法正确的一项是(分数:2.00)A.子类能继承父类的所有方法和状态B.子类
8、能继承父类的非私有方法和状态C.子类只能继承父类的 public 方法和状态D.子类只能继承父类的方法,而不能继承状态20.下列数据结构中能应用二分查找的是(分数:2.00)A.有序线性链表B.有序线性表C.顺序存储的栈D.顺序存储的队列21.对建立良好的程序设计风格,下面描述正确的是(分数:2.00)A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无22.下列说法正确的是(分数:2.00)A.abstract 关键字修饰的方法,不能再被子类重写B.用 final 关键字修饰的方法,不能再被子类重写C.抽象类中一定要包含 abstract
9、 方法D.某个类中包含了 abstract 方法,该类可以不声明为 abstract 类23.结构化程序设计的主要特点是(分数:2.00)A.每个控制结构要模块化B.每个控制结构具有封装性C.每个控制结构具有独立性D.每个控制结构只有一个入口和一个出口24.下列说法中错误的一项是(分数:2.00)A.当线程需要在 synchronized 块中等待共享数据状态改变时,则需要调用 wait()方法B.当线程需要在 synchronized 块中等待共享数据状态改变时,则需要调用 notify()方法C.线程在 synchronized 块中执行完操作后,调用 notify()方法通知正在等待的线
10、程重新占有锁D.wait()和 notify()可以实现线程的同步操作25.下列关于构造方法说法正确的是(分数:2.00)A.构造方法的名称可以和类不一样B.构造方法必须有返回值C.只能用运算符 new 调用构造方法D.构造方法不可以被重载26.下面程序段;boolean a=false;boolean b=true;boolean c=(a|b)boolean result=(a|b)执行完后,正确的结果是(分数:2.00)A.c=false;result=falseB.c=true;result=trueC.c=true;result=falseD.c=false;result=true2
11、7.下列关于 Applet 的叙述中,正确的是(分数:2.00)A.Applet 是 Java 类,所以可以由 JDK 中的解释器 java,exe 直接解释运行B.Applet 应该定义为 javax.applet.Applet 类或 java.swing.Applet 类的子类C.Applet 与 Application 的主要区别在编译方式上D.通过在 Applet 中使用 getParameter 可从 HTML 文件中获得参数28.下列不是 DataOutputStream 方法的是(分数:2.00)A.writeDouble(double v)B.writelnt(int v)C.
12、writeString(int v)D.writeChat(im v)29.下列关于关系运算的叙述中正确的是(分数:2.00)A.投影、选择、连接是从二维表的行的方向来进行运算B.并、交、差是从二维表的列的方向来进行运算C.投影、选择、连接是从二维表的列的方向来进行运算D.以上三种说法都不对30.下列叙述中正确的是(分数:2.00)A.实体集之间一对一的联系实际上就是一一对应的关系B.关系模型只能处理实体集之间一对一的联系C.关系模型属于格式化模型D.以上三种说法都不对31.在长度为 n 的有序线性表中进行二分查找,需要的比较次数为(分数:2.00)A.log2nB.nlog2nC.n/2D.
13、(n/1)/232.利用 File 对象可以判断的是(分数:2.00)A.创建子目录B.荻得文件长度C.删除文件D.判断文件的存在33.下面代码的运行结果是public class Testpublic static void main(String args)for(int i 0;i3;i+)if(i2)continue;System.out.println(i);(分数:2.00)A.0B.1C.2D.334.下列数组 array_test 中,能在程序运行时动态调整大小的是(分数:2.00)A.int array_test=new int10B.String array_testC.A
14、rrayList army_test=new Array List()D.Array array_test=new Array()35.下列字节输入流中,不能够被实例化的是(分数:2.00)A.FilelnputStreamB.FilterlnputStreamC.ByteArraylnputStreamD.ObjectlnputStream二、填空题(总题数:15,分数:30.00)36.设一棵二叉树中有 3 个叶子结点,有 8 个度为 l 的结点,则该二叉树中总的结点数为 【1】 。(分数:2.00)填空项 1:_37.类是一个支持集成的抽象数据类型,而对象是类的 【2】 。(分数:2.0
15、0)填空项 1:_38.结构化设计主要分为系统设计和模块设计, 【3】 的任务是决定系统的模块结构。(分数:2.00)填空项 1:_39.一般来说,数据库的设计过程要经历 3 个大的阶段,即可行性分析与研究阶段、系统设计阶段、设计实施与系统运行阶段。概念设计、逻辑结构设计、物理结构设计属于数据库设计的 【4】 阶段。(分数:2.00)填空项 1:_40.数据流图有两种典型的结构形式,它们分别是变换型和 【5】 。(分数:2.00)填空项 1:_41.按运算符操作数的数目划分,运算符的类型是 【6】 元运算符。(分数:2.00)填空项 1:_42.属于 main()方法的返回类型是 【7】 。(
16、分数:2.00)填空项 1:_43.如果在 Java 程序中,需要使用 java.util 包中的所有类,则应该在程序开始处加上 【8】 语句。(分数:2.00)填空项 1:_44.Throwable 类有两个子类,分别是 Error 和 【9】 。(分数:2.00)填空项 1:_45.下列程序段的输出结果为 【10】 。public class Test void printValue(int m) do Systern.out,println(“The value is “+m);while(-m10);public static void main(String arg)int i=10
17、;Test t=new Test();t.print Value(i);(分数:2.00)填空项 1:_46.设 x=1,y=2,z=3,u=false,u=yzx!=z;结果为 【11】 。(分数:2.00)填空项 1:_47.下面是一个类的定义,试将程序补充完整。classA String s;【12】 int a=66;A(Strings 1) s=s1;static int geta()return a;(分数:2.00)填空项 1:_48.下面是一个 Java Applet 程序,请将程序补充完整使它的功能为计算数组各元素的平均值。import java.applet.Applet;
18、import java.awt.*;public class Exam extends Appletpublic void paint(Graphics g)int a=1,3,5,7,9,10;int total=0;float ave;for(int i=0;iA.length;i+)total+=ai;ave=total 【13】 ;g.drawstring(“ave=“+ave,30,60);(分数:2.00)填空项 1:_49.给较低优先级线程一个执行的机会调用 【14】 。(分数:2.00)填空项 1:_50.线程的基本状态有新建、就绪、 【15】 运行和消亡。(分数:2.00)填
19、空项 1:_二级 JAVA 笔试-195 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.用 HTML 文件显示 APPLET 时,下面属于必不可少的属性的是(分数:2.00)A.NAME、HEIGHT 和 WIDTHB.CODE 和 NAMEC.CODEBASE、HEIGHT 和 WIDTHD.CODE、HEIGHT 和 WIDTH 解析:解析 本题考查 Applet 标记中最基本的属性的概念。APPLET标记中有 3 个属性是必不可少的,CODE 属性规定小程序的主要类文件的名称,HEIGHT 属性规定了网页上小程序窗口的高度,WIDTH
20、 属性规定了网页上小程序窗口的宽度,其他的属性都是可选的。NAME 属性是为创建的 Applet 定义一个名字,以便同一个页面中的 Applet 能够彼此发现并进行。CODEBASE 属性是执行 Applet 的 URL 地址,该 URL 是包含了 Applet 代码的目录。2.下面不属于软件工程 3 个要素的是(分数:2.00)A.工具B.过程C.方法D.环境 解析:解析 软件工程包括 3 个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段:工具是指支持软件的开发、管理、文档生成;过程是支持软件开发的各个环节的控制、管理。环境不属于软件工程的 3 个要素之一。本题的正确答案为 D。
21、3.要表示表格的数据,需要继承下列哪个类?(分数:2.00)A.AbstractTableModel B.TableModelC.JTableD.TableModeLabel解析:解析 本题考查 Swing 的构件。表格是 Swing 新增加的构件,主要功能是把数据以二维表格的形式显示出来。使用表格,最好先生成一个 MyTableModel 类型的对象来表示数据,这个类是从AbstractTableModel 类中继承来的,其中的几个方法一行要重写。因为 JTable 会从这个对象自动获取表格显示所必需的数据,AbstractTableModel 类的对象负责表格大小的确定(行、列)、内容的填
22、写等等。4.Java 中,类 FileInputStream 和 FileOutputStream 提供了对文件的读/写方法是(分数:2.00)A.跳跃B.顺序 C.随机或顺序D.随机解析:解析 本题考查 Java 中,类 FileInputStream 和 FileOutputStream 提供了对文件的顺序读/写方法,选项 B 正确。5.按照 Java 的标识符命名规则,下列表示常量的标识符规范的是(分数:2.00)A.HelloWorldB.HELLO_WORLD C.hello_worldD.helloWorld解析:解析 本题考查 Java 标识符的命名规则。属于考试重点内容,应该掌
23、握。Java 中标识符的命名规则是:标识符以字母、下划线、美元符作为首字符的字符串序列:标识符是区分大小写的;标识符的字符数没有限制。但是 Java 有一些命名约定,基本原则为:$不作为变量名、方法名开头:变量名、方法名首单词小写,其余单词只有首字母大写;接口名,类名首单词第一个字母大写;常量完全大写。按照这些约定,可见只有选项 B 正确。6.正确生成 RandomAccessFile 对象的语句的是(分数:2.00)A.File f=new File(“readFile“);RandomAccessFile raF=new RandomAccessFile(f);B.RandomAccess
24、File raF=new RandomAccessFile(d:/mydir/File3.txt,“rw“);C.RandomAccessFile raF=new RandomAccessFile(“readwriteFile“,“rw“); D.RandomAccessFile raF=new RandomAceessFile(“readwriteFile“ ,rw);解析:解析 本题考查随机文件流的概念。文件操作中经常需要的是随机访问,Java 中的 RandomAccessFile 类提供了随机访问文件的功能,它继承了 Object 类,用 DataInput 和 DataOutput
25、接口来实现。接口中定义了从流中读/写基本类型的数据方法。因此也可以随机读入数据文件的记录。一个随机文件建立的语句为:RandomAccessFile raF=new RandomAecessFile(“readwriteFile“,“rw“):其中“”表示可读写,所以选项 C 正确。7.设有下列二叉树:(分数:2.00)A.B. C.D.解析:解析 二叉树的遍历分为先序、中序、后序三种不同方式。本题要求中序遍历,其遍历顺序应该为:中序遍历左子树访问根结点叶中序遍历右子树。按照定义,中序遍历序列是 DBEAFC,故答案为 B。8.下列语句中所使用的布局管理器,当改变容器大小,组件大小不会随着一起
26、改变的是(分数:2.00)A.Frame frame1=naew Frame(“FlowLayout“); B.Frame frame1-new Frame(“BorderLayout“);C.frame1=new Frame(“example“);frame1.setLayout(new BorderLayout ();D.frame1.setLayout(new GridLayout(2,3);解析:解析 本题考查 java 中各种布局管理器的布局特点。在 FlowLayout 中所有组件都被压缩至最小,当容器大小变化时,上面的组件保持最小状态,大小不变;在 BorderLayout 中任
27、何组件都尽量伸展,使它与容器的边缘对齐,当容器大小变化时,组件将随之变化;GridLayout 将容器等分为几个格子,每个组件占一个格子,当容器大小变化,格子大小也变化,组件大小也变化。9.下列哪个数代表八进制整数?(分数:2.00)A.0XA5B.0144 C.1840D.-1解析:解析 本题考查 Java 语言中的整型常量。题目虽然不难,但属于学习程序设计语言的基础,应有所了解。整型常量有 3 种书写格式。十进制整数,如:156,-230, 345;八进制整数:以 0 开头,如:012 表示十进制的 10;十六进制整数:以 0x 或 0X 开头,如 0X123 表示十进制数 291。由此可
28、见,选项 A表示的是十六进制整数,选项 B 是八进制整数形式,以 0 开头,为本题正确选项;选项 c 和选项 D 都是十进制整数。10.关于下面程序段的说法,正确的是import javA.applet.*;import java.awt,*;public class Test extends Applet Image img;public void init()img=new Image();public void paint(Graphics g)g. drawlmage(img,0,0,this);(分数:2.00)A.该程序段可以正常运行B.程序中所创建的 Image 为空,但可以显示
29、C.程序中所创建的 Image 不为空D.程序中所创建的 Image 为空,不能显示 解析:解析 本题考查 Image 的概念和用法。程序的目的是想要使用 drawImage(Image img,int x,int y,ImageObserver observer)方法将 img 在 Applet 中画出,但由于程序段所创建的 Image 为空,不能显示,应该先调用 getImage()获取已经存在的图像。所以选项 D 正确。11.数据报通信协议 UDP 把每个传输的数据大小控制在下列哪一项之内(分数:2.00)A.8KBB.16KBC.64KB D.128KB解析:解析 本题考查数据报通信的
30、协议 UDP。UDP 协议对每个数据报是一个独立的信息传输单位的大小限定,UDP 协议对传输数据的大小有限制,在 64KB 之内。正确答案为选项 C。它的传输不可靠,但操作简单,因此,适用于广播式的重复传输、时钟器的传输、ping 命令的传输等。12.数据库设计包括两个方面的设计内容,它们是(分数:2.00)A.概念设计和逻辑设计 B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计解析:解析 数据库设计包括两个方面的设计内容:概念设计和逻辑设计。选项 A 正确。13.表达式 1/2+“aa”+3 的值为(分数:2.00)A.“12aa3”B.“3aa3” C.“12
31、aa”D.“aa3”解析:解析 本题考查 Java 中的运算符。“+”运算符可以做字符串的连接运算,题中的表达式的运算过程可以看作是:(1/2)+“aa“)+3,首先进行 1+2 得到数值 3,再和字符串“aa”做字符串的连接,得到字符串“3aa”,最后跟数值 3 再做一次连接运算,得到“3aa3”。14.下列基本命令中,属于类文件分解器命令的是(分数:2.00)A.javadocB.jarC.javahD.javap 解析:解析 本题考查 Java 的 JDK 工具。javadoc 是 Java 文档生成器,对 Java 源文件和包以 MML 格式生成 AP 文档。压缩程序 jar.exe
32、的功能是把多个文件以 zip 格式压缩到一个扩展名为 jar 的文件中,这样可以保持程序的完整性并便于使用。javah 是头文件(header)产生器。javap 是 Java 类分解器,对class 文件提供字节代码的反汇编,并打印。javac 是 Java,编译俞令,能将源代码编译成字节码,以class 扩展名存入 java 工作目录中。java 是 Java 解释器,执行字节码程序,该程序是类名所指的类,必须是个完整定义的名字。正确答案是 D。15.数据流图用于抽象描述个软件的逻辑模型,数据流图由一些特定的图符构成。下列图符名标识的图符不属于数据流图合法图符的是(分数:2.00)A.控制
33、流 B.加工C.数据存储D.源和潭解析:解析 数据流图由 4 种基本成分构成:数据流,数据处理(即加工),数据存储,外部实体(即源和潭)。而控制流是程序流程图中的图符,它不属于数据流图的合法图符。选项 A 符合题意。16.执行下面的程序段后 i 和 j 的结果为int i=1,j=10;doif(i+-j)continue;while(i5);(分数:2.00)A.i=6,j=5B.i=5,j=5C.i=6,j=4D.i=5,j=6 解析:解析 本题考查考生对自增自减运算符的理解。+op 和 op+,表示对操作数 op 加 1,其中+op表示先对 op 加 1 然后再取值,而 op+表示先取值
34、,然后再对 op 进行加 1。-op 和 op-也是一样,当进行到 i=5 时退出循环,此时 j 为 6。因此,本题正确答案为选项 D。17.char 变量的取值范围是(分数:2.00)A.032 767B.065 535 C.-256255D.-32 76832767解析:解析 本题考查 Java 中数据的取值范围。char 是字符变量类型,在内存中占 16 位 bit,表示范围为 065 535,选项 B 正确。char 不能当作整数使用,char 类型的值可以转换为 int 类型,但反过来,血类型转换为 char 类型时,必须强制执行。18.关于下面语句的说法正确的是Strings=ne
35、w String10;(分数:2.00)A.该语句不合法B.该语句定义了一个二维数组,它包括 10 行 10 列C.s 是一个包含 10 个数组的数组 D.s 中的每一个元素都被设置成“解析:解析 本题考查多维数组的定义。Java 中没有多维数组这种数据结构,只有一维数组,在 Java中实现的所谓的多维数组,实际上是由一维数组“焊接”而成的“数组的数组”。也就是说,某个一维数组的元素是另一个一维数组则称之为二维数组,依次类推,一维数组的多次嵌套定义,构成了多维数组。由此可见,题目中语句 s 是一个包含 10 个数组的数组,对每个元素都赋 null 值,选项 C 说法正确。19.下列对继承的说法
36、正确的一项是(分数:2.00)A.子类能继承父类的所有方法和状态 B.子类能继承父类的非私有方法和状态C.子类只能继承父类的 public 方法和状态D.子类只能继承父类的方法,而不能继承状态解析:解析 本题考查继承的概念。继承性是面向对象方法的一个重要基本特征,它使代码可重用,可降低程序复杂性。对一个类的继承也就是构件了一个子类,于类继承了父类的方法和状态,同时还可以向新类中增添新的方法和状态。由此可见选项 A 正确。20.下列数据结构中能应用二分查找的是(分数:2.00)A.有序线性链表B.有序线性表 C.顺序存储的栈D.顺序存储的队列解析:解析 二分查找的具体过程为:将 x 与线性表的中
37、间项进行比较,若中间项的值等于 x,则说明查到,查找结束;若 x 小于中间项的值,则在线性表的前半部分(即中间项以前的部分)以相同的方法进行查找;若 x 大于中间项的值,则在线性表的后半部分(即中间项以后的部分)以相同的方法进行查找。这个过程一直进行到查找成功或子表长度为 0(说明线性表中没有这个元素)为止。由此可知,有序线性表顺序存储时才能采用二分查找。所以,本题的正确答案为 B。21.对建立良好的程序设计风格,下面描述正确的是(分数:2.00)A.程序应简单、清晰、可读性好 B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无解析:解析 符号名的命名不仅要符合语法,
38、而且符号名的命名应具有一定实际含义,以便于对程序功能的理解。所以,选项 B 错误。程序设计风格强调“清晰第一,效率第二”,而不是效率第一。所以,选项 c 错误。程序中的注释部分虽然不是程序的功能,计算机在执行程序时也不会执行它,但在程序中加入正确的注释能够帮助读者理解程序,注释是提高程序可读性的重要手段。所以,选项 D 错误。本题的正确答案为 A。22.下列说法正确的是(分数:2.00)A.abstract 关键字修饰的方法,不能再被子类重写B.用 final 关键字修饰的方法,不能再被子类重写 C.抽象类中一定要包含 abstract 方法D.某个类中包含了 abstract 方法,该类可以
39、不声明为 abstract 类解析:解析 本题考查类定义中的关键字。abstract 关键字修饰的方法称为抽象方法,该方法必须被重写,选项 A 错误;抽象类中不一定要包含 abstract 方法,但是,一旦某个类中包含了 abstract 方法,该类就必须声明为 abstract 类,选项 C 和选项 D 错误;用 final 修饰的方法不能再被子类重写,选项 B 正确。23.结构化程序设计的主要特点是(分数:2.00)A.每个控制结构要模块化B.每个控制结构具有封装性C.每个控制结构具有独立性D.每个控制结构只有一个入口和一个出口 解析:解析 结构化程序设计要求把程序的结构限制为顺序、选择和
40、循环三种基本结构,以便提高程序的可读性。这种结构化程序具有以下两个特点:首先,以控制结构为单位,只有一个入口和一个出口,使各单位之间的接口比较简单,每个单位也容易被人们所理解;其次,缩小了程序的静态结构与动态执行之间的差异,使人们能方便、正确地理解程序的功能。本题的正确答案是 D。24.下列说法中错误的一项是(分数:2.00)A.当线程需要在 synchronized 块中等待共享数据状态改变时,则需要调用 wait()方法B.当线程需要在 synchronized 块中等待共享数据状态改变时,则需要调用 notify()方法 C.线程在 synchronized 块中执行完操作后,调用 no
41、tify()方法通知正在等待的线程重新占有锁D.wait()和 notify()可以实现线程的同步操作解析:解析 本题考查线程间交互的概念。当线程进入 synchronized 块后,共享数据的状态并不一定满足该线程的需要,它要等待其他线程将共享数据改变为所需要的状态后才能继续执行,但由于此时它占有了该对象的锁,其他线程无法对共享数据进行操作,此时线程调用 wait()方法进入等待状态,并且暂时释放共享数据的对象锁,其他线程可以获得该对象锁,进入 synchronized 块进行操作,操作完成之后,再调用 notify()方法通知等待的线程重新占有锁,这样就实现了线程的同步操作,由此可见,wa
42、it()方法是线程需要在 synchronized 块中等待共享数据状态改变时调用,而 notify()方法是线程在synchronized 块中执行完操作后调用,用来通知正在等待的线程重新占有锁,选项 B 的说法错误。25.下列关于构造方法说法正确的是(分数:2.00)A.构造方法的名称可以和类不一样B.构造方法必须有返回值C.只能用运算符 new 调用构造方法 D.构造方法不可以被重载解析:解析 本题考查构造方法的概念。构造方法用来初始化类的下个对象,构造方法具有和类一样的名称,选项 A 说法错误。构造方法没有返回类型还可以重载,选项 B 说法错误。构造方法只能用运算符new 调用构造方法
43、,选项 C 说法正确。如果没有定义构造方法,在 Java 运行时,系统会自动提供默认的构造方法,它没有任何参数,选项 D 说法错误。26.下面程序段;boolean a=false;boolean b=true;boolean c=(a|b)boolean result=(a|b)执行完后,正确的结果是(分数:2.00)A.c=false;result=falseB.c=true;result=true C.c=true;result=falseD.c=false;result=true解析:解析 本题考查 Java 中的运算符。考试重点内容,历次考试都有题目涉及。首先要清楚,“i3;i+)i
44、f(i2)continue;System.out.println(i);(分数:2.00)A.0B.1C.2 D.3解析:解析 本题考查简单的 Java 控制语句。题目非常简单,但还是应该细心。这里应注意 continue语句。continue 语句是跳过循环体中下面尚未执行的语句,回到循环体的开始继续下一轮的循环。当然,在下一轮循环开始前,要先进行终止条件的判断,以决定是否继续循环。对于 for 语句,在进行终止条件的判断前,还要先执行迭代语句。题目所给程序中,当 i=0 和 i=1 时,都会执行 continue 语句,而不会执行 System.out.println(i)语句,只有当 i
45、=2 时才执行 System.out.println(i)语句,输出为 2,选项C 正确。34.下列数组 array_test 中,能在程序运行时动态调整大小的是(分数:2.00)A.int array_test=new int10B.String array_testC.ArrayList army_test=new Array List() D.Array array_test=new Array()解析:解析 本题考查数组的概念。数组的定义与初始化是考试重点,也是比较容易出错的地方,应该灵活掌握。动态初始化需要使用 new 操作符来分配内存空间,既可以在声明时初始化,也可以在声明以后初始
46、化。声明时初始化:类型数组名=new 类型数组长度;声明后初始化;类型数组名;数组名=new 类型数组长度;选项 A 定义了一个含有 10 个元素的整型数组,不符合题意;选项 B 定义了个字符串数组。在 Java 语言中用一种特殊的类Java.util.ArrayList(数组列表)在运行时能动态调整数组的大小。ArrayList 类在定义数组时,不必限定数组的大小。在数组列表初始化时,可用 add()方法将数组元素赋值。35.下列字节输入流中,不能够被实例化的是(分数:2.00)A.FilelnputStreamB.FilterlnputStream C.ByteArraylnputStre
47、amD.ObjectlnputStream解析:解析 本题考查 Java 中的字节输入流。不能被实例化的类是抽象类,题目所给的 4 个选项中, 由于只有过滤器输入流是抽象类, 因此选项 B 不能被实例化。 FileInputStream 可对一个磁盘文件涉及的数据操作;FilterInputStream 过滤器输入流本身也是一个抽象类,它的各个子类定义了过滤的类型方法:ByteArrayInputStream 以字节数组作为输入流;ObjectInputStream 类实现了 ObjectInput 接口,对象在传输前,要首先实现 Serializable 接口。二、填空题(总题数:15,分数
48、:30.00)36.设一棵二叉树中有 3 个叶子结点,有 8 个度为 l 的结点,则该二叉树中总的结点数为 【1】 。(分数:2.00)填空项 1:_ (正确答案:13)解析:解析 根据二叉树的性质 3:在任意一棵二叉树中,度为。的结点(即叶子结点)总是比度为 2 的结点多个。本题中的二叉树有 3 个叶子结点,所以,该二叉树有 3-1=2 个度为 2 的结点:又知本题中的二叉树有 8 个度为 1 的结点。所以,本题中的二叉树总结点数为叶子结点数+度为 1 的结点数+度为 2 的结点数=3+8+2=13所以,本题的正确答案为 13。37.类是一个支持集成的抽象数据类型,而对象是类的 【2】 。(分数:2.00)填空项 1:_ (正确答案:实例)解析:解析 在面向对象的程序设计中,类描述的是具有相似性质的一组对象,而一个具体对象称为类的实例。38.结构化设计主要分为系统设计和模块设计, 【3】 的任务是决定系统的模块结构。(分数:2.00)填空项