1、二级 JAVA 笔试-207 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列 java 组件中,不属于容器的是(分数:2.00)A.PanelB.WindowC.FrameD.Label2.下列关于线程优先级的说法中,正确的是(分数:2.00)A.线程的优先级是不能改变的B.线程的优先级是在创建线程时设置的C.在创建线程后的任何时候都可以设置D.B 和 C3.自定义表格类中的 model 部分应实现的接口是(分数:2.00)A.AbstractTableModelB.JTableC.TableModelD.TableModelable
2、4.下面程序段的输出结果是class Baseint i;Base()add(1);void add(int v)i+=v;void print()Systemoutprintln(i);class Extension extends BaseExtension()add(2);void add(int v)i+v*2;public class Testpublic static void main(String args)bogo(new Extension();static void bogo(Base b)badd(8);bprint();(分数:2.00)A.9B.18C.20D.22
3、5.定义一个表示 10 个值为 null 的字符串数组,下面选项正确的是(分数:2.00)A.String a;B.String a;C.char a10;D.String a=new String10;6.下列叙述中,错误的是(分数:2.00)A.父类不能替代子类B.子类能够替代父类C.子类继承父类D.父类包含子类7.下面哪个是合法的标识符?(分数:2.00)A.$personsB.2UsersC.*pointD.this8.下列属于合法的 Java 标识符是(分数:2.00)A._catB.5booksC.+staticD.-3.141599.下列叙述中正确的是(分数:2.00)A.数据的
4、逻辑结构与存储结构必定一一对应B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对10.下列对类的声明,正确的是(分数:2.00)A.abstract final class HhB.abstract private move()C.protected private number;D.public abstract class Car11.给出下面程序段:if(x0)System.out.printlh(“Hello. “);else if(x-3)System.out.p
5、rintln(“Nice to meet you!“);elseSystem.out.println(“How are you?“);若打印字符串“How are you?“,则 x 的取值范围是(分数:2.00)A.x0B.x-3C.x=-3D.x=0&x-312.下面程序段:boolean a=false;boolean b=true;boolean c=(a&b)&(!b);boolean result=(a&b)&(!b);执行完后,正确的结果是(分数:2.00)A.c=false;result=falseB.c=true,result=trueC.c=true;result=fals
6、eD.c=false;result=true13.下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello!“,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是public class Test implements Runnablepublic static void main(String args)Test t=new Test();Thread tt=new Thread(t);tt.start();public void run()for(;)try_;catch(_e)System.out.println(“Hello“);(分数:2.00)A.sleep(1000
7、)InterruptedExceptionB.sleep(1000)InterruptedExceptionC.Thread.sleep(1000) RuntimeExceptionD.Thread.sleep(1000)InterruptedException14.下面程序段的输出结果是public class Testpublic static void main(String args)int a,b;for(a=1, b=1; a=100; a+)if(b=10)break;if (b%2=1)b+=2;continue;System.out.println((分数:2.00)A.;&
8、nb15.在一棵二叉树上第 5 层的结点数最多是(分数:2.00)A.8B.16C.32D.1516.在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(分数:2.00)A.概要设计B.详细设计C.可行性分析D.需求分析17.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是(分数:2.00)A.选择B.连接C.投影D.并18.下列选项成员变量声明正确的是(分数:2.00)A.public protected final int i;B.abstract class F1C.private double height;D.double weig
9、ht19.下列有关 Java 语言的叙述中,正确的是(分数:2.00)A.可以有 2 个以上 package 语句B.可以有 2 个以上 import 语句C.可以有 2 个以上 public 类D.只能有 1 个类定义20.下列叙述中正确的是(分数:2.00)A.软件交付使用后还需要进行维护B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令21.下面程序段的输出结果是public class Testpublic static void main(String args)int x,y;x=(int)Math.sqrt(5)/2+(
10、int)Math.random()*5/2;y=(int)Math.sqrt(3)/2+(iht)Math.random()*3/2;if(xy)System.out.println(“xy“);else if (x=y)System.out.println(“x=y“);elseSystem.out.println(“xy“);(分数:2.00)A.xyB.x=yC.xyD.编译错误22.当检索一个压缩文件时,首先要建立压缩文件输入流对象,该对象(分数:2.00)A.以选中的压缩文件为参数B.以 FileInputStream 对象为参数C.以 InputStreamReader 对象为参数
11、D.以 BufferedReader 对象为参数23.下列叙述中,错误的是(分数:2.00)A.File 类能够存储文件B.File 类能够读写文件C.File 类能够建立文件D.File 类能够获取文件目录信息24.下列关于 Java Application 与 Applet 的说法中,正确的是(分数:2.00)A.都包含 main()方法B.都通过“appletviewer“命令执行C.都通过“javac“命令编译D.都嵌入在 HTML 文件中执行25.下列关于正则表达式的说法,不正确的是(分数:2.00)A.在 J2SE1.4 中的正则表达式包中有一个 Pattern 类B.在 J2SE
12、1.4 中的正则表达式包中有一个 Macher 类C.在 J2SE1.4 中的正则表达式包名为 java.util.regexD.以上说法都不对26.下列的哪两种原始类型在使用流时可以互换(分数:2.00)A.byte 和 booleanB.char 和 intC.byte 和 charD.String 和 char27.下列叙述中错误的是(分数:2.00)A.在数据库设计的过程中,需求分析阶段必须考虑具体的计算机系统B.在数据库设计的过程中,概念结构设计与具体的数据库管理系统有关C.在数据库设计的过程中,逻辑结构设计与具体的数据库管理系统有关D.在数据库设计的过程中,物理结构设计依赖于具体的
13、计算机系统28.下面描述中,符合结构化程序设计风格的是(分数:2.00)A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B.模块只有一个入口,可以有多个出口C.注重提高程序的执行效率D.不使用 GOTO 语句29.下面概念中,不属于面向对象方法的是(分数:2.00)A.对象B.继承C.类D.过程调用30.在关系数据库中,用来表示实体之间联系的是(分数:2.00)A.树结构B.网结构C.线性表D.二维表31.下列代码中,将引起一个编译错误的行是1) public class Test2) int m,n;3) public Test()4) public Test(int(分数
14、:2.00)A.m=a;532.下列选项中属于 Java 语言的垃圾回收机制的一项是(分数:2.00)A.语法检查B.堆栈溢出检查C.跨平台D.内存跟踪33.执行下面程序段后,z 值为int x=1,y=2,z=3;z=z/(float)(x/y);(分数:2.00)A.编译无法通过B.6C.3D.234.下列关于队列的叙述中正确的是(分数:2.00)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表35.下列叙述中,正确的是(分数:2.00)A.声明变量时必须指定一个类型B.Java 认为变量 number 与 Number 相同C.Java
15、 中唯一的注释方式是“/“D.源文件中 public 类可以有 0 或多个二、填空题(总题数:15,分数:30.00)36.数据管理技术发展过程经过人工管理、文件系统和数据库系统 3 个阶段,其中数据独立性最高的阶段是 1。(分数:2.00)填空项 1:_37.在面向对象方法中,类之间共享属性和操作的机制称为 1。(分数:2.00)填空项 1:_38.诊断和改正程序中错误的工作通常称为 1。(分数:2.00)填空项 1:_39.在关系数据库中,把数据表示成二维表,每一个二维表称为_。(分数:2.00)填空项 1:_40.问题处理方案的正确而完整的描述称为 1。(分数:2.00)填空项 1:_4
16、1.面向对象的语言将客观世界都看成由各种对象组成,共同特征和行为的对象组成类,类是变量和 1 的集合体。(分数:2.00)填空项 1:_42.Java 语言中如果要使用某个包中的类时,需要使用 1 导入。(分数:2.00)填空项 1:_43.Java 中方法的参数传递是 1 调用,方法不能改变参数值,但可以改变变量值,两个对象之间的参数字段不能相互交换。(分数:2.00)填空项 1:_44.Java 中的继承机制之所以能够降低程序的复杂性,提高编程的效率,主要是因为它使代码可 1。(分数:2.00)填空项 1:_45.8|9&1011 的结果是_。(分数:2.00)填空项 1:_46.线程在生
17、命周期中要经历 5 种状态,分别是新建状态、可运行状态、运行状态、状态和终止状态。(分数:2.00)填空项 1:_47.sum 的值为 0,则 result=sum=0?1:num/sum 的值为 1。(分数:2.00)填空项 1:_48.下面程序段是从对象流中读取对象,请将程序补充完整。import javautil*;import javaio*;public class UnSerializaDateDate d=null;UnSerializaDate()tryFileInputStream f=new FileInputStream(“date.set“);ObjectInputSt
18、ream s=new ObjectlnputStream(f);_. f.close();catch(Exception e)e.printStackTrace();public static void main(String args)UnSerializaDate a=new UnSerializaDate();System.out.println(“The date read is:“+a.d.toString();(分数:2.00)填空项 1:_49.Swing 的顶层容器有:JApplet,JWindow,JDialog 和_。(分数:2.00)填空项 1:_50.Java 对象串行
19、化技术,主要是通过 1 类和 ObjectOutputStream 类来实现。(分数:2.00)填空项 1:_二级 JAVA 笔试-207 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:35,分数:70.00)1.下列 java 组件中,不属于容器的是(分数:2.00)A.PanelB.WindowC.FrameD.Label 解析:解析 本题考查对,java 组件中容器的基本知识的理解。选项 A 错误,Panel 类派生自容器类Container,属于容器的一种。选项 B 错误,Window 类也派生自容器类 Container,也属于容器的一种。选项 C 错误,F
20、rame 类派生自 Window 类,也是一种容器。选项 D 正确,Label 组件是标签组件,不属于容器。故本题答案选项是 D。2.下列关于线程优先级的说法中,正确的是(分数:2.00)A.线程的优先级是不能改变的B.线程的优先级是在创建线程时设置的C.在创建线程后的任何时候都可以设置 D.B 和 C解析:解析 本题考查线程优先级的概念首先应该了解 Java 的线程是有优先级的,并且可以控制其优先级,可以排除选项 A;选项 B 和选项 C 本身就矛盾,故选项 D 是错误的,B 和 C 不能同时选择。线程的优先级在创建线程时可以设置,也可以通过 getPriority()方法来获得线程的优先级
21、,通过 setPriority()方法来设定线程的优先级线程的优先级属于考试重点内容,应该重点掌握。3.自定义表格类中的 model 部分应实现的接口是(分数:2.00)A.AbstractTableModelB.JTableC.TableModel D.TableModelable解析:解析 本题考查 Swing 构件中表格(JTable)。表格是 Swing 新增加的构件,主要功能是把数据以二维表格的形式显示出来。 AbstractTableModel 类的对象负责表格大小的确定 (行、列),内容的填写、赋值、表格单元更新的检测等等一切跟表格内容有关的属性及其操作。JTable 类生成的对
22、象以TableModel 为参数,并负责将 TableModel 对象中的数据以表格形式显示出来,所以应实现的接口是TableModel。4.下面程序段的输出结果是class Baseint i;Base()add(1);void add(int v)i+=v;void print()Systemoutprintln(i);class Extension extends BaseExtension()add(2);void add(int v)i+v*2;public class Testpublic static void main(String args)bogo(new Extensio
23、n();static void bogo(Base b)badd(8);bprint();(分数:2.00)A.9B.18C.20D.22 解析:解析 本题考查继承和构造函数的用法。首先要明确对一个类的继承是指在父类的基础上构建了一个子类,子类继承了父类的方法和状态。题目所给程序段创建的是 Extension 类的实例,在运行时,从main()函数进入程序,所有调用 add()方法的过程将始终和 Extension 类的 add()方法动态绑定。初始值:i0;创建实例 new Extension();先调用父类的默认构造函数 Base(),并在父类的默认构造函数中执行add(1),i=0+12
24、,所以 i=2,再调用子类的默认构造函数 Extension(),子类的默认构造函数中执行add(2),i=2+22,所以 i6;执行 add(8);i=6+82,因此,最终 i=22,正确答案为选项 D。5.定义一个表示 10 个值为 null 的字符串数组,下面选项正确的是(分数:2.00)A.String a;B.String a;C.char a10;D.String a=new String10; 解析:解析 本题考查字符串数组变量的声明。选项 A 和选项 B 的效果是一样的,都是用来定义一个字符串数组,但没有指明数组个数,不满足题 B-要求。选项 C 是一个二维的字符数组,在 C
25、语言中,一个二维的字符数组就可以表示一个一维的字符串数组,而在 Java 中,字符 char 是基本类型,字符串String 则是以对象的形式来表示的。选项 D 正确,它定义了一个含有 10 个元素的字符串数组,如果没有给字符串数组赋值,则默认为 null。6.下列叙述中,错误的是(分数:2.00)A.父类不能替代子类B.子类能够替代父类C.子类继承父类D.父类包含子类 解析:解析 本题考查继承的概念。继承性是面向对象方法的一个重要基本特征,它使代码可重用,可降低程序复杂性。对一个类的继承也就是构建了一个子类,子类继承了父类的方法和状态,同时还可以向新类中增添新的方法和状态。重点掌握两点:子类
26、方法的访问权限比父类访问权限高,因此父类不能替代子类,但子类能够代替父类,选项 A 和选项 B 说法正确;子类方法不能产生比父类更多的异常。选项 D 为正确答案。7.下面哪个是合法的标识符?(分数:2.00)A.$persons B.2UsersC.*pointD.this解析:解析 本题考查 Java 标识符的命名。属于考试重点内容,应该掌握。Java 中标识符的命名规则是:标识符以字母、下划线、美元符作为首字符的字符串序列;标识符是区分大小写的;标识符的字符数没有限制。由此可见 Java 中标识符不能以数字开头,所以选项 B 错误;不能以“。”开头,选项 C 错误;this 是专用标识符,
27、具有专门的意义和用途,选项 D 错误,只有选项 A 是正确答案。8.下列属于合法的 Java 标识符是(分数:2.00)A._cat B.5booksC.+staticD.-3.14159解析:解析 本题考查 Java 标识符的命名规则。这是考试重点内容。Java 中标识符的命名规则是:标识符以字母、下划线、美元符作为首字符的字符串序列:标识符是区分大小写的;标识符的字符数没有限制。由此可见 Java 中标识符不能以数字开头,所以选项 B 错误,不能以“+“开头,选项 C 错误,不能以“-“开头,选项 D 错误,只有选项 A 是正确答案。9.下列叙述中正确的是(分数:2.00)A.数据的逻辑结
28、构与存储结构必定一一对应B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构D.以上三种说法都不对 解析:解析 一种数据的逻辑结构根据需要可以表示成多种存储结构,因此,数据的逻辑结构与存储结构不一定是一一对应的,因此选项 A 错误。计算机的存储空间是向量式的存储结构,但一种数据的逻辑结构根据需要可以表示成多种存储结构,如线性链表是线性表的链式存储结构,数据的存储结构不一定是线性结构,因此选项 B 错误。数组一般是顺序存储结构,但利用数组也能处理非线性结构。选项 C 错误。故应选选项 D。10.下列
29、对类的声明,正确的是(分数:2.00)A.abstract final class HhB.abstract private move()C.protected private number;D.public abstract class Car 解析:解析 本题考查类的声明。选项 A 错误,abstract 用来声明抽象类,final 用来声明最终类,这两个修饰词不能同时出现在类声明中:选项 B 错误,缺少 class 关键字;选项 C 错误,类不能声明为protected 和 private 属性,且不以“;”结尾,也缺少 class 关键字;选项 D 正确,声明了一个可以公有继承的抽象类
30、。11.给出下面程序段:if(x0)System.out.printlh(“Hello. “);else if(x-3)System.out.println(“Nice to meet you!“);elseSystem.out.println(“How are you?“);若打印字符串“How are you?“,则 x 的取值范围是(分数:2.00)A.x0B.x-3C.x=-3 D.x=0&x-3解析:解析 本题考查 Java 语言的 ifelse if 语句。当需要处理多分支时,就可以使用ifelse if 语句。其基本格式为:if(表达式 1)语句 1else if(表达式 2)语
31、句 2else if(表达式 3)语句 3else 语句 n需要注意,表达式是任意一个返回布尔型数据的表达式,不能是数值型(这比 C、C+的限制要严格);每个单一的语句后都必须有分号;语句 1,语句 2,语句 n 可以为复合语句,这时要用大括号()括起;else 予句是任选的;若表达式的值为 true,则程序执行语句 1,否则执行语句 2。当 x0 时,执行 System.out.println(“Hello.“)语句,否则(x=0 时)执行 else if 后的语句,在此又有分支,当 x-3 时 Systemoutprintln(“Nice to meet you!“),只有当 x=-3 时
32、才会执行Systemoutprintln (“How are you?“),输出“How are you?”字符串,所以选项 C 正确。12.下面程序段:boolean a=false;boolean b=true;boolean c=(a&b)&(!b);boolean result=(a&b)&(!b);执行完后,正确的结果是(分数:2.00)A.c=false;result=false B.c=true,result=trueC.c=true;result=falseD.c=false;result=true解析:解析 本题考查 Java 中的运算。首先要清楚,“&”是逻辑与运算符;“!
33、”是逻辑非运算符;“&”是按位与运算符。按照逻辑运算符“a 及&b”是 false,“!b”是 false,所以 c 是 false。“a&b”是false,所以 result 是 false。要注意区分“&”和“&”,以及运算符之间。的优先级关系,本题虽然没有涉及,但也要作为重点掌握。13.下列程序的功能是在监控台上每隔一秒钟显示一个字符串“Hello!“,能够填写在程序中下划线位置,使程序完整并能正确运行的语句是public class Test implements Runnablepublic static void main(String args)Test t=new Test()
34、;Thread tt=new Thread(t);tt.start();public void run()for(;)try_;catch(_e)System.out.println(“Hello“);(分数:2.00)A.sleep(1000)InterruptedExceptionB.sleep(1000)InterruptedExceptionC.Thread.sleep(1000) RuntimeExceptionD.Thread.sleep(1000)InterruptedException 解析:解析 本题考查 Java 中的线程和异常处理。题目首先通过实现 Runnable 接口
35、创建线程,Test t=new Test()语句定义了 Test 的 1 个实例,Thread tt=new Thread(t)定义了 1 个名为 tt 的线程,tt.start()语句启动线程。通过 try-catch 语句来处理异常。try 代码包括一些简单语句或方法调用,遇到异常情况时,停止执行而跳转到相应处理异常的程序,然后由 catch 来控制。题目要求每间隔 1s 输出,间隔使用 Thread.sleep(1000)语句来实现,调用 InterruptedException 来完成。RuntimeException 类包含有较多子类,比如算术异常 Arithmetic Except
36、ion,当除法分母为 0 等时使用;索引越界异常IndexOutOfBoundsException 等。14.下面程序段的输出结果是public class Testpublic static void main(String args)int a,b;for(a=1, b=1; a=100; a+)if(b=10)break;if (b%2=1)b+=2;continue;System.out.println((分数:2.00)A.;&nb解析:解析 本题考查 for 循环和 if 语句的嵌套以及 break 语句和 continue 语句的用法。第 1 个 if语句的意义为:当 b10 时
37、退出 for 循环,第 2 个 if 语句的意义为:如果 b%2=1,则 b 的值加 2 并退出本次循环。本程序当 b 的值分别为 1、3、5、7 和 9 的时候执行 5 次循环,此时 a5, b=9,当执行第6 次循环时,a 的值为 6 但 b=11,所以退出循环,程序结束。15.在一棵二叉树上第 5 层的结点数最多是(分数:2.00)A.8B.16 C.32D.15解析:解析 根据二叉树的性质,在二叉树的第 K 层上,最多有 2 的 k1 次方个结点。所以,第 5 层的结点数最多为 16。16.在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是(分数:2.00)A.
38、概要设计B.详细设计C.可行性分析D.需求分析 解析:解析 在需求分析阶段中,根据可行性研究阶段所提交的文档,特别是从数据流图出发,对目标系统提出清晰、准确和具体的要求,即要明确系统必须做什么的问题。本题的正确答案为 D。17.下列关系运算中,能使经运算后得到的新关系中属性个数多于原来关系中属性个数的是(分数:2.00)A.选择B.连接 C.投影D.并解析:解析 连接运算是对两个关系进行的运算,其意义是从两个关系的笛卡儿积中选出满足给定属性间一定条件的那些元组。而两个关系的笛卡儿积中的属性个数是两个原关系中的属性个数之和。即两个关系经连接运算后得到的新关系中属性个数多于原来关系中属性个数。正确
39、答案是 B。18.下列选项成员变量声明正确的是(分数:2.00)A.public protected final int i;B.abstract class F1C.private double height; D.double weight解析:解析 本题考查对成员变量的声明。成员变量的声明格式位:修饰符 type 变量名;其中 type 可以是 java 语言中的任意数据类型,而修饰符可以是 public、protected,private,static, final,transient,volatile 等。选项 A 错误,成员变量不能同时声明成 public 和 protected。
40、选项 B是类的声明格式,并不是成员变量的声明。成员变量声明应以“;”结尾,选项 D 错误。选项 C 声明了一个私有的 double 型成员变量,为正确答案。19.下列有关 Java 语言的叙述中,正确的是(分数:2.00)A.可以有 2 个以上 package 语句B.可以有 2 个以上 import 语句 C.可以有 2 个以上 public 类D.只能有 1 个类定义解析:解析 本题考查考生对 Java 语言概念的理解。属于考试重点内容,考生应注意理解这些基本概念。考生应该明确,Java 语言中可以有 package 语句,用来指定源文件存入所指定的包中,只能有 0 或 1 个,所以选项
41、A 说法错误;可以有 0 或多个以上 import 语句,但必须在所有类定义之前引入标准类,所以选项 B 说法正确;源文件中最多只能有一个 public 类,其他类的个数不限,所以选项 C 和选项 D 说法错误。20.下列叙述中正确的是(分数:2.00)A.软件交付使用后还需要进行维护 B.软件一旦交付使用就不需要再进行维护C.软件交付使用后其生命周期就结束D.软件维护是指修复程序中被破坏的指令解析:解析 本题考核软件维护的概念。维护是软件生命周期的最后一个阶段,也是持续时间最长、付出代价最大的阶段,在软件交付使用后,还需要进行维护。软件维护通常有以下四类:为纠正使用中出现的错误而进行的改正性
42、维护:为适应环境变化而进行的适应性维护;为改进原有软件而进行的完善性维护;为将来的可维护和可靠而进行的预防性维护。软件维护不仅包括程序代码的维护,还包括文档的维护。综上所述,本题的正确答案是 A,其余选项的说法错误。21.下面程序段的输出结果是public class Testpublic static void main(String args)int x,y;x=(int)Math.sqrt(5)/2+(int)Math.random()*5/2;y=(int)Math.sqrt(3)/2+(iht)Math.random()*3/2;if(xy)System.out.println(“x
43、y“);else if (x=y)System.out.println(“x=y“);elseSystem.out.println(“xy“);(分数:2.00)A.xy B.x=yC.xyD.编译错误解析:解析 本题考查 Java 语言中 if-else 分支结构和几个标准函数语句的用法。Java 语言的控制结构是考试重点,考生应该多读相关程序。这里重点理解程序中的两个赋值语句,赋值号右边的两个表达式分别求两个标准函数的值,再进行整除,判断出 x 与 y 的大小。Mathsqrt 计算一个数的平方根,Mathrandom()输出0,1之间的随机数,本题中经过两条赋值语句后,x=1,y=0。进
44、入分支结构后,满足 if 条件执行相应 System.out.println (“xy“);操作。22.当检索一个压缩文件时,首先要建立压缩文件输入流对象,该对象(分数:2.00)A.以选中的压缩文件为参数B.以 FileInputStream 对象为参数 C.以 InputStreamReader 对象为参数D.以 BufferedReader 对象为参数解析:解析 本题考查压缩文件流的概念。当输入一个 Zip 文件时要将 zip 文件作为 FileInputStream构造方法的参数,所以选项 B 正确。而 FileInputStream 对象又作为 ZipInputStream 构造方法
45、的参数出现。这里的 ZipInputStream 对象在将压:缩文件内的输入项作为字符文本读出时即作为InputStreamReader 的构造方法参数出现。最后, InputStreamReader 对象作为 BufferedReader 的构造方法的参数,并且使用 readLine()方法将压缩文件输入项作为文本读出。23.下列叙述中,错误的是(分数:2.00)A.File 类能够存储文件B.File 类能够读写文件 C.File 类能够建立文件D.File 类能够获取文件目录信息解析:解析 本题考查考生对 Java 中 File 类的理解。文件 File 是 java.io 包中的一个重
46、要的非流类,以一种系统无关的方式表示一个文件对象的属性。通过 File 所提供的方法,可以得到文件或目录的描述信息(包括名字、路径、长度、可读、可写等),也可以生成新文件、目录,修改文件和目录,查询文件属性,重命名文件或者删除文件。File 描述了文件本身的属性,File 类中封装了对文件系统进行操作的功能。简单说,File 类所关心的是文件在磁盘上的存储,而要对文件进行读写,就是流类所关心的文件内容,应该掌握相关概念以及相关方法。24.下列关于 Java Application 与 Applet 的说法中,正确的是(分数:2.00)A.都包含 main()方法B.都通过“appletview
47、er“命令执行C.都通过“javac“命令编译 D.都嵌入在 HTML 文件中执行解析:解析 本题考查 Java App -lication 与 Applet 的区别。Applet 与 Application 的主要区别在执行方式上,Application 以 main()方法为入口点运行,Applet 要在浏览器或 appletviewer 中运行,运行过程比 Application 更复杂。两者都是通过“javac”命令编译,所以只有选项 C 说法正确。25.下列关于正则表达式的说法,不正确的是(分数:2.00)A.在 J2SE1.4 中的正则表达式包中有一个 Pattern 类B.在 J
48、2SE1.4 中的正则表达式包中有一个 Macher 类C.在 J2SE1.4 中的正则表达式包名为 java.util.regex D.以上说法都不对解析:解析 本题考查 J2SE1.4 中的正则表达式。记忆型题目,没有太大难度,考生记住即可java.util.regex 和 .URL 类相结合,用于网络上的字符输入流的模式字符串搜索中。26.下列的哪两种原始类型在使用流时可以互换(分数:2.00)A.byte 和 booleanB.char 和 int C.byte 和 charD.String 和 char解析:解析 本题考查 Java 语言中字节类型的概念。在 Java 语言中,byte 是字节类型,用一个字节表示;boolean 是布尔类型,用 true 和 false 表示,它们的表示方法并不一样,也不提供它们之间的转换,选