1、计算机二级(Java)39 及答案解析(总分:100.00,做题时间:120 分钟)一、选择题(每小题 2 分,共 70 分) 下列各(总题数:35,分数:70.00)1.如果局部变量与实例变量同名,如何在局部变量的作用域内引用实例变量?(分数:2.00)A.无法引用,必须更名使两者名字不同B.在实例变量加关键字 thisC.在实例变量加关键字 superD.不影响,系统可以自己区分2.下列关于 Java 多线程并发控制机制的叙述中,错误的是【 】(分数:2.00)A.Java 中对共享数据操作的并发控制是采用加锁技术B.线程之间的交互,提倡采用 suspend()/resume()方法C.共
2、享数据的访问权限都必须定义为 privateD.Java 中没有提供检测与避免死锁的专门机制,但应用程序员可以采用某些策略防止死锁的发生3.下列关于 Java 语言中的方法叙述不正确的是(分数:2.00)A.Java 中的方法的参数传递是传值调用,而不是地址调用B.方法体是对方法的实现,包括变量声明和 java 的合法指令C.如果程序定义了一个或多个构造方法,在创建对象时,也可以用系统自动生成空的构造方法D.类的私有方法不能被其子类直接访问4.能抛出异常必须是下列哪个类或其子类的实例?(分数:2.00)A.1.2 34B.2.2 34C.1.2 43D.2.2 435.下列不是 InputSt
3、ream 子类的是【 】(分数:2.00)A.文件输入流 FileInputStreamB.对象输入流 ObjectInputStreamC.字符输入流 CharInputStreamD.压缩文件输入流 ZipInputStream6.Frame 默认的布局管理器是【 】(分数:2.00)A.FlowLayoutB.BorderLayoutC.GridLayoutD.CardLayout7.下列的哪个赋值语句是不正确的?(分数:2.00)A.float f = 11.1;B.double d = 5.3E12;C.float d=3.14f;D.double f = 11.1E10f;8.下列
4、哪个方法可以使具有与当前线程相同优先级的线程有运行的机会?(分数:2.00)A.3,4B.4,3C.3,4D.4,49.在 Java 语言的类库中提供哪个类,所有自己创建的异常对象都必须是它的实例或它的子类的实例?(分数:2.00)A.fun( );B.Base.fun( );C.Base:fun( );D.Base-fun( );10.下列关于栈的描述正确的是【 】(分数:2.00)A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素C.栈是特殊的线性表,只能在一端插入或删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素11.下列字符常量中,哪个表示反斜
5、杠字符“/”?(分数:2.00)A./B./“C./D./12.下列的变量定义中,错误的是( )。(分数:2.00)A.4B.6C.8D.1013.按照 Java 的标识符命名规则,下列表示一个类的标识符正确的是【 】(分数:2.00)A.HelloworldB.HelloWorldC.helloworldD.helloWorld14.类 Panel 默认的布局管理器是【 】(分数:2.00)A.GridLayoutB.BorderLayoutC.FlowLayoutD.CardLayout15.下列的变量定义中,错误的是( )。(分数:2.00)A.trueB.falseC.“I am bo
6、y“D.都不正确16.下列程序执行后,i 的值是( )。 public class Testfff pubic static void main(String args) int i;10; do i/=2; while(i- - 1); System.out.println(i); (分数:2.00)A.1B.5C.2D.-117.下列程序执行后,i 的值是( )。 public class Testfff pubic static void main(String args) int i;10; do i/=2; while(i- - 1); System.out.println(i);
7、(分数:2.00)A.getCodeBase( )B.getParameter(String)C.getApplnfo( )D.showStatus(String)18.Java 中处理压缩流的抽象类是( )。(分数:2.00)A.I=1B.I=2C.I=3D.I=419.下列关于 Applet 的叙述中,错误的是【 】(分数:2.00)A.Applet 是 Java 类,所以可以由 JDK 中的解释器 javaexe 直接解释运行B.Applet 应该定义为 javaappletApplet 类或 javaxswingJApplet 类的子类C.Applet 与 Application 的主
8、要区别在执行方式上D.通过在 HTML 文件中采用PARAM标记可以向 Applet 传递参数20.下列属于正则表达式的是【 】(分数:2.00)A.一个数组B.一组二进制数据C.一个字符串D.一个公式21.下面描述中,符合结构化程序设计风格的是【 】(分数:2.00)A.使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B.模块只有一个入口,可以有多个出口C.注重提高程序的执行效率D.不使用 GOTO 语句22.下列哪个选项是 main( )方法的返回值类型?(分数:2.00)A.intB.voidC.booleanD.Static23.下列叙述中,错误的是【 】(分数:2.00
9、)A.JavaApplication 与 Applet 所用编译命令相B.通常情况下 JavaApplication 只能有一个 main()方法C.JavaApplet 必须有 HTML 文件才能运行D.JavaApplet 程序的.class 文件可用 java 命令运行24.一个应用程序必须继承 Canvas 类才能获得有用的功能,比如创建一个自定义构件。如果想在画布上完成一些图形处理,则 Canvas 类中的哪个方法必须重写?(分数:2.00)A.TrueB.FalseC.-1D.125.下列常见的系统定义的异常中,哪个是输入、输出异常?(分数:2.00)A.过程文件的建立需使用 MO
10、DIFY COMMAND 命令B.过程文件的默认扩展名为PRGC.在调用过程文件中的过程之前不必打开过程文件D.过程文件只包含过程,可以被其他程序所调用26.当启动 Applet 程序时,首先调用的方法是【 】(分数:2.00)A.stop()B.init()C.start()D.destroy()27.下列哪个选项是 Java 调试器,如果编译器返回程序代码的错误,可以用它对程序进行调试?(分数:2.00)A.对于“标题”带区,系统只在报表开始时打印一次该带区所包含的内容B.对于“页标头”带区,系统只打印一次该带区所包含的内容C.对于“细节”带区,每条记录的内容只打印一次D.对于“组标头”带
11、区,系统将在数据分组时每组打印一次该内容28.下列程序的执行结果是( )。 public class Testhh public static void main(String args ) Strings1=new String(“I am boy“); Strings2=new String(“I am boy“); System.out.println(s1.equals(s2); (分数:2.00)A.trueB.falseC.I am boyD.都不正确29.下列哪些内容是异常的含义? (分数:2.00)A.程序的语法错B.程序在编译和运行中所发生的异常事件C.程序预先定义好的异常事
12、件D.程序编译错误30.下列的哪个程序段可能导致错误?(分数:2.00)A.String s = “hello“; String t = “good“; String k = s + t;B.String s = “hello“; String t; t = s3 + “one“;C.String s = “ hello “; String standard = s.toUpperCase( );D.String s = “hello“; String t = s + “good“;31.下列选项中的变量已正确定义,则表达式不合法的是(分数:2.00)A.新建一个数据库B.新建一个数据库表C.
13、打开相关的数据库D.打开相关的数据表32.在 Java 源文件中什么类最多只能有一个,其他类的个数不限?(分数:2.00)A.publicB.privateC.protectedD.没有这种类33.下列 Java 常见事件类中哪个是鼠标事件类?(分数:2.00)A.接口所有的方法都是抽象的B.接口所有的方法一定都是 public 属性的C.用于定义接口的关键字是 implementsD.接口是 Java 中的特殊类,包含静态变量和抽象方法34.下列有关 Java 语言的叙述中,正确的是【 】(分数:2.00)A.Java 是不区分大小写的B.源文件名与 public 类型的类名必须相同C.源文
14、件其扩展名为.jarD.源文件中 public 类的数目不限35.阅读下列代码 public class Test 2005 public static void main(String args) System.out.println(0xa5)B.String s = “hello“; String t; t = s3 + “one“; C.String s = “ hello “; String standard = s.toUpperCase( );D.String s = “hello“; String t = s + “good“;解析:选项 A)String 类型可以直接使用“+
15、”运算符进行连接运算。选项 B)String 是一种 Objec t,而不是简单的字符数组,不能使用下标运算符取其值的某个元素,错误。选项 C)toUpperCa se( )方法是String 对象的一个方法,作用是将字符串的内容全部转换为大写并返回转换后的 结果(String 类型)。选项 D)同选项 A)。31.下列选项中的变量已正确定义,则表达式不合法的是(分数:2.00)A.新建一个数据库B.新建一个数据库表C.打开相关的数据库 D.打开相关的数据表解析:“报表向导”在创建的时候会提示用户输入相关的信息,其他 3 个选项在创建的时候都是不会提示的,需要自己选择。32.在 Java 源文
16、件中什么类最多只能有一个,其他类的个数不限?(分数:2.00)A.public B.privateC.protectedD.没有这种类解析:每个 Java 程序的主类都必须是 public 类,主类名与源文件名必须相同, 并且每个 Java 源程序中只有一个 public 类,其他类的个数不限。33.下列 Java 常见事件类中哪个是鼠标事件类?(分数:2.00)A.接口所有的方法都是抽象的B.接口所有的方法一定都是 public 属性的C.用于定义接口的关键字是 implements D.接口是 Java 中的特殊类,包含静态变量和抽象方法解析:在 java 中一个类只能有一个直接父类,但是
17、可以实现多个接口,在 继承的同时可以实现接口,之所以取消多重继承的原因是多继承使得代码产生很多问 题,而使用单一继承则可以使代码更可靠。 34.下列有关 Java 语言的叙述中,正确的是【 】(分数:2.00)A.Java 是不区分大小写的B.源文件名与 public 类型的类名必须相同 C.源文件其扩展名为.jarD.源文件中 public 类的数目不限解析:本题考查考生对 Java 语言概念的理解。这是考试重点内容,注意理解这些基本概念。Java 语言和C 语言不同,它是区分大小写的:Java 程序的源文件扩展名为class,.jar 文件是由归档工具 jar 生成的.jar 文件。源文件
18、中 public 类的数目只能有 0 个或 1 个,用来指定应用程序类名,也是源文件名,所以选项 B 正确。35.阅读下列代码 public class Test 2005 public static void main(String args) System.out.println(0xa5)&0xaA) ; 其运行结果是【 】 (分数:2.00)A.0xa5B.10 C.0x50D.0xaa解析:这段程序代码非常简单,就是在屏幕上输出表达式(Oxa5)&Oxaa 的结果。“和“&“是位逻辑运算符:按位取反运算符“的运算规则是对数据的每个二进制位取反,即把 1 变为 0,把 0 变为 1;按
19、位与运算符“&“的运算规则是,如果两个操作数中,相应位都为 1,则该位的结果为 1,否则为 0。 解答这道题,首先要把十六进制数 Oxa5 和 Oxaa 转换为二进制数的形式,转换的方法是把一位十六进制用四位二进制表示。因此,Oxa5 的二进制形式为 10100101,Oxaa 的二进制形式为 10101010。在位运算符中,“的优先级高于“&“。所以首先计算10100101,其结果为 01011010。然后再计算 01011010&10101010,其结果为 00001010。最后将二进制数 00001010 转换为十进制数,即为 10。因此,本题的正确答案是 10。 二、填空题(每空 2
20、分,共 30 分)(总题数:15,分数:30.00)36.一个关系表的行称为 1。 (分数:2.00)填空项 1:_ (正确答案:记录 或 元组)解析:关系是关系数据模型的核心。关系可以用一个表来直观地表示,表的每一列表示关系的一个属性,每一行表示一个元组或记录。因此,本题的正确答案是元组或记录。37.写出下列程序的执行结果是 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.printl
21、n(“a=“+a); System.out.println(“b=“+b); System.out.println(“c=“+c); System.out.println(“d=“+d); (分数:2.00)填空项 1:_ (正确答案:a=d b=100 c=1000 d=1000)解析:char 型在计算机内部是以 int 型存储的,所以知道“a”在计算机中对应的 int 型数据的值是97,那么很容易推算出“d”的对应值是 100。自动类型的转换,注意 float 和 double 型小数点后的零。38.抽象类不能 1。(分数:2.00)填空项 1:_ (正确答案:实例化)解析:在 Java
22、 语言中,用 abstract 修饰符定义的类称为抽象类,在其中的方法称为抽 象方法。抽象类必须被继承,抽象方法必须被重写,抽象类不能实例化。39.下列程序中,实例 tat 是监听器,fr 是事件源,fr 上发生的事件委托 tat 进行处理。程序的执行结果是显示一个粉红色的窗口,单击关闭按钮,可关闭窗口。请填完整程序。 import javaawt*; importjavaawtevent*; public class Testppp public static void main(String args ) Frame fr=new Frame(“The Adapter!”); TheAda
23、pterTest tat=new TheAdapterTest1; fr 2 fr.setSize(200,200); frsetBackground(Colorpink); frsetVisible(true); class TheAdapterTest extends WindowAdapter public void windowClosing(WindowEvent e) Systemexit(1); (分数:2.00)填空项 1:_ (正确答案:addWindowlistener(tat);)解析:WindowAdapter 是窗口适配器,TheAdapterTest 类继承了它。f
24、r 是 Frame 的对象,Frame 和其子类都可以调用 addWindowListener-|_|-方法。40.在 JDKl.4 的 java.util.regex 正则表达式包中,有一个 1 类,该类的 static Pattern compile(String expression,int flags)方法用于将正则表达式字符串编译成模式对象来进行快速模式匹配。(分数:2.00)填空项 1:_ (正确答案:模式或 Pattern)解析:java.util.regex 正则表达式包以及 .URL 相结合,可用于网络上的字符输入流的模式字符串搜索上。 41.J2SDK 的命令可以分为 6
25、类:基本命令、RMI(远程方法调用命令)、 1、安全控制命令、Java IDL 和RNR-IIOP 命令、Java Plug-in。(分数:2.00)填空项 1:_ (正确答案:国际化命令)解析:不需要 J2SDK 自带的各种命令的具体形式,但应知道大概分为哪 6 类。参考一下 J2SDK 的文档或直接在命令行输入命令名得到命令及其选项的具体说明;我们最好应掌握 6 类命令中的第 1 类:基本命令的用法和功能。42.在 AWT 包中,创建一个具有 10 行,45 列的多行文本区域对象 ta 的语句为 1。(分数:2.00)填空项 1:_ (正确答案:TextArea ta=new TextAr
26、ea(10,45);)解析:TextArea 文本输入区可以显示多行多列的文本,TextArea(int,int)构造方法指 定行数和列数。43.若 x = 5,y = 10,则 x y & x + = = y - 的逻辑值为 1。(分数:2.00)填空项 1:_ (正确答案:False)解析:此题主要是考查运算符的优先级,首先运算的是+和两个运算符,然后是 运算符,接着是= = 运算符,最后是运算符。xy x+= =y-等于(xy) (x+)= = (y-) )。44.一棵二叉树第六层(根结点为第一层)的结点数最多为 1 个。(分数:2.00)填空项 1:_ (正确答案:32)解析: 二叉树
27、的一个性质是,在二叉树的第 k 层上,最多有 2(上标)k-1(k1)个结点。由此,2(上标)6-1 等于 32。所以答案为 32。45.在面向对象方法中,类的实例称为 1。(分数:2.00)填空项 1:_ (正确答案:对象)解析:类描述的是具有相似性质的一组对象。例如,每本具体的书是一个对象,而这些具体的书都有共同的性质,它们都属于更一般的概念“书“这一类对象。一个具体对象称为类的实例。46.在 Java2 中支持 1 技术,使得 Java 的安全控制可以针对外界的具体用户进行,从而提高了访问控制的粒度。(分数:2.00)填空项 1:_ (正确答案:数字签名)解析:在 Java2 中支持数字
28、签名技术,使得 Java 的安全控制可以针对外界的具体用户进行,从而提高了访问控制的粒度。外界用户首先对 Java 代码进行数字签名,运行该代码的本机 Java 运行系统可以通过对代码数字签名的验证,决定是否授予该代码相应的权限。47.对话框(Dialog)是 1 类的子类。(分数:2.00)填空项 1:_ (正确答案:Window)解析:主要熟悉 AWT 基本构件的特点。对话框和一般窗口的区别在于它依赖于其 他窗口。48.下列是一个 Java Applet 程序,填空使它的功能为计算数组各元素和的平均值。 import java applet. * ; import java awt. *
29、; public class Testvv extends Applet pubfic void paint(Graphics g) int a = 1,3,5,7,9,10 ; double total=0.0,ave=0.0; for(int i=0;ia.length;i+) total+=ai; ave=total/ 1; gdrawstring(“ave=“+ave,30,60); (分数:2.00)填空项 1:_ (正确答案:a.length)解析:本题利用 for 循环语句求数组元素的和的平均数,其中 a.length 代表数组长度,即数组元素的个数。为了计算数组各元素和的平均值
30、,第一步,先将数组的各元素先累加起来,用 for 语句很容易的实现,和放在 total 里,第二步,要将这个和除以数组总共元素的个数(在数组中,个数放在 length 中)。 49.在运行时,由 java 解释器自动引入,而不用 import 语句引入的包是 1。(分数:2.00)填空项 1:_ (正确答案:javalang)解析: 本题考查 java 中引入包的概念。本题是重点内容,很简单,但历次考试都对此知识点有考查。在Java 中,只有 javalang 包是编译器自动导入的,因此变成使用该包中的类,可以省去 import 导入,使用其他包中的类则必须用 import 语句。50.下列是
31、 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:_ (正确答案:(byle)s)解析:将较长的数据类型转换成较短的数据类型,只能用强制类型转换:;而格式通常都用赋值语句来实现,在要求强制的变量名前面用-|_|-括上所要强制转换的类型符。本题容易忽略两个问题:将较长的数据类型转换成较短的数据类型,只能用强制类型转换。强制类型转换应采用的方式。