1、国家二级( JAVA)笔试模拟试卷 41及答案与解析 1 以下各特点中属于算法的基本特征的是 ( )。 ( A)不可行性 ( B)确定性 ( C)拥有部分的情报 ( D)无穷性 2 考虑一年四季的顺序关系时下列数据元素前者不是后者前件的是 ( )。 ( A)春、夏 ( B)夏、秋 ( C)秋、冬 ( D)冬、秋 3 下列关于线性表叙述中不正确的是 ( )。 ( A)可以有几个节点没有前件 ( B)只有一个终端节点,无后件 ( C)除根节点和终端节点外,其他节点都有且只有一个前件,也有且只 有一个后件 ( D)线性表可以没有数据元素 4 下面对对象概念描述错误的是 ( )。 ( A)任何对象都必
2、须有继承性 ( B)对象是属性和方法的封装体 ( C)对象间的通信靠消息传递 ( D)操作是对象的动态属性 5 下列不属于软件工程过程的基本活动的是 ( )。 ( A)软件规格说明 ( B)软件开发 ( C)软件确认 ( D)软件需求分析 6 软件测试方法中属于静态测试方法的是 ( )。 ( A)黑盒测试 ( B)逻辑覆盖 ( C)错误推测 ( D) )人工检测 7 数据库系统 的核心是 ( )。 ( A)数据库 ( B)数据库管理系统 ( C)数据模型 ( D)软件工具 8 设有 n元关系 R及 m元关系 S,则关系 R与 S经笛卡儿积后所得新关系是 个( )元关系。 ( A) m ( B)
3、 n ( C) m+n ( D) m*n 9 数据库设计包括两个方面的设计内容,它们是 ( )。 ( A)概念设计和逻辑设计 ( B)模式设计和内模式设计 ( C)内模式设计和物理设计 ( D)结构特性设计和行为特性设计, 10 在顺序表 (3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找关键码值 11,所需的关键码比较次数为 ( )。 ( A) 2 ( B) 3 ( C) 4 ( D) 5 11 JDK中,用 ( )命令对其源文件进行编译,生成字节码文件。 ( A) java.exe ( B) javac.exe ( C) javadoc.exe ( D) jav
4、ap.exe 12 以下叙述中不属于 Java语言特点的是 ( )。 ( A)面向对象 ( B)可移植性 ( C)多线程 ( D)宏定义 13 在 Java语言中,封装是借助于 ( )实现的。 ( A)对象 ( B)类 ( C)数组 ( D)成员 14 Java语言有自动收集垃圾的功能,会周期性地回收一些长期不用的对象占用的内存。下列选项中为对象清除路径的是 ( )。 依靠 Java的垃圾回收机制回收内存 调用 System.gc(),请求垃圾回收 Java系统开始运行时,自动调用 java.Objeet.finalize()释放内存 在程序中调用重写的 finalize()方法释放系统资源,
5、其格式为: protected void finalize() throws throwable . super.finalize.(); ( A) 、 ( B) 、 、 、 ( C) 、 、 ( D) 、 、 15 下列各选项中属于合法标识符的是 ( )。 ( A) myid/2 ( B) #NAME? ( C) -5 ( D) _vacl 16 下面哪一个正确表示了血类型的取值范围 ? ( ) ( A) -216 216-1 ( B) -231 231-1 ( C) -232 232-1 ( D) -264 264-1 17 在编写 Java程序的时候,如果不为类的成员变量定义初始值, J
6、ava会给它们设置默认值,下列说法中不正确的是 ( )。 ( A) Byte的默认值是 0 ( B) int的默认值是 0 ( C) long的默认值是 0.0L ( D) float的默认值是 0.0f 18 Java语言中所有的简单数据类型都被包含在 ( )中。 ( A) java.sql ( B) java.awt ( C) java.lang ( D) java.math 19 设 a=8,则表达式 a 2的值是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 20 以下各选项中能正确声明一个表示 50个值为 null的字符串数组的是 ( )。 ( A) string
7、 a; ( B) string a; ( C) ehar a50; ( D) string a=new String50; 21 下列程序的执行结果为 ( )。 public class c3 public static void main(String args) int i=13, j=10; if(i- j) i+; else j-; System.out.println(i+“t“+j); ( A) 13 10 ( B) 12 11 ( C) 11 11 ( D) 12 12 22 如下程序的输出结果是 ( )。 public class Test void printValue(in
8、t m) do System.out.println(“The value is“+m); while( -m 10) public static void main(String args) int i=10; Test t=new Test(); t.printValue(i); ( A) The value is 8 ( B) The value is 9 ( C) The value is 10 ( D) The value is 11 23 for(int x=0,y=0;!xy+)语句执行循环的次数是 ( )。 ( A) 0 ( B) 5 ( C) 6 ( D)无数次 24 下列描
9、述异常含义的各选项中,正确的是 ( )。 ( A)程序编译错误 ( B)程序语法错误 ( C)程序自定义的异常事件 ( D)程序编译或运行时发生的异常事件 25 一个 Java Application运行后,在系统中是作为一个 ( )。 ( A)线程 ( B)进程 ( C)进程或线程 ( D)不可预知 26 下列各项说法中错误的是 ( )。 ( A)共享数据的所有访问都必须使用 synchronized加锁 ( B)共享数据的访问不一定全部使用 synchronized加锁 ( C)所有的对共享数据的访问都是临界区 ( D)临界区必须使用 synchronized加锁 27 对象状态的持久化是
10、通过 ( )实现的。 ( A)文件 ( B)管道 ( C)串行化 ( D)过滤器 28 下列程序从标准输入设备 键盘读入一个字符,然后再输出到屏幕 。要想完成此功能,画线处应该填入的语句为 ( )。 import java.io.*; public class Test public static void main(String args) char ch; try _; System.out.println(ch); catch(IOException e) e.printStackTrace(); ( A) ch=System.in.read(); ( B) ch=(char)Syste
11、m.in.read(); ( C) ch=(char)System.in.readln(); ( D) ch=(int)System.in.read(); 29 下列 Java组件中,不属于容器的是 ( )。 ( A) Panel ( B) Window ( C) Frame ( D) Labe1 30 JScrollPane面板的滚动条通过移动哪个对象来实现 ? ( ) ( A) JViewport ( B) JSplitPane ( C) JTabbedPane ( D) JPanel 31 要表示表格的数据,需要继承类 ( )。 ( A) AbstractTableModel ( B)
12、TableModel ( C) JTable ( D) TableModelable 32 下面程序的正确输出是 ( )。 public class Hello public static void main(String args) int count, xPos=25; for ( count=1; count =10; count+ ) if ( count=5 ) break; System.out.println(count ); xPos += 10; ( A) 1 2 3 4 ( B) 1 3 4 ( C)编译错误 ( D)以上都不是 33 在 Applet生命周期中,下面方法中
13、是在装载 Applet时被调用的是 ( )。 ( A) stop() ( B) init() ( C) start() ( D) destroy() 34 JDBC是面向 ( )的。 ( A)过程 ( B)对象 ( C)应用 ( D)用户 35 J2SDK的下载中,下列哪步可进入 J2SE下载页面 ? ( ) ( A)进入 http:/ ( B)单击左侧 Download链接 ( C)单击页面中的 Java 2 Platform, Standard Edition链接 ( D)单击页面中的 J2SE 1.4.2链接 36 在一个容量为 25的循环队列中,若头指针 from=16,尾指针 rea
14、r=9,则该循环队列中共有【 】,个元素。 37 在面向对象方法中,属性与操作相似的一组对象称为【 】。 38 Jackson方法是一种面向【 】的结构化方法。 39 一个项目具有一个项目主管,一个项目主管可管理多个项目。则实体集 “项目主管 ”与实体集 “项目 ”的 联系属于 【 】 的联系。 40 数据独立性分为逻辑独立性与物理独立性。当数据的存储结构改变时,其逻辑结构可以不变,所以,基于逻辑结构的应用程序不必修改,称为【 】 41 多线程是 Java语言的 【 】 机制,只能够处理同步共享数据和各种不同的事件。 42 如果有一个类 MyFrame是 Frame的子类,但它不能被实例化,请
15、写出该类的声明头: 【 】 。 43 执行下面的赋值语句后, a的值为 【 】 a=Float valueOf(”12 34“) floatValue(); 44 Java运行时系统通过 【 】 周期性地释放无用对象所使用的内存,以完成对象的消除。 45 要使处于不同层次,甚至是互不相关的类可以具有相同的行为采用 【 】 46 Java语言的循环语句包括 for语句、 do-while语句和 do-while语句,先循环后判断,循环至少被执行一次的是 【 】 。 47 下面程序段是创建一个 Date类的对象并把它串行化保存到文件中,该对象表示的是运行时刻的日期及时间,请将程序补充完整。 imp
16、ort java util *; impor java io *; public class SerializeDate Date d; SerializeDate() d=new Date(); try FileOutputStream f=new FileOutputStream( “date ser“); ObjectOutputStream s=new ObjectOutputStream(f); 【 】 f close(); catch(IOException e) e printStackTrace(); public static void main(String args) S
17、erializeDate b=new SerializeDate(); System out println(”The saved date is: “+b d toString(); 48 编译 Java Applet源程序文件产生的字节码文件的扩展名为 【 】 。 49 关于文件名的处理中,测试当前文件是否目录用 【 】 函数。 50 下面的程序是列出目录 C: Test中所有的 txt文件,请将程序补充完整。 import java io *; /引入 java io包中所有的类 public class FileFilterTest public static void main(St
18、ring args File dir=new File(“C: /Test”); Filter filter=new Filter(“txt”); System out println(”list java files in directory”+dir); String files=dir list(filter); for(int i=0; i files length; i+) File f=【 】 ; /为目录 dir下的文件或目录创建一个 File对象 if(f isFile() System out println(”file”+f; else System out println
19、(”sub directory”+f); class Filter implements FilenameFilter String extent; Filter(String extent) this extent=extent; public boolean accept(File dir, String name) return name endsWith(” “+extent); /返回文件的后缀名 国家二级( JAVA)笔试模拟试卷 41答案与解析 1 【正确答案】 B 【试题解析】 作为一个算法一般应具有几个基本特征:可行性、确定性、有穷性、拥有足够的情报,显然答案为 B。 2 【
20、正确答案】 D 【试题解析】 在具有相同特征的数据元素集合中,各个数据元素之间存在某种关系, 这种关系反映了该集合中数据元素所固有的一种结构。这种关系用前件和后件来描述。考虑一年四季的顺序关序时,春是夏的前件,夏是秋的前件,秋是冬的前件。 3 【正确答案】 A 【试题解析】 线性表要求只有一个根节点,它无前件,所以 A是错误的。线性表要求只有一个终端节点,它无后件, B是正确的。线性表要求其他节点都有且只有一个前件,也有且只有一个后件, C是正确的。一个线性表中可以没有数据元素,称为空线性表, D是正确的。 4 【正确答案】 A 【试题解析】 对象是面向对象方法中最基本的概念,对象可以用 来表
21、示客观世界中的任何实体,因此需要很清楚的理解对象的概念。因为客观世界的实体通常都具有静态和动态的属性,所以对象也具有静态和动态的属性。操作是对象的动态属性,属性是对象的静态属性。对象是属性和方法的封装体。面向对象是通过对象与对象间彼此的相互合作来推动的,对象间的相互合作需要传递消息。对象可以有继承性,但并不是任何对象都必须有继承性。 5 【正确答案】 D 【试题解析】 软件工程过程是把输入转化为输出的一组彼此相关的资源和活动。软件工程的过程是将软件工程的方法和工具综合起来,以达到合理、及时地进 行计算机软件开发的目的。它的基本活动包括软件规格说明、软件开发、软件确认、软件演进。 6 【正确答案
22、】 D 【试题解析】 软件测试若是从是否需要执行被测试软件的角度划分,可以分为静态测试和动态测试。若按照功能划分,可以分为黑盒测试和白盒测试。静态测试可以是人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。逻辑覆盖属于白盒测试的主要方法。错误推测属于黑盒测试的主要诊断方法之一。 7 【正确答案】 A 【试题解析】 数据库系统由这样几部分组成:数据库 (数据 )、数据库管理系统 (软件 )、数据库管理员 (人 )、硬件平台、软件平台。这 5个部分构成了一个数据库系统,而数据库是整个系统的核心。 8 【正确答案】 C 【试题解析】 本题考核对笛卡儿积运算的掌握。笛卡儿积是两个关系的合
23、并操作,因此 n元关系 R与 m元关系 S 经笛卡儿积后所得新关系是 m+n 元关系 9 【正确答案】 A 【试题解析】 模式设计和内模式设计是概念设计的两种方法。物理设计是根据特定的计算机系统,对数据的存储结构和存取方法进行设计, 从而实现从逻辑结构到物理结构的转换。从系统开发的角度来看,结构特性设计和行为特性设计是数据库应用系统所具有的两个特性。结构特性的设计,设计各级数据库模式 (静态特性 );行为特性的设计,改变实体及其特性,决定数据库系统的功能 (动态特性 )。 10 【正确答案】 C 【试题解析】 二分法查找,首先用要查找的关键字 k 与中间位置的结点关键字相比较,这个中间结点把线
24、性表分成了两个子表。若比较结果相等,则查找完成,若不等,再根据 k与中间结点关键字的大小比较确定下一步查找哪个子表,这样递归下去,直到找到满足条件的结 点,或者,该线性表中没有这样的结点。本题中第 1次和 15比较:第 2次和 7比较;第 3次和 10比较;第 4次和 12比较;比较后结束,没找到。 11 【正确答案】 B 【试题解析】 本题考查 JDK实用工具的使用。选项 A错误, java.exe是 Java语言解释器,直接从类文件执行 Java应用程序字节代码。可接受 .class文件并启动Java虚拟机执行之;选项 B正确, javac.exe是 Java语言编译器,将 Java源代码
25、转换成字节码;选项 C错误, javadoc.exe是根据 Java源代码及说明语句生成HTML 文档;选项 D错误, javap.exe是反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。 12 【正确答案】 D 【试题解析】 本题考查 Java语言的基本特点。选项 A正确, Java最大的特点之一是跨平台、面向对象;选项 B 正确,解释同 A;选项 C正确,多线程是 Java的一个主要特性,它使可执行程序具有同时保持几个线程执行的能力;选项 D错误, Java不支持宏定义。 13 【正确答案】 B 【试题解析】 Java是一个完全面向对象的语言,利用类把对象的属性和方法封
26、装在一起,只 对外界提供有限的接口。 14 【正确答案】 B 【试题解析】 本题考查 Java语言自动回收垃圾的功能,垃圾回收用于对象的清除,题中给出的 4种垃圾回收方法,都是可行的。 15 【正确答案】 D 【试题解析】 Java语言的标识符是以字母、下划线和符号 $为首字符的字符串,首字符后面可以跟字母、下划线、 $和数字,且标识符是区分大小写的,标识符的字符数没有限制。 A选项中含有非法符号 “/”,故是错误的; B选项是以符号 “+”开始的字符串也不符合规则;同理, C选项也是错误的。 16 【正确答案 】 B 【试题解析】 该题考查对基本数据类型的长度范围的掌握。在 Java语言中,
27、每一种基本类型的长度范围是固定的,它不随着机器字长的改变而改变。对于整型(int),它的长度是 4个字节,而且它可正可负,所以其取值范围应该是 -232 232-1。现在 SUN公司针对 64位机器特别定义了整型的长度为 64 位,即 8个字节。但这只是在 64位机器上的。若没有特别说明,整型的长度都是 4个字节。 17 【正确答案】 C 【试题解析】 long 类型的默认值为 0L,而不是 0.0L。 18 【正确答案】 C 【试题解析】 Java语言中,所有的简单数据类型都被包含在包 java.lang中。 19 【正确答案】 B 【试题解析】 本题具体考查对位运算符中无符号右移运算符的掌
28、握。无符号右移运算符 “ ”用于将一个数的各二进制位全部无符号右移若干位,与运算符 “ ”不同的是左补 0。在本题中, 8的二进制表示是 1000,右移两位后变成了0010,对应的十进制数是 2。 20 【正确答案】 D 【试题解析】 本题考查对字符串数组变量声明的掌握。在 Java语言中, type arrayName和 type arrayName的效果一样,都表示声明一个数组。所以选项 A和选项 B 的效果是一样的,对于本题来说都是不正确的,因为它们没有指明数组所包含的元素的个数;选项 C是一个二维的字符数组, Java语言跟 C语言不一样,在 C语言中,一个二维的字符数组就可以表示一个
29、一维的字符串数组,而在Java中,字符 char是基本数据类型,字符串 string则是以对象的形式来表示的。所以, char a并不等价于 string a。而且 C选项并没有指明数组的 K度;选项 D正确地声明了一个长度为 50的空字符串数组。 21 【正确答案】 A 【试题解析】 程序是由 if-else语句构成的流程,分析判断条件,变量 i和 j做比较,得到条件表达式的值为 true,然后执行 i-1,现在变量 i的值为 12,而 j的值为 10;由于条件表达式为 true,则执行 i+,因此 i的值为 13,并跳过 else子句块,循环控制语句执行完毕,这时变量 i和 j的值分别为
30、13和 10。 22 【正确答案】 C 【试题解析】 此题考查的是 do-while循环和 “-”操作符的知识。 do-while最少执行一次,在执行完 do中的内容后,判断 while中的条件是否为 true。如果为true,就再执行 do中的内容,然后再进行判断。以此类推,直到 while的判断为false时退出循环,执行循环后面的内容。而 “-”操作符的规则是,变量右边的 “-”将先进行运算,然后才使变量的值减一。而在变量左边的 “-”,则先将变量的值减一再运算。本程序中 I的值为 10,当程序运行到 do-while循环时,程序先执行一次循环后然后再做判断,因此选 C。 23 【正确答
31、案】 C 【试题解析】 此题是典型的考题。题中 x=0,则 !x 永远为真,对于条件表达式 !x&y =5只 考虑 y =5,由于每次循环 y都增加 1,而且 y从 0开始到 5。所以可知总共循环了 6次。 24 【正确答案】 D 【试题解析】 异常是在程序编译或者运行时所发生的可预料或者不可预料的异常事件,它会引起程序的中断,影响程序的正常运行。 25 【正确答案】 B 【试题解析】 线程为一个程序中的单个执行流;进程是程序的一次动态执行过程,它对应了从代码加载、执行到执行完毕的一个完整过程,这个过程也是进程本身从产生、发展到消亡的过程。一个 Java Application 运行后,在系统
32、中应该就是一个进程 了 (动态 )。 26 【正确答案】 B 【试题解析】 共享数据的所有访问一定要作为临界区,用 synchronized 标识,这样保证了所有的对共享数据的操作都通过对象锁的机制进行控制。 27 【正确答案】 C 【试题解析】 将 Java程序中的对象保存在外存中,称为对象永久化,对象永久化的关键是将它的状态以一种串行格式表示出来。 28 【正确答案】 B 【试题解析】 此题程序通过调用系统的标准输入流 System.in 的 read()方法,从键盘读入一个字符,由于 read()方法的返回值 是 int类型,而变量 ch是字符类型,不能直接转换,因此需要进行强制类型转换
33、,应该填入的正确语句是 ch=(char)System.in.read()。 29 【正确答案】 D 【试题解析】 本题考查 Java组件中容器的基本知识。选项 A错误, Panel 类派生自容器类 Container,属于容器的一种;选项 B 错误, Window 类也派生自容器类 Container,也属于容器的一种;选项 C错误, Frame类派生自 Window类,也是一种容器;选项 D正确, Lable组件是标签组件,不属于容器。 30 【正确答案】 A 【试题解析】 视口 (JViewPon)类的对象是一种特殊的对象,主要用于查看构件,滚动条就是跟踪移动视口,并且同时在容器中显示其
34、查看的内容的。 31 【正确答案】 A 【试题解析】 表格是 Swing 新增加的构件,主要功能是把数据以二维表格的形式显示出来。使用表格,依据 M-V-C的思想,最好生成一个 MyTableModei 类型的对象来表示数据,这个类是从 AbstractTableModel 类继承来的。 32 【正确答案】 A 【试题解析】 该程序经过编译、运行 后,在屏幕上显示; 1 2 3 4。 public class Hello中 Hello为类名, public static void main(String args)有关参数的解释如下。 public表示该方法可以被任意代码所调用,包括 Java
35、解释器。 static它告诉编译器, main()方法是一个类方法,可以通过类名直接调用,调用时不需要该类的实例对象。 void表示 main()方法没有返回值。这是非常重要的。因为Java类型检查非常严格,包括检查这些方法返回值的类型是否与声明的一致。String args声明一个字符串类型的数组。它是命令行传递给 main()方法的参数,参数在命令行中出现在类名称后面。包含 main()方法的类 (Hello 为包含 main()方法的类名 )名称必须与其文件名相同,也就是说,其文件名必须为 Hello.java。经过编译,在当前文件夹下将出现一个 Hello.class 文件,这就是编译
36、后的字节码文件。在程序段最后有两个大括号,分别说明结束 main()方法和 Hello类。在本程序中由于有 count=5这个条件判断,因此当 count=5时,程序结束,输出为 1 2 3 4。 33 【正确答案】 B 【试题解析】 在 Java Applet的生命周期中,共有 4种状态和 4个方法: init()、start()、 stop()和 destroy()。在 Applet装载时,由浏览器或 appletviewer调用 init()方法,通知该 Applet已被加载到浏览器中,使 Applet执行一些基本初始化。 34 【正确答案】 B 【试题解析】 JDBC中定义了一组标准的
37、应用程序接口 (API),这些 API是一种面向对象的封装和重新设计的接口,使得用户能够编写不依赖于数据 库厂商的数据库应用程序。 35 【正确答案】 C 【试题解析】 J2SDK的下载按下列步骤进行操作: 进入 http:/; 单击左侧 Download链接,进入下载页面; 单击页面中的 Java 2 Platform, Standard Edition 链接,进入 J2SE下载页面; 单击页面中 J2SE 1.4.2 链接,进入 J2SE 1.4.2下载页面; 找到 Download J2SE v 1.4.2 02 栏目,在其下找到Windows offline Installation
38、类别,其右有两个下载选项,一个是 JRE,一个是“SDK”,单击 SDK选项下面的 download,进入 J2SDK-1 4 2 02-windows-i586.exe文件的下载页面; 选择 accept,接受 SUN的协议; 单击页面中的 Download j2sdk-1 4 2 02- windows -i586-p.exe下载链接,自动进行浏览器下载,也可使用下载工具进行下载。 36 【正确答案】 解析 37 【正确答案】 解析 38 【正确答案】 解析 39 【正确答案】 解析 40 【正确答案】 解析 41 【正确答案】 并发 【试题解析】 本题考查 Java语言的特点。 Java
39、语言的开发运行环境都是互联网,在这种分布式的环境中,并发和共享是很常见的事务,要能并行地处理很多事务,就要求 Java语言提供一种可靠和高效的机制,来满足高并发事务处理的需求。多线程很好地解决了网络上的瓶颈问题及大量的网络访问问题。 42 【正确答案】 abstract class MyFrame extends Frame 【试题解析】 本题考查考生对类声明的理解 。类声明的格式为: 修饰符 class 类名 extends 父类名 implements 类实现的接口列表 ,其中口括起来的内容为可选项。关键字 class 是类定义的开始,类名应符合标识符命名规则。关键字 extends指明该
40、类是子类,它的父类名紧跟其后,子类与父类之间有继承关系。关键字implements指明该类实现的接口,后跟接口名列表。考生应注意掌握类声明的概念,虽然很简单,但容易漏掉有关修饰符。题目要求声明不能被实例化的类,因此应该是一个抽象类,用 abstract作为修饰符。 43 【正确答案】 a=12 34或 12 34 【试题解析】 本题考查墓本类型的类包装。 Float类的 valueOf()函数的原型是:static Float valueOf(String s),它是一种静态方法,将字符串的内容提取出来转换为 Float对象。而 floatValue()函数的原型是: float fioatV
41、alue(),它返回 Float对象的浮点值。本题中,先将字符串 ”12 34”转换为 Float对象,然后再提取该对象的浮点型值,赋给 a。 44 【正确答案】 垃圾收集 【试题解析】 本题考查 Java的垃圾收集机制。 Java语言中内存的分配和释放工作由自己完成,程序员不必做这些工作,它提供一个系统级的线程,跟踪每个内存的分配,在 JVM的空闲处理中,垃圾收集线程将检查和释放不再使用的内存(即可以被释放的内存 )。垃圾收集的过程在 Java程序的生存期中是自动的,不需要分配和释放内存,也避免了内存泄漏。 45 【正确答案】 接口 【试题解析】 本题考查接口的概念。接口是一种只含有抽象方法
42、或常量的特殊的抽象类,主要功能有:不管类的层次,可实现互不相关的类具有相同的行为;通过接口可以说明多个类所需实现的方 法;通过接口可以了解对象的交互界面,无需了解对象所对应的类。通过接口可以为没有任何关系的两个或多个类之间提供相同的行为方式。 46 【正确答案】 dowhile 【试题解析】 本题考查 while循环和 do-while循环的区别。 for循环必须事先知道循环要执行多少次,是确定的循环接口。 while循环称为 “当型 ”循环, while循环先计算终止条件,条件满足时,才执行循环体内语句。 do-while循环称为 “直到型 循环, dowhile循环先执行循环体,然后计算终
43、止条件。 “直到型 ”循环结构的循环体至 少被执行一次。 47 【正确答案】 s writeObiect(d); 【试题解析】 本题考查把一个对象写到一个流中。这个操作比较简单,是通过调用 ObjectOutputStream类的 writeObject()方法实现的。 ObjectOutputStream类是一种过滤流类,因此,对象流必须在其他流的基础上进行构造。题目程序中SerializeDate类的构造方法 SerializeDate()中,对象流 s是在一个文件输出流上构造的,通过 s将一个 Date类的对象串行化到一个名为 date ser中,具体是通过调用 ObiectOutput
44、Stream类的方法 writeObject()将该对象写到对象输出流 s中,而对象最终是保存在外存 date ser文件中的。 48 【正确答案】 class 【试题解析】 本题考查对 Applet运行中所需要的几种文件的理解。 Applet源程序与任何 java源程序一样,其文件扩展名都为 java,编译之后生成的目标文件的扩展名为 class,但要执行该小程序,必须有相应的 HTML 文件。 49 【正确答案】 boolean isDirectory() 【试 题解析】 本题考查考生对文件类中提供的一些基本函数的掌握和应用能力。 IsDirectory()方法是检测本 File对象所代表
45、的是否一个目录。如果存在并且是一个目录则返回 true:否则为 false。 50 【正确答案】 newFile(dir,filesi) 【试题解析】 本题考查文件的概念。对于目录, Java把它处理成文件的列表。通过类 File提供的方法,可以得到文件或目录的描述信息,包括名称、所在路径、可读性、可写性和长度等,还可以生成新的目录,改变文件名称、删除文件、列出一个目录中所有的 文件或与某个模式相匹配的文件等。 boolean mkdir()方法是根据当前对象生成一个由该对象指定的路径; String list 方法是列出当前目录下的文件; File(String path)方法表示如果 path 是实际存在的路径,则该 File对象表示的是目录,如果 path 是文件名,则该 File对象表示的是文件; File(String path,String name)方法中的参数 path 是路径名, name是文件名: File(File dir,String name)方法中的参数 dir是路径名, name是文 件名。