1、二级 JAVA 笔试-142 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:25,分数:75.00)1.设有定义语句:int a=11,22, 33;则下面对此语句的叙述错误的是(分数:3.00)A.定义了一个名为 a 的一维数组B.数组中的每一个元素都是整型C.a 数组的元素下标为 13D.a 数组有 3 个元素2.下列关于 Java 语言简单数据类型的说法中,正确的一项是_。(分数:3.00)A.以 0 开头的整数代表 8 进制整型常量B.boolean 类型的数据作为类成员变量的时候,系统默认的初始值为 trueC.以 0x 或者 OX 开头的整数代表 8 进
2、制整型常量D.double 类型的数据占计算机存储的 32 位3.如果有 2 个类 A 和 B,A 类基于 B 类,则下列描述中正确的一个是_。(分数:3.00)A.这 2 个类都是子类或者超类B.A 是 B 超类的子类C.这 2 个类都是对方的子类D.B 是 A 超类的子类4.在生成文件对象的语句中,如果文件对象的路径是文件夹所属的路径,需要调用 File 类中的_方法生成对应的文件夹。(分数:3.00)A.createNewFile()B.isDirectory()C.canRead()D.mkdir()5.下面关于 Applet 的说法正确的是_。(分数:3.00)A.Applet 也需
3、要 main 方法B.Applet 必须继承自 javaawtAppletC.Applet 程序不需要编译D.Applet 能访问本地文件6._布局管理器是 AWT 中最灵活,同时又是最复杂的一种布局管理器。(分数:3.00)A.GridBagLayoutB.GridLayoutC.BorderLayoutD.FlowLayout7.编译一个定义了 3 个类和 10 个方法的 Java 源文件后,会产生多少个字节码文件,扩展名是_。(分数:3.00)A.1 个字节码文件,扩展名是classB.13 个字节码文件,扩展名是classC.3 个字节码文件,扩展名是 javaD.3 个字节码文件,扩
4、展名是 class8.执行下列代码段之后,变量 z 的值为_。Public class Test8public static void main(String args)int x=2;int y=3;int z=4;z-= y-x-;System.out.println(z);(分数:3.00)A.1B.2C.3D.49.下列APPLET的属性中属于可选的一项是_。(分数:3.00)A.CODEB.CODEBASEC.HEIGHTD.WIDTH10.Java 程序从编译到执行的整个过程为_。(分数:3.00)A.Java 源程序一编译成机器码一运行B.Java 源程序一编译成字节码一解释执行
5、C.Java 源程序一直接解释执行D.Java 源程序一优化一运行11.下列运算符中,_不可以和字符类型数据组合成相应的运算表达式。(分数:3.00)A.B.+C.+D.System.out.println(“ndition 1“;catch (ArrayIndexOutOfVoundsException e)System.out.println(“ondition 2“;catch (Exception e)System. out.println(“ondition 3“;finallySystem. out. println ( “inally“;(分数:3.00)A.condition1
6、B.condition2C.condition3D.condition1finally17.下面有关 Applet 的执行的说法不正确的是_。(分数:3.00)A.最小化 Applet 运行窗口时,将运行 stop()方法B.Java Applst 跟 Java Application 一样,都是从 main()方法开始执行的C.Java Applet 必须嵌入到 HTML 文件中才能够运行D.Java Applet 在执行的过程中一定会自动调用 init()、start()、stop()、destroy()方法,不管用户是否重载这些方法18.若要一个 Applet 能够正常运行于浏览器中,除
7、了 iava 和class 文件之外必须建立 _。(分数:3.00)A.HTML 文件B.OBJ 文件C.EXE 文件D.JAR 文件19.当用户离开包含 Applet 的主页后又再返回时,或者当浏览器从图标状态恢复为窗口时,系统都会自动再执行一遍_方法。(分数:3.00)A.init()B.start()C.paint()D.stop()20.下列选项中属于 Java 语言的垃圾回收机制的一项是_。(分数:3.00)A.堆栈溢出检查B.语法检查C.跨平台D.内存跟踪21.resume()方法负责恢复被_方法挂起的线程。(分数:3.00)A.sleep()B.stop()C.wait()D.s
8、uspend()22.下列程序通过设定线程优先级,抢占主线程的 CPU,选择正确的语句填入横线处。class T14 implements Runnableprivate Boolean fStop - true;public void run()while(fStop)System.out.println(Thread.currentThread().getName() + “run“);tryThread.sleep(l);catch(Exception e)e.printStackTrace();public void stopRun()fStop = false;public clas
9、s Testl4public static void main(String args)T14 t14 = new T14();Thread t1 = new Thread(ti4, “T14“);Thread t = Thread.currentThread();_; Ti.start();T14.stopRun();System.out.println ( “stop “);(分数:3.00)A.setPriority(Thread. MIN_PRIORITY)B.t1 .setPriority(Thread. MIN_PRIORITY)C.t.setPfiofity(Thread. MI
10、N_PRIORITY)D.t14.setPriority(Thread. MIN_PRIORITY)23.下面程序执行后,屏幕上显示的应是_。public class Testl0public static void main(String args)char char1 = t, e, s, t;char char2 = (t, e, s, t, 1 ;String s1 = new String(char1);String s2 = new String(char2, 0, 4);System. out.println (si.equal (s2);(分数:3.00)A.trueB.fal
11、seC.testD.编译错误24.下列语句序列执行后,K 的值是_。public class Test11public static void main(String args)int m=3, n=6, k=0;while (m+)(n-)+k;System.out.println (k);(分数:3.00)A.0B.1C.2D.325.下面关于类及其修饰符的一些描述,正确的是_。(分数:3.00)A.abstract 类可以用来派生子类,也可以用来创建 abstract 类的对象B.abstract 能与 final 同时修饰一个类C.final 类不但可以用来派生子类,也可以用来创建 f
12、inal 类的对象D.abstract 方法必须在 abstract 类中声明,但 abstract 类定义中可以没有 abstract 方法二、填空题(总题数:10,分数:25.00)26.多线程是 Java 语言的 【1】 机制,它能够处理同步共享数据和各种不同的事件。(分数:2.50)填空项 1:_27.在 J2SEv1.4 运行环境中,编译 Java 源程序的命令是 【2】 。(分数:2.50)填空项 1:_28.在 Java 程序中,通过类的定义只能实现单一继承,但通过接口的定义可以实现 【3】 关系。(分数:2.50)填空项 1:_29.表达式 110100113 的值为 【4】
13、。(二进制数表示)(分数:2.50)填空项 1:_30.在线程的调度中,可用来设置线程优先级的方法是 【5】 。(分数:2.50)填空项 1:_31. 【6】 、Set、List 和 SonedSet 是集合中的四个重要接口。(分数:2.50)填空项 1:_32.Java 定义的对象流是 ObjectlnputStream 和 【7】 。(分数:2.50)填空项 1:_33. 【8】 是 AWT 的扩展,它提供了一种方法,可以在 Java 程序中提供图形化用户界面,并得到用户用键盘、鼠标和其他输入设备输入的信息。(分数:2.50)填空项 1:_34.当用户在 TextField 中输入一行文字
14、后,按回车键,实现 【9】 接口可实现对事件的相应。(分数:2.50)填空项 1:_35.倘若用户退出浏览器或者重载包含 Applet 的主页时,浏览器首先调用 Applet 的方法 stop(),接着执行 【10】 方法释放 Applet 所占的资源。(分数:2.50)填空项 1:_二级 JAVA 笔试-142 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:25,分数:75.00)1.设有定义语句:int a=11,22, 33;则下面对此语句的叙述错误的是(分数:3.00)A.定义了一个名为 a 的一维数组B.数组中的每一个元素都是整型C.a 数组的元素下标为 1
15、3 D.a 数组有 3 个元素解析:解析 a 数组的元素的下标应为 02,这是直接定义数组的方法,通过在大括号中给出数组的数据项的值。2.下列关于 Java 语言简单数据类型的说法中,正确的一项是_。(分数:3.00)A.以 0 开头的整数代表 8 进制整型常量 B.boolean 类型的数据作为类成员变量的时候,系统默认的初始值为 trueC.以 0x 或者 OX 开头的整数代表 8 进制整型常量D.double 类型的数据占计算机存储的 32 位解析:解析 选项 B 中,对于 boolean 类型的数据,作为类成员变量的时候,系统默认的初始值应该是false;选项 C 中,以 0x 或者
16、0X 开头的整数应该是 16 进制的整型常量;选项 D 中, double 类型的数据应该占用 64 位的存储空间;选项 A 正确。3.如果有 2 个类 A 和 B,A 类基于 B 类,则下列描述中正确的一个是_。(分数:3.00)A.这 2 个类都是子类或者超类B.A 是 B 超类的子类 C.这 2 个类都是对方的子类D.B 是 A 超类的子类解析:解析 定义其他类的类是超类,从某个已有类继承得到的类是子类。本题中,A 类基于 B 类,因此,A 类是子类,而 B 类是超类,选项 B 正确。4.在生成文件对象的语句中,如果文件对象的路径是文件夹所属的路径,需要调用 File 类中的_方法生成对
17、应的文件夹。(分数:3.00)A.createNewFile()B.isDirectory()C.canRead()D.mkdir() 解析:解析 利用生成文件对象语句只是生成一个文件对象,而不是生成真正的文件。如果语句中,构造方法的参数是文件名或路径加文件名,需要调用 File 类中的 creatNewFile()方法创建文件;若是文件夹所属的路径,需要调用 File 类中的 mkdir()方法生成对应的文件夹。5.下面关于 Applet 的说法正确的是_。(分数:3.00)A.Applet 也需要 main 方法B.Applet 必须继承自 javaawtApplet C.Applet 程
18、序不需要编译D.Applet 能访问本地文件解析:解析 Java Application 是从 main()方法开始运行的,而 Java Applet 则相对复杂一点,它需要在浏览器环境中运行,因此选项 A 是错误的。所有的 Java Applet 都是 Applet 类的子类,因此选项 B 是正确的。Java Applet 小应用程序没有 main()入口,但是运行 Java Applet 首先还是要进行编译,因此选项 C 是错误的。Applet 不能读写用户的文件系统,因此选项 D 是错误的。6._布局管理器是 AWT 中最灵活,同时又是最复杂的一种布局管理器。(分数:3.00)A.Gri
19、dBagLayout B.GridLayoutC.BorderLayoutD.FlowLayout解析:解析 GridBayLayout 是 AWT 中最灵活,同时又是最复杂的一种布局管理器。容器中各个组件所占的空间可以互不相同,故选项 A 是正确的。7.编译一个定义了 3 个类和 10 个方法的 Java 源文件后,会产生多少个字节码文件,扩展名是_。(分数:3.00)A.1 个字节码文件,扩展名是classB.13 个字节码文件,扩展名是classC.3 个字节码文件,扩展名是 javaD.3 个字节码文件,扩展名是 class 解析:解析 Java 程序的源文件扩展名为 java。在编译
20、源文件之后,产生的是字节码文件,其扩展名为class。而对于源文件中定义的一个类都会有一个字节码文件与之对应,并且扩展名均为class,这里有 3 个类,因此有 3 个字节码文件,正确答案为 D。8.执行下列代码段之后,变量 z 的值为_。Public class Test8public static void main(String args)int x=2;int y=3;int z=4;z-= y-x-;System.out.println(z);(分数:3.00)A.1B.2C.3D.4 解析:解析 表达式中的运算次序应该是先对 y 做减量运算,得到 y=2,然后再取 x 的值 x=2
21、,做减法运算得到 0,最后用 z 减去 0,得到答案为 4。9.下列APPLET的属性中属于可选的一项是_。(分数:3.00)A.CODEB.CODEBASE C.HEIGHTD.WIDTH解析:解析 CODEBASE是可选的属性,用于指定 Applet 的 URL 地址,该 URL 包含了 Applet 代码的目录。其他选项中的属性都必须存在于APPLET标记中。10.Java 程序从编译到执行的整个过程为_。(分数:3.00)A.Java 源程序一编译成机器码一运行B.Java 源程序一编译成字节码一解释执行 C.Java 源程序一直接解释执行D.Java 源程序一优化一运行解析:解析 创
22、建 Java 源程序,编译源程序,运行 Java 程序是开发一个 Java 程序的 3 个步骤。源程序经过编译器编译生成字节码文件,然后将字节码文件交由 Java 解释器解释执行,所以选项 B 正确。11.下列运算符中,_不可以和字符类型数据组合成相应的运算表达式。(分数:3.00)A.B.+C.+D.System.out.println(“ndition 1“;catch (ArrayIndexOutOfVoundsException e)System.out.println(“ondition 2“;catch (Exception e)System. out.println(“ondit
23、ion 3“;finallySystem. out. println ( “inally“;(分数:3.00)A.condition1B.condition2C.condition3D.condition1finally 解析:解析 如果 try 块中的语句在执行时发生异常,则执行从该处中断而进入 catch 块,根据异常的类型进行匹配,最前面的优先进行匹配比较,只要该异常是 catch 中指定的异常的子类就匹配成功进而执行相应的 catch 中的内容,而 finally 块中的内容无论是否发生异常都将被执行。17.下面有关 Applet 的执行的说法不正确的是_。(分数:3.00)A.最小化
24、 Applet 运行窗口时,将运行 stop()方法B.Java Applst 跟 Java Application 一样,都是从 main()方法开始执行的 C.Java Applet 必须嵌入到 HTML 文件中才能够运行D.Java Applet 在执行的过程中一定会自动调用 init()、start()、stop()、destroy()方法,不管用户是否重载这些方法解析:解析 Java Applet 是一类特殊的 Java 程序,通常称为 Java 小应用程序,它嵌入在 HTML 语言中,随主页发布到 Intemet 上,因此选项 C 的说法正确;它与 JavaApplication
25、的区别主要在于其执行方式的不同,Java Application 是从 main()方法开始运行的,而 JavaApplel 则相对复杂一点,它需要在浏览器环境中运行,因此选项 B 的说法不正确;最小化 Applet 运行窗口时,将运行 stop()方法,选项 A 的说法正确;JavaApplet 在执行的过程中一定会自动调用 init()、 start()、stop()、destroy()方法,不管用户是否重载这些方法,选项 D 的说法正确。18.若要一个 Applet 能够正常运行于浏览器中,除了 iava 和class 文件之外必须建立 _。(分数:3.00)A.HTML 文件 B.OB
26、J 文件C.EXE 文件D.JAR 文件解析:解析 Applet 的运行环境是浏览器,因此不能够直接使用命令行执行,而是需要通过建立 HTML文件,通知浏览器如何加载和运行 Applet。19.当用户离开包含 Applet 的主页后又再返回时,或者当浏览器从图标状态恢复为窗口时,系统都会自动再执行一遍_方法。(分数:3.00)A.init()B.start() C.paint()D.stop()解析:解析 当用户离开包含 Applet 的主页后又再返回时,或者当浏览器从图标状态恢复为窗口时,系统都会自动再执行一遍 start()方法。选项 B 正确。20.下列选项中属于 Java 语言的垃圾回
27、收机制的一项是_。(分数:3.00)A.堆栈溢出检查B.语法检查C.跨平台D.内存跟踪 解析:解析 选项 A 错误,堆栈溢出在解释执行时进行检查;选项 B 错误,语法检查是编译器的一项工作,不属于垃圾回收;选项 C 错误,跨平台是 Java 语言的一个特点,不属于垃圾回收机制。选项 D 正确,为了充分利用资源,Java 语言提供了一个系统级的线程,用于监控内存,在有必要时释放不再使用的内存,这就是垃圾回收机制。21.resume()方法负责恢复被_方法挂起的线程。(分数:3.00)A.sleep()B.stop()C.wait()D.suspend() 解析:解析 在线程中调用 suspend
28、()方法使线程挂起,暂停执行,如果恢复此线程必须调用 resume()方法使其进入可运行态。22.下列程序通过设定线程优先级,抢占主线程的 CPU,选择正确的语句填入横线处。class T14 implements Runnableprivate Boolean fStop - true;public void run()while(fStop)System.out.println(Thread.currentThread().getName() + “run“);tryThread.sleep(l);catch(Exception e)e.printStackTrace();public v
29、oid stopRun()fStop = false;public class Testl4public static void main(String args)T14 t14 = new T14();Thread t1 = new Thread(ti4, “T14“);Thread t = Thread.currentThread();_; Ti.start();T14.stopRun();System.out.println ( “stop “);(分数:3.00)A.setPriority(Thread. MIN_PRIORITY)B.t1 .setPriority(Thread. M
30、IN_PRIORITY)C.t.setPfiofity(Thread. MIN_PRIORITY) D.t14.setPriority(Thread. MIN_PRIORITY)解析:解析 使用 setPriority 方法来设定线程的优先级,程序中的 t 是主线程,t1 是创建的线程, t6 是实现了 Runnable 接口的类的实例,由于使用的参数是 MIN_PRIORITY,因此是将主线程 t 的优先级设为最低,这样 t1 才能抢占 t 的 CPU。23.下面程序执行后,屏幕上显示的应是_。public class Testl0public static void main(String
31、 args)char char1 = t, e, s, t;char char2 = (t, e, s, t, 1 ;String s1 = new String(char1);String s2 = new String(char2, 0, 4);System. out.println (si.equal (s2);(分数:3.00)A.true B.falseC.testD.编译错误解析:解析 首先可以通过字符数组来生成一个字符串对象:String(charvalue);String(charvalue,int startlndex,int numChars);其中,startlndex
32、指定字符串在数组中的起始下标,numChars 表示字符个数。然后再测试字符串是否相等,可调用 equal()方法,两串相等则返回 true,否则返回 false。24.下列语句序列执行后,K 的值是_。public class Test11public static void main(String args)int m=3, n=6, k=0;while (m+)(n-)+k;System.out.println (k);(分数:3.00)A.0B.1C.2 D.3解析:解析 变量 m 和 n 在条件中都是采用了先使用后改变的方式,第一遍循环执行时,m=3, n=6 满足条件,执行循环体
33、k=1,然后 m=4,n=5;第二遍循环,满足条件,执行循环体,得到 k=2,然后m=5,n=4;第三遍循环,判断条件时发现不满足,结束循环,因此 k=2。25.下面关于类及其修饰符的一些描述,正确的是_。(分数:3.00)A.abstract 类可以用来派生子类,也可以用来创建 abstract 类的对象B.abstract 能与 final 同时修饰一个类C.final 类不但可以用来派生子类,也可以用来创建 final 类的对象D.abstract 方法必须在 abstract 类中声明,但 abstract 类定义中可以没有 abstract 方法 解析:解析 Java 程序中,用 a
34、bstract 说明的类是抽象类。这种类必须被继承,而且它本身并不实现任何实际操作,不能用它来实例化一个对象。从抽象类直接生成对象是没有意义的,所以选项 A 错误。而用 final 说明的类不能有子类,即该类不能被继承。Abstract 和 final 是相对的,同时用来修饰一个类是没有意义的,所以选项 B 和 C 也是错误的。对于选项 D,因为一个类如果包含一个抽象方法就必须将该类声明为抽象类,而一个抽象类中可以有也可以没有抽象方法,所以选项 D 正确。二、填空题(总题数:10,分数:25.00)26.多线程是 Java 语言的 【1】 机制,它能够处理同步共享数据和各种不同的事件。(分数:
35、2.50)填空项 1:_ (正确答案:并发)解析:解析 Java 语言的开发运行环境都是互联网,在这种分布式的环境中,并发和共享是很常见的事务,要能并行地处理很多的事务,就要求 Java 语言提供一种可靠和高效的机制来满足高并发事务处理的要求。多线程很好地解决了网络上的瓶颈问题,很好地解决了大数量地网络访问问题。27.在 J2SEv1.4 运行环境中,编译 Java 源程序的命令是 【2】 。(分数:2.50)填空项 1:_ (正确答案:javac)解析:解析 在 bin 目录中包含的可执行文件 javacexe 是 Java 编译器,用 javac 命令将写好的 Java源程序编译成字节码。
36、28.在 Java 程序中,通过类的定义只能实现单一继承,但通过接口的定义可以实现 【3】 关系。(分数:2.50)填空项 1:_ (正确答案:多重继承)解析:解析 Java 语言不支持多重继承,只支持单一继承。需要使用其他类中的方法,但又无法直接继承时,可以使用 Java 提供的接口技术。即通过接口来实现多重继承。一个类可以实现多个接口。29.表达式 110100113 的值为 【4】 。(二进制数表示)(分数:2.50)填空项 1:_ (正确答案:00011010)解析:解析 逻辑右移的基本原则是低位舍弃,高位补 0,11010011 的最低 3 位舍弃,得到 11010,在这个二进制串的
37、高位补上 3 个 0,得到 00011010。30.在线程的调度中,可用来设置线程优先级的方法是 【5】 。(分数:2.50)填空项 1:_ (正确答案:setPriority())解析:解析 setPriority()方法用于对线程的优先级进行设置,而通过调用 getPriority()方法获得线程的优先级。31. 【6】 、Set、List 和 SonedSet 是集合中的四个重要接口。(分数:2.50)填空项 1:_ (正确答案:Collection)解析:解析 从集合间的继承关系树中可以看出集合包包含四个重要接口,分别是 Collection、 Set、List 和 SortedSet
38、。其中,Collection、Set、List 都可以用来组织多个对象,但又各不相同。 Collection 接口是集合继承树中最顶层的接口,其中的对象存放没有一定的顺序,并且允许重复,即可存放几个相同的对象。它提供诸如 add、size、remove、toArray 和 itemtor 等方法。 Set 接口和 List接口都继承了 Collection。SortedSet 接口继承自 Set,是按元素排序的集合,其中的对象是有序存放的。32.Java 定义的对象流是 ObjectlnputStream 和 【7】 。(分数:2.50)填空项 1:_ (正确答案:ObjectOutputSt
39、ream)解析:解析 Java 语言定义了两个字节流,即 ObjectlnputStream 和 ObjectOutputStream,用于对象的读写操作,一般称作对象流。33. 【8】 是 AWT 的扩展,它提供了一种方法,可以在 Java 程序中提供图形化用户界面,并得到用户用键盘、鼠标和其他输入设备输入的信息。(分数:2.50)填空项 1:_ (正确答案:Swing 库)解析:解析 Swing 库是 AWT 的扩展,它提供了一种方法,可以在 Java 程序中提供图形化用户界面,并得到用户用键盘、鼠标和其他输入设备输入的信息。34.当用户在 TextField 中输入一行文字后,按回车键,
40、实现 【9】 接口可实现对事件的相应。(分数:2.50)填空项 1:_ (正确答案:ActionListener)解析:解析 单行文本输入区只能显示一行,当回车键被按下时,会发生 ActionEvent 事件,可以通过ActionListener 中的 actionPerformed()方法对事件进行相应处理。35.倘若用户退出浏览器或者重载包含 Applet 的主页时,浏览器首先调用 Applet 的方法 stop(),接着执行 【10】 方法释放 Applet 所占的资源。(分数:2.50)填空项 1:_ (正确答案:destroy())解析:解析 倘若用户退出浏览器或者重载包含 Applet 的主页时,浏览器首先调用 Applet 的方法stop(),接着执行 destroy()方法释放 Applet 所占的资源。