1、国家计算机二级(Java)73 及答案解析(总分:100.00,做题时间:120 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1.顺序执行下列程序语句后,则 b 的值是( )。 String a = “Hello“; String b = a.substring(0,2);(分数:2.00)A.构造函数必须与类同名B.构造函数可以省略不写C.构造函数必须有返回值D.在构造函数中可以对类中的成员进行初始化2.关于构件的基本应用,下列说法有误的是(分数:2.00)A.20 12 20 15B.12 20 12 25C.24 15 12 20D.24 1
2、2 12 153.下列安全控制中,哪个是管理密钥库和证书的命令?(分数:2.00)A.设计视图B.模板视图C.数据表视图D.SQL 视图4.下列关于容器和构件的说法不正确的是( )。(分数:2.00)A.所有的构件都可以通过 add()方法添加构件B.Java 的图形界面的最基本组成部分是容器C.Panel 不能作为最外层的容器单独存在,它首先必须作为一个构件放置到其他容器中,然后把它当作容器D.一个容器可以容纳多个构件,并使它们成为一个整体5.下列字符常量中,哪个表示反斜杠字符“/”?(分数:2.00)A.1B.5C.2D.-16.下列是几个 Java 语言最常用的命令,哪个命令是 Java
3、 语言的编译命令?(分数:2.00)A.javaB.javacC.javapD.javadoc7.用来导入已定义好的类或包的语句是【 】(分数:2.00)A.mainB.importC.public classD.class8.下列程序中,程序流程退出 for 循环语句时,判断 ij 的执行次数是( )。 int i=0,j=10,k=2,s=0; for(;) i+=k; if(ij) break; s + =i; (分数:2.00)A.InputEventB.KeyEventC.MouseEventD.WindowEvent9.为了使模块尽可能独立,要求【 】(分数:2.00)A.模块的内
4、聚程序要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强10.下列属于合法的 Java 标识符是【 】(分数:2.00)A.“ABC“B. outputsetText(“Hello“+s+“,Welcome You!“); ); (分数:2.00)A.用于访问外部类的数据B.用于进行事件处理C.隐藏起来不被同一包中的其他类所见D.生成事件适配器18.在 Applet 的关键方法中,下列哪个方法是关闭浏览器以释放 Applet 占用的所有资源
5、?(分数:2.00)A.接收参数的语句 PARAMTERS 可以写在程序中的任意位置B.通常传送参数的语句 DO-WITH 和接收参数的语句 PARAMETERS 不必搭配成队,可以单独使用C.传送参数和接收参数排列顺序和数据类型必须一一对应D.传送参数和接收参数的名字必须相同19.在默认的 Java 安全级别中,Applet 小程序不能执行下列哪种操作?(分数:2.00)A.从其所在的服务器上下载图形B.从其他服务器上下载图形C.从其他服务器上的 Web 页装载到运行该小程序的浏览器中D.Applet 使用自身的代码和 Applet 浏览器提供的 Java API20.下列程序的执行结果是(
6、 )。 public class Testbb public static void main(String args ) System.out.println(5/2.5); (分数:2.00)A.“自动报表”B.“报表向导”C.“图标向导”D.“标签向导”21.在线程的基本控制中,哪个方法使比其低的优先级线程先运行?(分数:2.00)A.sleep( )B.yield( )C.join( )D.stop( )22.下列整型常量中表示的是十六进制的整数的是( )。(分数:2.00)A.0B.1C.2D.323.在下列程序的划线处应填入的语句是( )。 class Pemon pnvate i
7、nt a; public class Man extends Person public int b; public static void main(String arg ) Person p = new Person( ); Man t = new Man( ); int i; _ (分数:2.00)A.利用视图可以实现多表查询B.视图可以产生磁盘文件C.利用视图可以更新表数据D.视图可以作为查询数据源24.下列叙述中,不符合 Java 语言特点的选项是( )。(分数:2.00)A.可移植性和跨平台的特点B.多线程的并发机制C.编译器将 Java 源程序转换成机器码D.Applet 是 J
8、ava 的特殊应用程序,它嵌入到 HTML 中,随主页发布到互连网上25.按照 Java 的标识符命名规则,下列表示一个类的标识符正确的是【 】(分数:2.00)A.HelloworldB.HelloWorldC.helloworldD.helloWorld26.Java 语言有自动收集垃圾功能,周期性的回收一些长期不用的对象占用的内存。下列哪些是对象的清除的途径? 依靠 Java 的垃圾回收机制回收内存 调用 System.gc( ),请求垃圾回收 Java 系统开始运行时,自动调用 java.lang.Object.finalize( )释放内存 在程序中调用重写的finalize( )释
9、放系统资源,其格式为: protected void finalize( )throws throwable super.finalize( ); (分数:2.00)A.B.C.D.27.给出下列代码,如何使成员变量 m 被方法 fun( )直接访问? class Test private int m; public static void fun( ) (分数:2.00)A.使用报表设计器可以创建自定义报表B.使用报表向导可以创建报表C.使用快速报表可以创建简单规范的报表D.利用报表向导创建的报表是快速报表28.“+“运算符的操作数个数是【 】(分数:2.00)A.1 个B.2 个C.3 个
10、D.4 个29.在 OutputStream 类的常用方法中哪个是清空输出流的方法?(分数:2.00)A.fedcbaB.abcdefC.afbecdD.defabc30.下列程序段的输出结果是( )。 String MyStr = “Hello,“; MyStr = MyStr + “World!“; System.out.println(MyStr); (分数:2.00)A.Hello,World!B.Hello,C.World!D.该程序段有语法错误31.下列常见的系统定义的异常中,哪个是数组越界异常?(分数:2.00)A.打开 Visual Basic 主窗体的“文件”菜单,执行其中的
11、“退出”命令B.按快捷键 Alt+Q 退出C.单击 Visual Basic 主窗体右上角的“关闭”按钮D.按快捷键 Alt+E 退出32.下列选项中的变量已正确定义,则表达式不合法的是(分数:2.00)A.新建一个数据库B.新建一个数据库表C.打开相关的数据库D.打开相关的数据表33.设 A 为已定义的类名,下列是声明 A 类的对象 a 的语句中正确的是( )。(分数:2.00)A.elloB.hellC.helloD.hl34.在下列程序的划线处应填入的语句是( )。 class Pemon pnvate int a; public class Man extends Person pub
12、lic int b; public static void main(String arg ) Person p = new Person( ); Man t = new Man( ); int i; _ (分数:2.00)A.i = w;B.i = b;C.i = p.a;D.i = t.b;35.在 AWT 了组件中,为了实现单选按钮的功能,除了用到 Checkbox 组件以外,还需要用到下列哪个组件? (分数:2.00)A.0.66667B.0C.0.7D.0.66666666二、填空题(每空 2 分,共 30 分)(总题数:15,分数:30.00)36.一个具体的线程是由虚拟的 CPU
13、、代码和数据组成,其中代码和数据构成了 1,它来决定线程的行为。(分数:2.00)填空项 1:_37.下列是 Java 程序,演示的是变量类型的强制转换,请补充划线的部分,使输出结果为 b=12。 public clas sTestaaa public static void main(String args ) short S=12; byte b= 1; /将 s 变量强制转换成 byte 类型 Systemoutprint(“b=“+B) ; (分数:2.00)填空项 1:_38.当实现 Runnable 接口时,要实现的方法是 1。 (分数:2.00)填空项 1:_39.变量属性是描述
14、变量的作用域,按作用域分类,变量有局部变量、类变量、 1 和异常处理参数。(分数:2.00)填空项 1:_40.求菲波那契数列的数学表达式为 fibonacci(n)=n, n=0,1; fibonacci(n)=fibonacci(n-1)+fibonacci(n-2), n2; 设 m 是 long 型变量,下面是递归算法求菲波那契数列的方法 long fibonacci(long n) if(n= =0| |n= =1)return n; else return (fibonacci(n-1)+fibonacci(n-2); 当语句 m=fibonacci(3),执行时,方法 fibon
15、acci1 被调用了 2 次。 (分数:2.00)填空项 1:_41.任何一个 Java 程序都默认引入了一个包,这个包的名字叫 java. 1。(分数:2.00)填空项 1:_42.请阅读下列程序代码,然后将程序的执行结果补充完整。 程序代码: public class throwsException static void Proc(int sel) throws ArithmeticException,ArrayIndexOutOfBoundsException Systemoutprintln(“In Situation“+sel);if(sel=0) Systemoutprintln
16、(“no Exception caught“); return; else if(sel=1) int iArray=new int4; iArray1=3; public static void main(String args) try Proc(0);Proc(1) catch(ArrayIndexOutOfBoundsException e) Systemoutprintln(“Catch“+e); finally Systemoutprintln(“in Proc finally“); 执行结果: In、Situation 0 no Exception caught 1 in Pro
17、c finally (分数:2.00)填空项 1:_43.在自定义 Swing 构件的时候,首先要确定使用哪种构件类作为所定制构件的 1。 建议继承 JPanel 类或更具体的 Swing 构件类。 (分数:2.00)填空项 1:_44.Java 语言用 1 进行解释执行。(分数:2.00)填空项 1:_45.写出下列程序的执行结果是 1。 已知:a转换成整数对应的是 97。 程序如下: class Testl public static void main(String args) char a=d; int b=a; float c=a; double d=a; System.out.pr
18、intln(“a=“+a); System.out.println(“b=“+b); System.out.println(“c=“+c); System.out.println(“d=“+d); (分数:2.00)填空项 1:_46.过滤字节输出流都是 1 抽象类的子类。(分数:2.00)填空项 1:_47.一个对象的生命周期有 3 个阶段分别是 1、使用和清除。(分数:2.00)填空项 1:_48.在关系数据库中,把数据表示成二维表,每一个二维表称为 1。(分数:2.00)填空项 1:_49.编程语言大致分为面向机器,面向过程和面向对象 3 种结构,Java 语言是面向 1 的一种网络编程
19、语言。(分数:2.00)填空项 1:_50.下列程序的运行结果是 1。 import java.io.*; public class abc public static void main(Stringargs ) String s1 = “Hello!“; System.out.println(s1.toUpperCase2 ); (分数:2.00)填空项 1:_国家计算机二级(Java)73 答案解析(总分:100.00,做题时间:120 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1.顺序执行下列程序语句后,则 b 的值是( )。 Strin
20、g a = “Hello“; String b = a.substring(0,2);(分数:2.00)A.构造函数必须与类同名B.构造函数可以省略不写C.构造函数必须有返回值 D.在构造函数中可以对类中的成员进行初始化解析:构造方法完全可以被重载。构造方法可以重载来实现不同的方法体,调用时按参数列表决定调用哪个方法。2.关于构件的基本应用,下列说法有误的是(分数:2.00)A.20 12 20 15B.12 20 12 25C.24 15 12 20 D.24 12 12 15解析:被调过程 Invert 的参数 xstr,ystr 从主调函数中收到实参 s1,s2 传来的值“abcdef”
21、,过程Invert 开始声明了两个变量,都是 String 型的:xstr,ystr。I=Len (xstr) 以上语句的功能是:i 的值就是 xstr 的长度,此题为 6。程序代码执行 Do WhileLoop 的循环语句。循环体为tempstr=tempstr+Mid(xstr,i,1),其中变量是 I,由 I= Len(xstr)开始的,每循环一次减 1,;此程序段的最后输出的是字符串 s1 的反向输出,所以正确答案是选项 C)。3.下列安全控制中,哪个是管理密钥库和证书的命令?(分数:2.00)A.设计视图B.模板视图 C.数据表视图D.SQL 视图解析:4.下列关于容器和构件的说法不
22、正确的是( )。(分数:2.00)A.所有的构件都可以通过 add()方法添加构件B.Java 的图形界面的最基本组成部分是容器 C.Panel 不能作为最外层的容器单独存在,它首先必须作为一个构件放置到其他容器中,然后把它当作容器D.一个容器可以容纳多个构件,并使它们成为一个整体解析:在 Java 语言的图形界面中最基本组成部分是构件。注意:其实,容器本身也是一种构件,具有构件的所有性质,另外还具有放置其他构件和容器的功能。在实际编程中,往往采用的是容器类 Container的子类。5.下列字符常量中,哪个表示反斜杠字符“/”?(分数:2.00)A.1B.5C.2D.-1 解析:如果熟悉 c
23、har 型在计算机内部可以和 int 型相互转换的话,本题就比较好做了。判断(ch1+5ch2,即比较”E”的 int 型值是否小于“T,当然成立所以执行+ch1;这是 ch1 的值便变成了字母“B”。 6.下列是几个 Java 语言最常用的命令,哪个命令是 Java 语言的编译命令?(分数:2.00)A.javaB.javac C.javapD.javadoc解析:常用的格式是:javac选项源文件名。常用的选项是-CLASSPATH:定义 javac 搜索类的路径。它将覆盖默认的 CLASS- PATH 环境变量的设置。运行该命令后将从源文件产生class 文件,保存在当前目录下,也可以用
24、参数选项 d 放在哪个具体的目录下。7.用来导入已定义好的类或包的语句是【 】(分数:2.00)A.mainB.import C.public classD.class解析: 本题考查 Java 中的 import 语句。Java 中使用 import 语句来导入已定义好的类或包,需要注意Java 语言的 java1ang 包是编译器自动导入的,编程时如果使用该包中的类,可省去 import 导入,如果要使用其他包中的类,必须用 import 导入。8.下列程序中,程序流程退出 for 循环语句时,判断 ij 的执行次数是( )。 int i=0,j=10,k=2,s=0; for(;) i+
25、=k; if(ij) break; s + =i; (分数:2.00)A.InputEventB.KeyEventC.MouseEvent D.WindowEvent解析:skip( )可以跳过流中若干字节流,mark( )可以在流中标记一个位 置,reset( )可以返回标记过的位置。 9.为了使模块尽可能独立,要求【 】(分数:2.00)A.模块的内聚程序要尽量高,且各模块间的耦合程度要尽量强B.模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱 C.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D.模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强解析:系统设计的质量主要反映在
26、模块的独立性上。评价模块独立性的主要标准有两个:一是模块之间的耦合,它表明两个模块之间互相独立的程度;二是模块内部之间的关系是否紧密,称为内聚。一般来说,要求模块之间的耦合尽可能地弱,即模块尽可能独立,而要求模块的内聚程度尽量地高。综上所述,选项B 的答案正确。10.下列属于合法的 Java 标识符是【 】(分数:2.00)A.“ABC“B. outputsetText(“Hello“+s+“,Welcome You!“); ); (分数:2.00)A.用于访问外部类的数据B.用于进行事件处理 C.隐藏起来不被同一包中的其他类所见D.生成事件适配器解析:本题考查 Java 语言内部类的概念。内
27、部类是在一个类的内部嵌套定义的类,一般是用来生成事件适配器,可以定义多个内部类去继承不同事件适配器类,使事件处理很方便。在本题中,内部类并不是用来生成事件适配器,而是实现事件处理。 btnnaddActionListener(new ActionListener()语句是注册监听器进行授权,该方法的参数是事件处理者对象。public void actionPerformed(ActionEvent event)语句是系统产生的 ActionEvent 事件对象被当作参数传递给该方法,本接口中只有一个方法,因此事件发生时,系统会自动调用本方法,编写程序时把代码写在这个方法里即可。比如,本题中 S
28、tring s=inputget Text()语句就是获得输入的字符串,然后使用 outputsetText(“Hello“+s+“,Welcome You!“)语句实现输出。18.在 Applet 的关键方法中,下列哪个方法是关闭浏览器以释放 Applet 占用的所有资源?(分数:2.00)A.接收参数的语句 PARAMTERS 可以写在程序中的任意位置B.通常传送参数的语句 DO-WITH 和接收参数的语句 PARAMETERS 不必搭配成队,可以单独使用C.传送参数和接收参数排列顺序和数据类型必须一一对应 D.传送参数和接收参数的名字必须相同解析:用于定义接口的关键字是 interfac
29、e,而实现接口的关键字是 implements。19.在默认的 Java 安全级别中,Applet 小程序不能执行下列哪种操作?(分数:2.00)A.从其所在的服务器上下载图形B.从其他服务器上下载图形 C.从其他服务器上的 Web 页装载到运行该小程序的浏览器中D.Applet 使用自身的代码和 Applet 浏览器提供的 Java API解析:除了所在的服务器外,Applet 不能连接到任何其他的机器。20.下列程序的执行结果是( )。 public class Testbb public static void main(String args ) System.out.println(
30、5/2.5); (分数:2.00)A.“自动报表”B.“报表向导” C.“图标向导”D.“标签向导”解析:PicturePrint“计算机技术”语句实现的功能是将字符串“计算机技术”在图片框上显示出来,所以选项 A)不正确;Print“计算机技术”语句的作用是将字符串“计算机技术”直接输出到当前窗体上,所以选项 A)正确;PrinterPrint“计算机技术”语句实现的功能是将字符串“计算机技术”输出到打印机上,所以选项 C)不正确;DebugPrint“计算机技术”语句实现的功能是将字符串“计算机技术”在立即窗口中显示出来,所以选项 D)也不正确。21.在线程的基本控制中,哪个方法使比其低的
31、优先级线程先运行?(分数:2.00)A.sleep( ) B.yield( )C.join( )D.stop( )解析:调用 sleep()方法时,一个线程停止运行一段固定的时间,所以它可以使比其低的优先级线程运行。22.下列整型常量中表示的是十六进制的整数的是( )。(分数:2.00)A.0B.1 C.2D.3解析:对话框的 Cancel Error 属性的作用是指示当选取“取消”按钮时是否出错,本题目中该属性为True,因此按 Cncel 键后将导致程序出错,一般应该在程序中添加对错误的处理。23.在下列程序的划线处应填入的语句是( )。 class Pemon pnvate int a;
32、 public class Man extends Person public int b; public static void main(String arg ) Person p = new Person( ); Man t = new Man( ); int i; _ (分数:2.00)A.利用视图可以实现多表查询B.视图可以产生磁盘文件 C.利用视图可以更新表数据D.视图可以作为查询数据源解析:内部类和抽象类不存在直接的联系,说内部类就是特殊的抽象类,所以便于人机交互,这是错误的。在事件处理的时候,我们引入了内部类就是因为内部类有选项 A),B),C)的好处。24.下列叙述中,不符合
33、 Java 语言特点的选项是( )。(分数:2.00)A.可移植性和跨平台的特点B.多线程的并发机制C.编译器将 Java 源程序转换成机器码 D.Applet 是 Java 的特殊应用程序,它嵌入到 HTML 中,随主页发布到互连网上解析:Java 将编好的源程序首先由编译器转换成字节码文件然后由 Java 虚拟机去解释执行。注意:字节码文件不能够直接在操作系统上运行,它可看做是虚拟机的机器码。25.按照 Java 的标识符命名规则,下列表示一个类的标识符正确的是【 】(分数:2.00)A.HelloworldB.HelloWorld C.helloworldD.helloWorld解析:本
34、题考查 Java 类名的命名规则。类名与接口名都采用完整的英文描述,并且所有单词的第一个字母大写。包采用完整的英文描述符,都是由小写字母组成。类的变量采用完整的英文描述,第一个字母小写,任何中间单词的首字母大写。常量名全部采用大写字母,单词之间用下划线分隔。应该掌握命名规则,不仅因为它是考试重点,同时也是养成良好编程习惯的基础。26.Java 语言有自动收集垃圾功能,周期性的回收一些长期不用的对象占用的内存。下列哪些是对象的清除的途径? 依靠 Java 的垃圾回收机制回收内存 调用 System.gc( ),请求垃圾回收 Java 系统开始运行时,自动调用 java.lang.Object.f
35、inalize( )释放内存 在程序中调用重写的finalize( )释放系统资源,其格式为: protected void finalize( )throws throwable super.finalize( ); (分数:2.00)A.B. C.D.解析:考查 Java 语言的自动收集垃圾功能。27.给出下列代码,如何使成员变量 m 被方法 fun( )直接访问? class Test private int m; public static void fun( ) (分数:2.00)A.使用报表设计器可以创建自定义报表B.使用报表向导可以创建报表C.使用快速报表可以创建简单规范的报表D
36、.利用报表向导创建的报表是快速报表 解析:可串行化类的数据的访问权限(public,protected,Package 或 Private),对于数据的串行化没有影响。数据是以字节形式写入流而字符串型数据将表示 UTF 格式,即文件系统安全全局字符集转换格式。注意:正如题目中选项 C)和选项 D)中所描述的一样,对于对象的串行化处理,程序员可以不编写任何方法,使用 Java 提供的串行化默认机制;对于很多类,默认的串行化处理已经能够满足串行化的需要,但这种默认的串行化比较慢,另外有时可能需要对对象的串行化进行更具体的控制,我们要用到定制串行化的功能。28.“+“运算符的操作数个数是【 】(分数
37、:2.00)A.1 个 B.2 个C.3 个D.4 个解析: 本题考查 Java 运算符的概念。这是重点内容,只需要细心即可。程序涉及的数据处理,都是通过运算符和表达式来操作,是程序设计的基础,因此务必掌握。按照操作数的数目划分,运算符可以分为:一元运算符:+,-,+,-;二元运算符:+,-,;三元运算符:?:。所以本题正确答案是选项 A。简单点儿说就是有几个操作数就是几元运算符;反过来,是几元运算符就有几个操作数。29.在 OutputStream 类的常用方法中哪个是清空输出流的方法?(分数:2.00)A.fedcba B.abcdefC.afbecdD.defabc解析:主调函数最终输出
38、值是 Pat(FirStr)过程的返回值,这就得调用函数过程 Pat。 被调过程 Pat的参数 xStr 从主调函数中收到实参 FirStr 传来的值“abcdef”,过程 Pat 开始声明了两个变量,一个是String 型的 tempStr,一个是 Integer 型的 strLen。语句 tempStr=“。 strLen=Len(xStr) 以上两条语句的功能是:为变量 tempStr 赋空值,变量 strLen 的值就是 xstr 的长度,此题为 6。程序代码执行Do WhileLoop 的循环语句: 第一次循环,I=1,I=3 成立,执行语句 tempStr+Mid(xStr,i,1
39、)+Mid(xStr, strLen-i+1,1); mid 函数一般调用格式:Mid(字符串,p,n) 其功能就是从第 p 个字符开始,向后截取 n 个字符,第一次循环结束后,tempStr=“af”; 第二次循环,I=2,I=3 成立,继续执行循环体,tempStr=“afbe”; 第三次循环,I=3,I=3 成立,继续执行循环体,tempStr=“afbecd”; 第四次循环,I=4,I=3 不成立,则跳出循环体,执行语句 Pat=tempStr。所以最终 Pat(FirStr)=“afbecd”,即最后程序执行结果如选项 B)所示。 30.下列程序段的输出结果是( )。 String
40、MyStr = “Hello,“; MyStr = MyStr + “World!“; System.out.println(MyStr); (分数:2.00)A.Hello,World! B.Hello,C.World!D.该程序段有语法错误解析:String 类型可以直接使用“+”进行连接运算。31.下列常见的系统定义的异常中,哪个是数组越界异常?(分数:2.00)A.打开 Visual Basic 主窗体的“文件”菜单,执行其中的“退出”命令B.按快捷键 Alt+Q 退出C.单击 Visual Basic 主窗体右上角的“关闭”按钮D.按快捷键 Alt+E 退出 解析:索引文件是数据库的
41、一部分,会随着数据库的关闭而关闭。32.下列选项中的变量已正确定义,则表达式不合法的是(分数:2.00)A.新建一个数据库B.新建一个数据库表C.打开相关的数据库 D.打开相关的数据表解析:“报表向导”在创建的时候会提示用户输入相关的信息,其他 3 个选项在创建的时候都是不会提示的,需要自己选择。33.设 A 为已定义的类名,下列是声明 A 类的对象 a 的语句中正确的是( )。(分数:2.00)A.elloB.hell C.helloD.hl解析:可以通过字符数组来生成一个字符申对象:String(char value);String(charC value,int startIndex,
42、int numChars);其中,startIndex 指定字符串在数组中的起始下标,numChars 表示字符个数。测试字符串是否相等,可用 equals()方法,两串相等则返回 true,否则返回false。 34.在下列程序的划线处应填入的语句是( )。 class Pemon pnvate int a; public class Man extends Person public int b; public static void main(String arg ) Person p = new Person( ); Man t = new Man( ); int i; _ (分数:2
43、.00)A.i = w;B.i = b;C.i = p.a;D.i = t.b; 解析:选项 A)w 没有被声明过,不能使用。选项 B)虽然 b 是类 Man 的 public 成员变 量,但是在静态方法中不能使用类中的非静态成员。选项 C)a 是类 Person 的 private 成员,在类 外不能直接引用。选项 D)b是类 Man 的 public 成员变量,且是 int 型,可以通过类的实例变量 t 引 用并赋值给一个 int 型变量。35.在 AWT 了组件中,为了实现单选按钮的功能,除了用到 Checkbox 组件以外,还需要用到下列哪个组件? (分数:2.00)A.0.66667
44、B.0 C.0.7D.0.66666666解析:本题考查模板函数的应用,表达式 int(11)和 int(42)是将 11 和 4.2 强制转换为整型。二、填空题(每空 2 分,共 30 分)(总题数:15,分数:30.00)36.一个具体的线程是由虚拟的 CPU、代码和数据组成,其中代码和数据构成了 1,它来决定线程的行为。(分数:2.00)填空项 1:_ (正确答案:线程体)解析:线程体的概念是指程序代码和数据的封装。提供线程体的特定对象是在创建线程时指定的。而创建线程是通过调用 Thread 类的构造方法实现的。 37.下列是 Java 程序,演示的是变量类型的强制转换,请补充划线的部分
45、,使输出结果为 b=12。 public clas sTestaaa public static void main(String args ) short S=12; byte b= 1; /将 s 变量强制转换成 byte 类型 Systemoutprint(“b=“+B) ; (分数:2.00)填空项 1:_ (正确答案:(byle)s)解析:将较长的数据类型转换成较短的数据类型,只能用强制类型转换:;而格式通常都用赋值语句来实现,在要求强制的变量名前面用-|_|-括上所要强制转换的类型符。本题容易忽略两个问题:将较长的数据类型转换成较短的数据类型,只能用强制类型转换。强制类型转换应采用
46、的方式。 38.当实现 Runnable 接口时,要实现的方法是 1。 (分数:2.00)填空项 1:_ (正确答案:run-|_|-)解析:线程有两种创建方法,其中一种就是实现 Runnable 接口。在 Runnable 接口中只定义了一个 run-|_|-方法,因此实现 Runnable 接口就是实现该接口中的 run-|_|-方法。因此,本题的正确答案是 run-|_|-。39.变量属性是描述变量的作用域,按作用域分类,变量有局部变量、类变量、 1 和异常处理参数。(分数:2.00)填空项 1:_ (正确答案:方法参数)解析:变量作用域是指可访问变量的范围,局部变量在方法中声明,作用域是方法代码段。类变量在类中声明而不是在类的方法中声明,作用域是整个类。方法参数用来传递数据给方法,作用域是方法内代码段。40.求菲波那契数列的数学表达式为 fibonacci(n)=n, n=0,1; fibonacci(n)=fibonacci(n-1)+fibonacci(n-2), n2; 设 m 是 long 型变量,下面是递归算法求菲波那契数列的方法 long fibonacci(long n) if(n= =0| |n= =1)return n; else return (fibonacci(n