1、二级 JAVA笔试 45及答案解析(总分:95.00,做题时间:90 分钟)一、B选择题/B(总题数:25,分数:75.00)1.下列_是面向大型企业级用容器管理专用构件的应用平台。(分数:3.00)A.J2EEB.J2SEC.J2MED.J2DE2.下面关于数组定义语句不正确的是_。(分数:3.00)A.inta= 1,2,3,4;B.int a1, a2;C.double d = new double 8;D.float f = new 2.0f, 3.5f, 5.6f, 7.8f;3.在 Java程序中若要使用随机数类,需要引入的类库是_。(分数:3.00)A.javioB.javnet
2、C.javlangD.javuntil4.下列说法中,错误的一项是_。(分数:3.00)A.一个 Applet可以有多个类,但是继承 javappleApplet的公有类只有一个B.一个 Applet只能由一个继承 javappleApplet类的公有类构成 C.Applet继承 javappleApplet类的公有类名必须和源文件名一致D.JApplet必须是 javSwinJApplet的子类5.执行下列程序段之后,输出的结果是_。 public class Test8 public StatiC void main (String args) byte a=2; short b=3; l
3、ong c=4; c=a%b*4%b; System. out.println (c); (分数:3.00)A.2B.1C.-2D.-16.paint()方法使用_类型的参数。(分数:3.00)A.GraphicsB.Graphics2DC.ColorD.String7.下面_组件可以不添加到容器中。(分数:3.00)A.FrameB.PanelC.TextFieldD.Button8.下列说法中错误的一项是_。(分数:3.00)A.监听器要处理某类型的事件,必须实现该类事件相应的接口B.授权处理模型把事件的处理和事件源分开,将处理交付外部的处理实体进行C.在 Java中,每一个事件类都有一个
4、与之相对应的接口D.监听器要处理某类型的事件,不一定必须实现与该类事件相应的接口9.下列生成文件对象的语句正确的是_。(分数:3.00)A.File dirObject=new File(“d:/mydir“);B.File fileObject1:newFile(Filetx;C.File fileObject1:newFile(“Filemt“);D.File fileO均 ect2:newFile(“d:knydir“,File2tx;10.编译下面源程序会得到文件。 class A1 class A2 public class B public static void main(Str
5、ing args) (分数:3.00)A.只有 class文件B.只有 A1class 和 A2class 文件C.有 A1class、A2class 和 class文件D.编译不成功11.下列程序的执行结果是_。 public class Test9 public static void main(String args) String s1 = new String(“I am a girl“); String s2 = new String(“I am a girl“); System.out.println (s1. equal (s2); (分数:3.00)A.trueB.false
6、C.I amgirlD.都不正确12.下列方法中_是执行线程的方法。(分数:3.00)A.run()B.sleep()C.start()D.suspend()13.在 Java语言中,_是基本的元素。(分数:3.00)A.包B.方法C.对象D.接口14.下列关于基本数据类型的说法中,不正确的一项是_。(分数:3.00)A.float是带符号的 32位浮点数B.boolean是 Java特殊的内置值,或者为真或者为假C.double是带符号的 64位浮点数D.char 是 8位 Unicode字符15.下列说法中,错误的是_。(分数:3.00)A.Java虚拟机屏蔽了具体平台相关的信息B.Jav
7、a虚拟机是实现 Java语言与平台的无关性这一特点的关键C.引入 Java虚拟机后,Java 语言在不同平台上运行时,仍需要重新编译D.Java虚拟机在实际的计算机上通过软件模拟或硬件来实现16.下列有关线程的叙述_是正确的。(分数:3.00)A.一旦一个线程被创建,它就立即开始运行B.调用 start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行C.主线程不具有默认优先级D.Java中线程的优先级从低到高以整数 09 表示17.下面语句执行后,i 的值是_。 public class Test11 public static void main(String args) int
8、 i=0; for( int j=10; j5 j-=3,i+=2 ) i=i+j; System. out.println (i); (分数:3.00)A.10B.9C.8D.1218.下列常见的系统定义中的异常中,_是数组越界异常。(分数:3.00)A.ArrayIndexOutOfBoundsExceptionB.NullPointerExceptionC.IOExceptionD.ArithmeticException19.下列说法中错误的一项是_。(分数:3.00)A.共享数据的所有访问都必须使用 synchtonized加锁B.共享数据的访问不一定全部使用 synchronized
9、加锁C.临界区必须使用 synchronized标识D.所有的对共享数据的访问都是临界区20.下列关于APPLET的属性的说法中错误的是_。(分数:3.00)A.WIDTH和HEIGHT属性可以指定 Applet运行过程中产生的弹出窗口大小B.NAME属性可以被 Web页面中的 JavaScnpt脚本访问C.ARCHIVE属性用于将 Applet含有的多个文件打包D.CODE属性指出的文件名可以包含路径,但是相对路径21.下列说法中,错误的一项是_。(分数:3.00)A.Applet和 Application一样,入口方法都是 main()B.Applet和 Application不一样,入口
10、方法不是 main(),其运行要复杂得多C.Appier必须嵌入 Web浏览器或者 AppleWiewer中运行D.Applet可以为 Web页面提供动画,声音等效果22.下列程序将类 C15的对象写入文件 file15txt,选择正确的语句填入下列程序的横线处。 package ch2; import java.util.*; import java.io.*; class C15_ public iht a; public void setInt(int newa) a = newa; public class Testl5 pulibc static void main(String a
11、rgs) C15 obj = new C15(); try FileOutputStream fos =newFileOutputStream(“ch2/filel5.txt“); ObjectOutputStream oos = ObjectOutputStream(fos); Obj.setInt(10); oos.writeObject(obj); oos.close (); fos.close(); catch(IOException ioe) ioe.printStackTrace(); (分数:3.00)A.implements RunnableB.implements Sedal
12、izableC.extends SerializableD.implements InputStream23.下列关于自动类型转换的说法中,正确的一个是_。(分数:3.00)A.int类型数据可以被自动转换为 char类型数据B.char类型数据可以被自动转换为 int类型数据C.long类型数据可以被自动转换为 short类型数据D.boolean类型数据不可以做自动类型转换,但是可以做强制转换24.当退出当前主页时,浏览器调用_方法终止 start()方法中启动的线程。(分数:3.00)A.destroy()B.init()C.stop()D.paint()25.面向对象程序设计有许多特性
13、,下列选项中,_用来尽可能隐藏对象的,内部细节。(分数:3.00)A.动态性B.多态性C.封装性D.继承二、B填空题/B(总题数:10,分数:20.00)26.Java语言对内存采用U 【1】 /U机制,有效地防止了因程序员误操作而引起的错误, 并更好地利用了系统资源。(分数:2.00)填空项 1:_27.Java开发环境设置包括U 【2】 /U设置和 calsspa出设置。(分数:2.00)填空项 1:_28.关键字U 【3】 /U表明一个变量在初始化后不能被修改。(分数:2.00)填空项 1:_29.U【4】 /U类型数据不可以做类型转换。(分数:2.00)填空项 1:_30.凡生成 Sb
14、ingBuRer一个对象后,还可用U 【5】 /U方法或 ensureCapacity()方法设定缓存大小。(分数:2.00)填空项 1:_31.若要强行中止线程的运行可调用U 【6】 /U方法。(分数:2.00)填空项 1:_32.若要在 D盘根目录下生成一个名为 mydir的文件夹,请在下面横线处填入代码完成此程序。 import java.io.*; public class FileTest public static void main(String args) U 【7】 /U File fileObject1 = new File(“Filel.txt“); File fileO
15、bject2 = new File(“d:/mydir“, “File2.txt“); System.out.println(fileObject2); try dirObject.mkdir(); catch(SecurityException e) try fileObject1.createNewFile(); fileObject2.createNewFilei); catch(IOException e) (分数:2.00)填空项 1:_33.Java语言中提供了U 【8】 /U来管理组件在容器中的布局。(分数:2.00)填空项 1:_34.传递给实现了 javaawteventMo
16、useMotionListener 接口的类中 mouse Dragged()方法的事件对象是,U 【9】 /U类。(分数:2.00)填空项 1:_35.Applet类中用于返回包含 Applet的 HTML文件的 URL方法是U 【10】 /U。(分数:2.00)填空项 1:_二级 JAVA笔试 45答案解析(总分:95.00,做题时间:90 分钟)一、B选择题/B(总题数:25,分数:75.00)1.下列_是面向大型企业级用容器管理专用构件的应用平台。(分数:3.00)A.J2EE B.J2SEC.J2MED.J2DE解析:解析 J2EE 面向大企业级用容器管理构件应用平台,其具有强大的服
17、务功能如命令服务、事务服务、安全服务、部署服务、消息服务、邮件服务等。2.下面关于数组定义语句不正确的是_。(分数:3.00)A.inta= 1,2,3,4;B.int a1, a2;C.double d = new double 8;D.float f = new 2.0f, 3.5f, 5.6f, 7.8f; 解析:解析 在 Java中定义并创建一个数组对象的语句格式是: arrayName=new typearraySize; 而选项 D中,把定义创建数组对象和静态初始化数组对象混为一谈。3.在 Java程序中若要使用随机数类,需要引入的类库是_。(分数:3.00)A.javioB.ja
18、vnetC.javlangD.javuntil 解析:解析 选项 A中 javaio 类库提供系统用来读写文件或其他输入输出源的输入输出流;选项 B中 javanet 类库包含一些与网络相关的类和接口;选项 C中 javalang 类库在所有的 JavaAP1中是最重要的,它提供 Java语言中 Object、String 和 Thread等核心类与接口;选项 D中 javautil 提供包含实用程序性质的语言支持类,如数据结构类、日期类、随机数类、属性类、观测器类等。所以 D正确。4.下列说法中,错误的一项是_。(分数:3.00)A.一个 Applet可以有多个类,但是继承 javapple
19、Applet的公有类只有一个B.一个 Applet只能由一个继承 javappleApplet类的公有类构成 C.Applet继承 javappleApplet类的公有类名必须和源文件名一致D.JApplet必须是 javSwinJApplet的子类解析:解析 一个 Applet可以有多个类,除了必须有的 Applet类的子类还可以有用户自定义的别的类。5.执行下列程序段之后,输出的结果是_。 public class Test8 public StatiC void main (String args) byte a=2; short b=3; long c=4; c=a%b*4%b; Sy
20、stem. out.println (c); (分数:3.00)A.2 B.1C.-2D.-1解析:解析 由于操作数中的 a是 byte类型,b 是 short类型,因此 a和 b按照 int类型进行计算;同时又由于变量 c是 long类型变量,因此所有的操作数都按照 long类型进行运算,结果为 long类型。又由于运算符*和%处于同一优先级别,因此按照从左到右的顺序进行运算,首先 a对 b 取模,得到 2,然后乘以 4得 8,最后对 b取模得到 2。6.paint()方法使用_类型的参数。(分数:3.00)A.Graphics B.Graphics2DC.ColorD.String解析:解
21、析 paint(Graphics)方法用于进行绘图的具体操作。选项 A正确。7.下面_组件可以不添加到容器中。(分数:3.00)A.Frame B.PanelC.TextFieldD.Button解析:解析 Panel 和 Frame一样,都是容器,也可以将组件和其他面板添加到 Panel中,与 Frame不同的是,Panel 对象必须被放入 Window和 Frame中才能可见,因此选项 B是错误的。TextField 和Button都是组件,必须添加到容器中,因此选项 C和 D都是错误的,只有选项 A是正确的。8.下列说法中错误的一项是_。(分数:3.00)A.监听器要处理某类型的事件,必
22、须实现该类事件相应的接口B.授权处理模型把事件的处理和事件源分开,将处理交付外部的处理实体进行C.在 Java中,每一个事件类都有一个与之相对应的接口D.监听器要处理某类型的事件,不一定必须实现与该类事件相应的接口 解析:解析 监听器要处理某类型的事什,必须实现与该类事件相应的接口,每一个事件类都有一个与之相对应的接口。9.下列生成文件对象的语句正确的是_。(分数:3.00)A.File dirObject=new File(“d:/mydir“);B.File fileObject1:newFile(Filetx;C.File fileObject1:newFile(“Filemt“); D
23、.File fileO均 ect2:newFile(“d:knydir“,File2tx;解析:解析 在生成文件对象的语句中,构造函数的参数,可以是路径名或文件名,也可以是路径和文件名。但这些参数必须用双引号括起来,而且,参数中目录和目录以及目录和文件名之间都需要使用“/”隔开,而不是用“/”隔开。所以选项 A中应将“/”改为“/”;选项 B 中应用双引号将Fileltxt 括起来;选项 D中应用双引号将 File2txt 括起来;选项 C正确。10.编译下面源程序会得到文件。 class A1 class A2 public class B public static void main(S
24、tring args) (分数:3.00)A.只有 class文件B.只有 A1class 和 A2class 文件C.有 A1class、A2class 和 class文件 D.编译不成功解析:解析 Java 语言一个源程序可以含有多个类,每个类编译都生成一个字节码文件。因此这里有 3个类,应该有 3个字节码文件。11.下列程序的执行结果是_。 public class Test9 public static void main(String args) String s1 = new String(“I am a girl“); String s2 = new String(“I am a
25、 girl“); System.out.println (s1. equal (s2); (分数:3.00)A.true B.falseC.I amgirlD.都不正确解析:解析 如果需要比较两个对象的值是否相同,则可以调用 equal()方法,如果被比较的两个对象相等,则返回 true,否则返回 false。12.下列方法中_是执行线程的方法。(分数:3.00)A.run() B.sleep()C.start()D.suspend()解析:解析 sleep()让线程睡眠一段时间,在此期间线程不消耗 CPU资源;start()是启动线程对象,使之从新建状态转入就绪状态:suspend()使线程
26、挂起,暂停执行,如果想恢复线程,必须由其他线程调用 resume()方法。13.在 Java语言中,_是基本的元素。(分数:3.00)A.包B.方法C.对象 D.接口解析:解析 作为面向对象的编程语言,Java 语言中最基本的元素就是对象,一切概念都是以对象为基础的,因此选项 C正确。14.下列关于基本数据类型的说法中,不正确的一项是_。(分数:3.00)A.float是带符号的 32位浮点数B.boolean是 Java特殊的内置值,或者为真或者为假C.double是带符号的 64位浮点数D.char 是 8位 Unicode字符 解析:解析 char 应该是 16位 Unicode字符。因
27、此答案为 D。15.下列说法中,错误的是_。(分数:3.00)A.Java虚拟机屏蔽了具体平台相关的信息B.Java虚拟机是实现 Java语言与平台的无关性这一特点的关键C.引入 Java虚拟机后,Java 语言在不同平台上运行时,仍需要重新编译 D.Java虚拟机在实际的计算机上通过软件模拟或硬件来实现解析:解析 Java 虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行,所以不需要重新编译。16.下列有关线程的叙述_是正确的。(分数:3.00)A.一旦一个线程被创建,它就立即开始运行B.调用 start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行 C.主线程不具
28、有默认优先级D.Java中线程的优先级从低到高以整数 09 表示解析:解析 一个新创建的线程并不是自动开始运行的,必须调用它的 start()方法使之将线程放入可运行态。不同优先级的线程间是抢先式的,而同级线程间是轮转式的。主线程具有默认优先级。Java 中线程的优先级从低到高以整数 110 表示,分 10级。17.下面语句执行后,i 的值是_。 public class Test11 public static void main(String args) int i=0; for( int j=10; j5 j-=3,i+=2 ) i=i+j; System. out.println (i
29、); (分数:3.00)A.10B.9C.8D.12 解析:解析 变量 i和 j的初始值分别为 0和 10,判断结束条件 j5 import java.util.*; import java.io.*; class C15_ public iht a; public void setInt(int newa) a = newa; public class Testl5 pulibc static void main(String args) C15 obj = new C15(); try FileOutputStream fos =newFileOutputStream(“ch2/filel
30、5.txt“); ObjectOutputStream oos = ObjectOutputStream(fos); Obj.setInt(10); oos.writeObject(obj); oos.close (); fos.close(); catch(IOException ioe) ioe.printStackTrace(); (分数:3.00)A.implements RunnableB.implements Sedalizable C.extends SerializableD.implements InputStream解析:解析 类 C15必须实现 Serializable接
31、口,否则无法进行对象流的写入。23.下列关于自动类型转换的说法中,正确的一个是_。(分数:3.00)A.int类型数据可以被自动转换为 char类型数据B.char类型数据可以被自动转换为 int类型数据 C.long类型数据可以被自动转换为 short类型数据D.boolean类型数据不可以做自动类型转换,但是可以做强制转换解析:解析 根据自动类型转换的优先级顺序,int 类型不可以自动转换为 char类型,long 类型也不可以自动转换为 short类型,boolean 只有 true和 false两个值,不能做类型转换,包括自动和强制。24.当退出当前主页时,浏览器调用_方法终止 sta
32、rt()方法中启动的线程。(分数:3.00)A.destroy()B.init()C.stop() D.paint()解析:解析 和 start()方法相对应,当用户离开 Applet所在页面或者是浏览器变成图标时,系统都会调用 stop()方法,因此选项 C正确。25.面向对象程序设计有许多特性,下列选项中,_用来尽可能隐藏对象的,内部细节。(分数:3.00)A.动态性B.多态性C.封装性 D.继承解析:解析 选项 A错误,面向对象用于不断发展的环境中,它能包含新的功能,因而必须是动态的。选项 B错误,多态性可以反映出被特殊类继承后的一般属性或行为,可以具有不同的数据类型或表现出不同的行为。
33、选项 C正确,封装性是指把数据隐藏在对象中,使除了该对象的方法以外的任何方法都不能使用这些数据,从而保障数据的健壮性。选项 D错误,继承性是指可以充分利用已有的代码资源衍生出新的对象和方法。二、B填空题/B(总题数:10,分数:20.00)26.Java语言对内存采用U 【1】 /U机制,有效地防止了因程序员误操作而引起的错误, 并更好地利用了系统资源。(分数:2.00)填空项 1:_ (正确答案:垃圾回收)解析:解析 在 Java语言中,由编译器自行检查与管理程序内所用的对象与内存资源等,在系统空闲时,将程序中不再使用的内存与对象予以回收。27.Java开发环境设置包括U 【2】 /U设置和
34、 calsspa出设置。(分数:2.00)填空项 1:_ (正确答案:path)解析:解析 path 的设置是 JDK的一些可执行文件的存储路径。对于 J2SE v1.4来说,若 JDK安装在C2sdk1.4.0目录下,则所有的命令文件(如 javac、java、appletviewer 等)均放在 C:/i2sdk1.4.0/bin 子目录下,所以 path的设置即为 C:/j2sdk1.4.0。这样,在执行某个命令时,系统会自动到如上所设置路径去寻找相应的命令文件。28.关键字U 【3】 /U表明一个变量在初始化后不能被修改。(分数:2.00)填空项 1:_ (正确答案:final)解析:
35、解析 在成员变量声明中,关键字 final用来声明一个常量。用 final限定的常量,也称为最终变量。一旦成员变量被声明为 final,那么就作为一个常量,在程序运行中将不能被修改,否则将产生编译错误。29.U【4】 /U类型数据不可以做类型转换。(分数:2.00)填空项 1:_ (正确答案:boolean)解析:解析 布尔类型数据只有 2个值;true 和 false,因此不可以和其他简单类型数据进行转换。30.凡生成 SbingBuRer一个对象后,还可用U 【5】 /U方法或 ensureCapacity()方法设定缓存大小。(分数:2.00)填空项 1:_ (正确答案:setLengt
36、h())解析:解析 此题考查 StringBuffer字符串的知识,生成 String,Buffer一个对象后可用 setLength()或 ensureCapacity()方法设定缓存大小,并保证其数组元素的初值都为 0。31.若要强行中止线程的运行可调用U 【6】 /U方法。(分数:2.00)填空项 1:_ (正确答案:stop())解析:解析 当线程完成运行并结束后,将不能再运行。除了线程正常运行结束外,还可以用 stop()方法控制其停止。stop()方法是类 Thread的方法,也是线程调度的一种方法,它可以使线程本身停止执行。但编程时不提倡采用这种方法,容易造成线程的不一致。32.
37、若要在 D盘根目录下生成一个名为 mydir的文件夹,请在下面横线处填入代码完成此程序。 import java.io.*; public class FileTest public static void main(String args) U 【7】 /U File fileObject1 = new File(“Filel.txt“); File fileObject2 = new File(“d:/mydir“, “File2.txt“); System.out.println(fileObject2); try dirObject.mkdir(); catch(SecurityExc
38、eption e) try fileObject1.createNewFile(); fileObject2.createNewFilei); catch(IOException e) (分数:2.00)填空项 1:_ (正确答案:FiledirObject=new File(“d:/mydir”);)解析:解析 本程序将在当前文件夹中生成一个名为 Fileltxt 的文件,在 D盘里生成一个名为 mydir的文件夹,并在该文件夹生成一个名为 File2txt 的文件,最后输出文件 File2txt 的完整路径。程序中生成了三个文件对象 dirObject、fileObject1 和 file
39、Object2,在对 dirObject进行初始化时,因为参数为绝对路径,所以调用 mkdir()方法,这样就在参数指定的路径中生成一个名为 mydir的文件夹;对fileObjectl进行实例化时,参数为相对路径,所以后面调用的是 createNewFile()方法,程序运行后就会在当前路径下生成参数中指定的文件;fileObject2 实例化后,调用 creatNewFile()方法,程序在参数第一个字符串变量指定的文件夹中创建一个文件,该文件的名称和相对路径由参数的第二个字符串变量指定。33.Java语言中提供了U 【8】 /U来管理组件在容器中的布局。(分数:2.00)填空项 1:_
40、(正确答案:布局管理器)解析:解析 图形用户界面编程主要包括 3个方面:组件的创建、布局管理和事件处理。布局管理器管理组件在容器中的布局。34.传递给实现了 javaawteventMouseMotionListener 接口的类中 mouse Dragged()方法的事件对象是,U 【9】 /U类。(分数:2.00)填空项 1:_ (正确答案:MouseEvent)解析:解析 MouseEvent 鼠标事件实现鼠标单击、释放、拖动、移动等。35.Applet类中用于返回包含 Applet的 HTML文件的 URL方法是U 【10】 /U。(分数:2.00)填空项 1:_ (正确答案:getDocumentBase())解析:解析 getDocumentBase0 方法属于 HTML标记方法,用于获取包含 Applet的 HTML文件的 URL。