1、二级 JAVA 笔试-65 及答案解析(总分:75.00,做题时间:90 分钟)一、选择题(总题数:25,分数:50.00)1.执行下列程序段之后,变量 b 的值为_。public class Test9public static void main(String args)int i=12;int j=24;boolean b1=true;boolean b=(j%i= 0)System.out.println(b);(分数:2.00)A.trueB.falseC.1D.02.public abstract Applet get Applet(Stfing name)可以实现_。(分数:2.
2、00)A.同页 Applet 间通信B.Applet 的网络通信C.Applet 和浏览器间通信D.以上三种通信都能实现3.下列_选项是 javaxswingJApplet 的父类。(分数:2.00)A.javaawtpanelB.javaappletAppletC.javaawtWindowD.javaawtframe4.监听事件和处理事件_。(分数:2.00)A.都是由 Listener 完成B.都由相应事件 Listener 处登记过的组件完成C.由 Listener 和窗口分别完成D.由 Listener 和组件分别完成5.在 Applet 的关键方法中,下列_方法是关闭浏览器以释放
3、Applet 占用的所有资源。(分数:2.00)A.init()B.start()C.paint()D.destroy()6.下列循环执行的次数是_。int y=2, x=4;while(-x!=x/y )(分数:2.00)A.2 次B.1 次C.3 次D.0 次7.下列_操作是 Applet 可以做的。(分数:2.00)A.访问客户端系统的一部分信息B.访问客户端的文件系统C.在客户端访问电子邮件地址D.在客户端调用本地动态链接库8.下列关于对象的说法错误的是_。(分数:2.00)A.一个对象就是变量和相关方法的集合B.任何事物都是对象,是某一个对象类的一个元素。可将对象普遍具有的特征概括为
4、状态和行为C.对象通过成员变量来维持其状态,通过方法实现其行为D.一个对象的方法构成这个对象的核心,变量包围着方法,将这个对象和其他对象分离开来9.下列选项中,属于 Java 语言的代码安全检测机制的一项是_。(分数:2.00)A.动态链接B.访问权限的检查C.通过接口实现多重继承D.将所有的 Java 应用都看作对象,按类进行封装10.下列叙述中不正确的是_。(分数:2.00)A.Java 是新一代编程语言,具有很多优点:简单、面向对象、可移植、与硬件无关、强健安全、具有很高的性能,此外还对多线程、动态性提供了支持B.Java 是一种跨平台的面向对象的语言C.Java 语言支持多线程。多线程
5、使得应用程序可以同时进行相同的操作,处理多个同一的事件D.Java 解释器生成与体系结构无关的字节码结构的文件格式,只需提供相应的 Java 运行系统,程序便能在任何种类的处理器上运行11.下列说法中错误的一项是_。(分数:2.00)A.Swing 构件支持双缓冲区,编写程序的时候不需要重写有关的代码B.AWT 构件支持双缓冲区,编写程序的时候不需要重写有关的代码C.AWT 构件不支持在按钮构件上添加图标D.Swmg 构件支持在按钮构件上同时添加图标和文字12.下列对于二元算术运算表达式的说法中,正确的一个是_。(分数:2.00)A.若两个操作数都是 float 型,则表达式结果为 float
6、 型B.若两个操作数都是 float 型,则表达式结果为 double 型C.若一个操作数是 float 型,另一个操作数是 double 型,则表达式结果为 float 型D.若一个操作数是 float 型,另一个操作数是血型,则表达式结果为 int 型13.下列_选项不是 InputStream 类中的方法。(分数:2.00)A.public abstract int read() throws IOExceptionB.public final void writeInt (int V)throws IOExceptionC.public int available() throws I
7、OExceptionD.public void close() throws IOException14.在下列事件处理机制中,_不是机制中的角色。(分数:2.00)A.事件源B.事件C.事件接3D.事件处理者15.下列程序的输出结果是_。public class Test10public static void main(String args)char c1=B,c2=c;if(c1 + 1c2 ) +c1;System.out.println(c1);(分数:2.00)A.BB.bC.CD.c16.param 可选标记指定 applet 外部参数,applet 通过_方法可以获得所给属性
8、值。(分数:2.00)A.getDocumentBase()B.getCodeBase()C.getParameter()D.showDocument(URLurlObj)17.下列程序的执行结果是_。class A5 extends Threadboolean b;A5 (boolean bb)b = bb;public void run()System.out.println(this.getName() + “运行“);public class Testl5public static void main(String args)A5 a1 = new A5(true);A5 a2 = n
9、ew A5(false);if(a1.b)A1. start();if (a2 .b)A2.start();(分数:2.00)A.Thread-0B.Thread-1C.Thread-0D.Thread-1Thread-1 Thread-018.Socket 的工作流程是_。打开连接到 Socket 的输入/输出按某个协议对 Socket 进行读/写操作创建 Socket关闭 Socket(分数:2.00)A.B.C.D.19.下列对整型常量定义的解释中,正确的一项是_。(分数:2.00)A.034 代表八进制的数 1CB.034 代表十进制的数 34C.034 代表十六进制的数 28D.34
10、L 代表值为 34 的 64 位长整数20.下列 APl 不属于 Jav(分数:2.00)A.langMath 类的一个是_。Arandom()Ba21.下列说法正确的是_。(分数:2.00)A.即使高优先级的线程调用 slee()方法睡眠时,低优先级的线程也没有办法获得处理器资源B.一个暂时终止运行的线程,在排除了终止原因后直接运行C.一个正在执行的线程使用 yield()方法将处理器让出给同优先级的其他线程D.调用 suspend()方法暂停自己的线程,也可以自行调用 resume()方法恢复自身22.下列数据流中,属于输入流的一项是_。(分数:2.00)A.从内存流向硬盘的数据流B.从键
11、盘流向内存的数据流C.从网络流向显示器的数据流D.从键盘流向显示器的数据流23.下列说法中错误的一项是_。(分数:2.00)A.当线程需要在 synchronized 块中等待共享数据状态改变时,则需要调用 wait()方法B.当线程需要在 synchronized 块中等待共享数据状态改变时,则需要调用 notify()方法C.wait()和 notify()可以实现线程的同步操作D.线程在 synchronized 块中执行完操作后,调用 notify()方法通知正在等待的线程重新占有锁24.下列描述中正确的一项是_。(分数:2.00)A.标识符首字符的后面可以跟数字B.标识符不区分大小写
12、C.数组属于基本数据类型D.复合数据类型变量包括布尔型、字符型和浮点型25.Java 语言中的调试器是_。(分数:2.00)A.javacB.javaC.jdbD.javap二、填空题(总题数:10,分数:25.00)26.Java 程序的编译和执行模式包括 2 点,是 【1】 和半解释。(分数:2.50)填空项 1:_27.面向对象编程的三个基本特征是 【2】 、继承性和多态性。(分数:2.50)填空项 1:_28. 【3】 保留字用于定义常值变量,声明该变量以后不会改变。(分数:2.50)填空项 1:_29.continue 语句必须使用于 【4】 中(分数:2.50)填空项 1:_30.
13、任何从 【5】 派生的类都可以用 throw 语句抛出,抛出异常用来表明程序遇到的错误无法正常执行而需要异常处理。(分数:2.50)填空项 1:_31.线程生命周期有几种状态,分别是创建状态、可运行状态、 【6】 、不可运行状态和死亡状态。(分数:2.50)填空项 1:_32.请在下面横线处填入适当的代码,将线程对象 runner2的优先级设置为最高。class ThreadTest extends Threadpublic static void main(String args)ThreadTest runner = new ThreadTest4;for(int j = 0; j4; j
14、+) runnerj = new ThreadTest();for(int j = 0; j4; j+) runnerj.start();【7】 runner3.setPriority(MIN_PRIORITY);public void run)for(int i = 0; i100000; i+);System.out.println(getName() + “线程的优先级是:“+ getPriority() + “计算完毕“);(分数:2.50)填空项 1:_33.在 Java 程序中,run()方法的实现方式有两种,是 【8】 和继承 Thread 类。(分数:2.50)填空项 1:_3
15、4.使用 AWT 和 Swing 编写的图形用户界面,首先要考虑的问题是如何将 【9】 放入界面。(分数:2.50)填空项 1:_35.Java Applet 不能直接运行,必须编写 【10】 文件,将 Applet 嵌入其中。(分数:2.50)填空项 1:_二级 JAVA 笔试-65 答案解析(总分:75.00,做题时间:90 分钟)一、选择题(总题数:25,分数:50.00)1.执行下列程序段之后,变量 b 的值为_。public class Test9public static void main(String args)int i=12;int j=24;boolean b1=true
16、;boolean b=(j%i= 0)System.out.println(b);(分数:2.00)A.trueB.false C.1D.0解析:解析 表达式执行次序为:首先做!b1 得到 false:然后做 j%i=0 得到 true;再做 j/i!=2 得到false:然后做while(-x!=x/y )(分数:2.00)A.2 次B.1 次C.3 次 D.0 次解析:解析 首先判断终止条件,-x 之后,x=3,x/y=1,满足条件,执行第一次循环;再判断终止条件,-x 之后,x=2,x/y=1,满足条件,执行第二次循环:再判断终止条件,-x 之后, x=1,x/y=0,满足条件,执行第三
17、次循环;再判断终止条件,-x 之后,x=0,x/y=0,不满足条件,退出循环;因此一共执行了 3 次循环。7.下列_操作是 Applet 可以做的。(分数:2.00)A.访问客户端系统的一部分信息 B.访问客户端的文件系统C.在客户端访问电子邮件地址D.在客户端调用本地动态链接库解析:解析 Applet 在客户端运行时,受到了安全限制,一部分系统信息之外的敏感信息都不可以访问,比如电子邮件地址、文件系统和动态链接库都不能直接访问。8.下列关于对象的说法错误的是_。(分数:2.00)A.一个对象就是变量和相关方法的集合B.任何事物都是对象,是某一个对象类的一个元素。可将对象普遍具有的特征概括为状
18、态和行为C.对象通过成员变量来维持其状态,通过方法实现其行为D.一个对象的方法构成这个对象的核心,变量包围着方法,将这个对象和其他对象分离开来 解析:解析 选项 A、B 和 C 的说法均正确。一个对象就是变量和相关方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为。对象占有存储空间,给对象分配空间就确定了给定时刻对象的状态,而与每个对象相关的方法定义了该对象上的操作。一个对象的变量构成这个对象的核心,方法包围着变量,将这个对象和其他对象分离开来,即隐藏该对象,使外界不可见。选项 D 正好相反,故错误。9.下列选项中,属于 Java 语言的代码安全检测机制的一项是_。(分数:2.00)
19、A.动态链接B.访问权限的检查 C.通过接口实现多重继承D.将所有的 Java 应用都看作对象,按类进行封装解析:解析 选项 A 错误,动态链接是 JVM 的一个重要特点;选项 C 错误,接口是用来实现多重继承的一种方法,Java 通过这种方法来提高类继承的灵活性和扩展性:选项 D 错误,用类把 Java 的所有应用封装起来,是面向对象的基本思想;选项 B 正确;访问权限是解释器在解释执行 Java 程序时进行检查的,属于 Java 安全机制。10.下列叙述中不正确的是_。(分数:2.00)A.Java 是新一代编程语言,具有很多优点:简单、面向对象、可移植、与硬件无关、强健安全、具有很高的性
20、能,此外还对多线程、动态性提供了支持B.Java 是一种跨平台的面向对象的语言C.Java 语言支持多线程。多线程使得应用程序可以同时进行相同的操作,处理多个同一的事件 D.Java 解释器生成与体系结构无关的字节码结构的文件格式,只需提供相应的 Java 运行系统,程序便能在任何种类的处理器上运行解析:解析 选项 C 错误,多线程是 Java 的一个主要特性,使可执行程序具有同时保持几个线程的执行的能力。不要把它与多任务混淆。多任务是指操作系统可以同时运行多个程序,而多线程可允许应用程序同时做几个不同的操作,处理多个不同的事件。11.下列说法中错误的一项是_。(分数:2.00)A.Swing
21、 构件支持双缓冲区,编写程序的时候不需要重写有关的代码B.AWT 构件支持双缓冲区,编写程序的时候不需要重写有关的代码 C.AWT 构件不支持在按钮构件上添加图标D.Swmg 构件支持在按钮构件上同时添加图标和文字解析:解析 Swing 构件支持双缓冲区,JComponent 构件默认双缓冲区,但是 AWT 构件不支持,需要重写代码。12.下列对于二元算术运算表达式的说法中,正确的一个是_。(分数:2.00)A.若两个操作数都是 float 型,则表达式结果为 float 型 B.若两个操作数都是 float 型,则表达式结果为 double 型C.若一个操作数是 float 型,另一个操作数
22、是 double 型,则表达式结果为 float 型D.若一个操作数是 float 型,另一个操作数是血型,则表达式结果为 int 型解析:解析 选项 B 中,若两个操作数都是 float 型,则结果应该还是 float 型;选项 C 中,若操作数中一个是 float 型,一个是 double 型,则结果应该是 double 型;选项 D 中,若操作数中一个是 float 型,一个是 int 型,表达式结果应该是 float 型。13.下列_选项不是 InputStream 类中的方法。(分数:2.00)A.public abstract int read() throws IOExcepti
23、onB.public final void writeInt (int V)throws IOException C.public int available() throws IOExceptionD.public void close() throws IOException解析:解析 选项 B 中的 public final void writeInt(int v) throws IOException 方法是OutputStream 类中的方法。14.在下列事件处理机制中,_不是机制中的角色。(分数:2.00)A.事件源B.事件C.事件接3 D.事件处理者解析:解析 在事件处理的过程中
24、,主要涉及 3 类对象:事件、事件源、事件处理者,因此选项 C 是正确的。15.下列程序的输出结果是_。public class Test10public static void main(String args)char c1=B,c2=c;if(c1 + 1c2 ) +c1;System.out.println(c1);(分数:2.00)A.BB.bC.C D.c解析:解析 在程序中,c1 和 c2 均为 char 类型的变量,判断条件 c1+1c2 执行过程是:在 Unicode字符集中找到字符B的下一个字符,即C。再将字符C和字符c的索引值做比较,在Unicode 字符集中,C的索引值
25、小于C的索引值,因此条件表达式为 true,条件分支 +c1;将被执行,因此 c1 的值变为B的下一个字符C。16.param 可选标记指定 applet 外部参数,applet 通过_方法可以获得所给属性值。(分数:2.00)A.getDocumentBase()B.getCodeBase()C.getParameter() D.showDocument(URLurlObj)解析:解析 param name=appletAttribute 1 value=val可选标记指定 applet 外部参数,applet通过 getParameter()方法可以获得所给属性值。17.下列程序的执行结果
26、是_。class A5 extends Threadboolean b;A5 (boolean bb)b = bb;public void run()System.out.println(this.getName() + “运行“);public class Testl5public static void main(String args)A5 a1 = new A5(true);A5 a2 = new A5(false);if(a1.b)A1. start();if (a2 .b)A2.start();(分数:2.00)A.Thread-0 B.Thread-1C.Thread-0D.Th
27、read-1Thread-1 Thread-0解析:解析 类 A5 继承了 Thread 类,并且重写了 Thread 类的 run()方法,调用本线程的 getName()方法打印出系统给本线程定义的名称。在 main()方法中,a1 和 a2 是 A5 的对象,它们对应的系统默认的线程名称分别是 Thread0 和 Thread1,根据类 A5 的类变量 b 的布尔值控制哪一个线程调用 start()方法,这里应该是 a1 线程被调度执行。18.Socket 的工作流程是_。打开连接到 Socket 的输入/输出按某个协议对 Socket 进行读/写操作创建 Socket关闭 Socket
28、(分数:2.00)A.B.C. D.解析:解析 Socket 工作过程分为四步,分别是创建 Socket,打开连接到 Socket 的输入/输出,按某个协议对 Socket 进行读/写操作,关闭 Socket。19.下列对整型常量定义的解释中,正确的一项是_。(分数:2.00)A.034 代表八进制的数 1CB.034 代表十进制的数 34C.034 代表十六进制的数 28D.34L 代表值为 34 的 64 位长整数 解析:解析 034 应该表示八进制的数 34,十进制的数 3*8+4=28,十六进制的数 1C(十进制数 28 除以16 得到 1 并且余 12,12 以十六进制表示应该是 C
29、,因此得到 1C),34L 表示 long 整型的数 34。因此正确答案为 D。20.下列 APl 不属于 Jav(分数:2.00)A.langMath 类的一个是_。Arandom()Ba解析:解析 选项 A,random()方法是 javalangMath 类中给出的求随机数的方法;选项 B,abs()方法是 javalangMath 类提供的求绝对值的方法;选项 D,sin()方法是 javalangMath 类提供的求正弦函数的方法;选项 C,是 Graphics 类提供的画直线的方法。21.下列说法正确的是_。(分数:2.00)A.即使高优先级的线程调用 slee()方法睡眠时,低优
30、先级的线程也没有办法获得处理器资源B.一个暂时终止运行的线程,在排除了终止原因后直接运行C.一个正在执行的线程使用 yield()方法将处理器让出给同优先级的其他线程 D.调用 suspend()方法暂停自己的线程,也可以自行调用 resume()方法恢复自身解析:解析 线程调用 sleep()方法后,相同优先级的线程和低优先级的线程都将获得可执行的机会,所以选项 A 错误。yield()方法使当前线程暂停执行,以允许其他线程执行。调用 yield()方法后,线程仍处于可运行状态,此时,可以选择其他已进入可运行状态且优先级相同的线程执行。若无同优先级线程,当前线程会继续执行,所以选项 C 正确
31、。调用 suspend()方法使线程暂停执行,由可运行状态切换到不可运行状态,要想恢复执行必须由其他线程而非自身来调用 resume()方法,所以选项 B 和 D 错误。22.下列数据流中,属于输入流的一项是_。(分数:2.00)A.从内存流向硬盘的数据流B.从键盘流向内存的数据流 C.从网络流向显示器的数据流D.从键盘流向显示器的数据流解析:解析 常用的外部设备一般包括:键盘、显示器、硬盘、扫描仪、打印机和网络等。而中央处理器通常包括控制器和内存。输入流是指由外设流向中央处理器的数据流,因此只有选项 B 从键盘外设流向内存的数据流是输入流。选项 C 和选项 D 都是从外设流向外设的数据流,这
32、一般是经过了先输入,再输出的过程,因此不属于输入流。23.下列说法中错误的一项是_。(分数:2.00)A.当线程需要在 synchronized 块中等待共享数据状态改变时,则需要调用 wait()方法B.当线程需要在 synchronized 块中等待共享数据状态改变时,则需要调用 notify()方法 C.wait()和 notify()可以实现线程的同步操作D.线程在 synchronized 块中执行完操作后,调用 notify()方法通知正在等待的线程重新占有锁解析:解析 线程调用 wait()方法,进入等待状态,并且暂时释放共享数据的对象锁,其他的线程可以获得该对象锁,进入临界区进
33、行操作,操作完成之后,再调用 notify()方法通知等待的线程重新占有锁,这样就实现了线程的同步操作。24.下列描述中正确的一项是_。(分数:2.00)A.标识符首字符的后面可以跟数字 B.标识符不区分大小写C.数组属于基本数据类型D.复合数据类型变量包括布尔型、字符型和浮点型解析:解析 选项 B 错误,Java 语言标识符应该是区分大小写的;选项 c 错误,数组应该属于复合数据类型;选项 D 错误,复合数据类型应该包括数组、类和接口;选项 A 正确,标识符首字符的后面可以跟数字、字母、下划线和美元符号。25.Java 语言中的调试器是_。(分数:2.00)A.javacB.javaC.jd
34、b D.javap解析:解析 选项 A 中 javac 是 Java 编译器;选项 B 中 java 是 Java 解释器;选项 D 中 javap 是 Java类文件解析器;只有选项 C 中 jdb 是 Java 程序的调试器。二、填空题(总题数:10,分数:25.00)26.Java 程序的编译和执行模式包括 2 点,是 【1】 和半解释。(分数:2.50)填空项 1:_ (正确答案:半编译)解析:解析 Java 程序首先由编译器编译成字节码文件,然后再由 JVM 解释器解释执行字节码文件。由于编译和解释有先后,所以称为半编译和半解释,一般都认为 Java 语言是解释执行的。27.面向对象
35、编程的三个基本特征是 【2】 、继承性和多态性。(分数:2.50)填空项 1:_ (正确答案:封装性)解析:解析 面向对象编程的基本特征在于其封装性和继承性,通过封装能将对象的定义和对象的实现分开,通过继承能体现类与类之间的关系,由此引出其多态性。封装是一种信息隐蔽技术,用户只可以看到对象封装界面上的信息,对象内部对用户是隐蔽的。封装的目的在于将对象的使用者和设计者分开。使用者不必知道对象内部的实现细节,只需要使用设计者提供的信息来访问该对象就可以了。28. 【3】 保留字用于定义常值变量,声明该变量以后不会改变。(分数:2.50)填空项 1:_ (正确答案:final)解析:解析 final
36、 是 Java 语言的保留字,它用来定义一个永远不会改变的变量,如:final int a=1;语句中的变量 a 的值将不会再改变。29.continue 语句必须使用于 【4】 中(分数:2.50)填空项 1:_ (正确答案:循环语句)解析:解析 continue 语句有两种形式,一种是不带标签的,作用是终止当前这一轮循环,跳过下面的语句,直接进入下一轮循环;一种是带标签的,作用是直接转入标签所标识的循环层次。这两种形式都是对循环语句而言的,因此 continue 语句必须使用于循环语句中。30.任何从 【5】 派生的类都可以用 throw 语句抛出,抛出异常用来表明程序遇到的错误无法正常执
37、行而需要异常处理。(分数:2.50)填空项 1:_ (正确答案:Throwable)解析:解析 Throwable 是基类,由它派生出 Error 和 Exception 类,可以抛出的异常都是通过继承这个类实现的。31.线程生命周期有几种状态,分别是创建状态、可运行状态、 【6】 、不可运行状态和死亡状态。(分数:2.50)填空项 1:_ (正确答案:运行状态)解析:解析 线程创建后,就开始了它的生命周期。在不同的生命阶段线程有不同的状态。对线程调用各种控制方法,就使线程从一种状态转换为另一种状态。其中,运行状态是线程占有 CPU 并处于运行中的状态。32.请在下面横线处填入适当的代码,将线
38、程对象 runner2的优先级设置为最高。class ThreadTest extends Threadpublic static void main(String args)ThreadTest runner = new ThreadTest4;for(int j = 0; j4; j+) runnerj = new ThreadTest();for(int j = 0; j4; j+) runnerj.start();【7】 runner3.setPriority(MIN_PRIORITY);public void run)for(int i = 0; i100000; i+);Syste
39、m.out.println(getName() + “线程的优先级是:“+ getPriority() + “计算完毕“);(分数:2.50)填空项 1:_ (正确答案:nmner2lsetPriority(MAX_PRIORITY);)解析:解析 程序中定义了一个 ThreadTest 类,在此类中声明四个线程对象 runner1、runner2、 runner3和 runner4,并对这四个线程进行初始化和启动,然后将 runner2的优先级设置为最高,runner3的优先级设置为最低。线程对象 runner1和 runner4的优先级未进行设置,故采用默认优先级。在 run()方法输出线
40、程运行信息和优先级。33.在 Java 程序中,run()方法的实现方式有两种,是 【8】 和继承 Thread 类。(分数:2.50)填空项 1:_ (正确答案:实现 Runnable 接口)解析:解析 由于 Thread 类构造函数的 target 参数可以是任何实现了 Runnable 接口的对象,同时Thread 类本身也实现了 Runnable 接口,因此有这两种方式实现 rurl()方法。34.使用 AWT 和 Swing 编写的图形用户界面,首先要考虑的问题是如何将 【9】 放入界面。(分数:2.50)填空项 1:_ (正确答案:构件)解析:解析 编写好的图形用户界面程序要注意 3 点思路:一是如何在界面中放置构件;二是如何让构件响应用户的操作;三是如何掌握构件的显示效果和响应。35.Java Applet 不能直接运行,必须编写 【10】 文件,将 Applet 嵌入其中。(分数:2.50)填空项 1:_ (正确答案:HTML)解析:解析 由于 Java Applet 中没有 main()方法作为程序的入口,不能使用 java 命令运行该程序,必须编写 HTML 文件,将 Application 嵌入其中,然后用 appletviewer 来运行。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1