1、国家二级( JAVA)笔试模拟试卷 66及答案与解析 1 下列叙述中不正确的是 _。 ( A) Java是新一代编程语言,具有很多优点:简单、面向对象、可移植、与硬件无关、强健安全、具有很高的性能,此外还对多线程、动态性提供了支持 ( B) Java是一种跨平台的面向对象的语言 ( C) Java语言支持多线程。多线程使得应用程序可以同时进行相同的操作,处理多个同一的事件 ( D) Java解释器生成与体系结构无关的字节码结构的文件格式,只需提供相应的Java运行系统,程序便能在任何种类的处理器上运行 2 下列选项中,属于 Java语言的代码安全检测机制的一项是 _。 ( A)动态链接 ( B
2、)访问权限的检查 ( C)通过接口实现多重继承 ( D)将所有的 Java应用都看作对象,按类进行封装 3 下列 APl不属于 Java lang Math类的一个是 _。 ( A) random() ( B) abs() ( C) drawLine() ( D) sin() 4 Java语言中的调试器是 _。 ( A) javac ( B) java ( C) jdb ( D) javap 5 下列关于 对象的说法错误的是 _。 ( A)一个对象就是变量和相关方法的集合 ( B)任何事物都是对象,是某一个对象类的一个元素。可将对象普遍具有的特征概括为状态和行为 ( C)对象通过成员变量来维持
3、其状态,通过方法实现其行为 ( D)一个对象的方法构成这个对象的核心,变量包围着方法,将这个对象和其他对象分离开来 6 下列描述中正确的一项是 _。 ( A)标识符首字符的后面可以跟数字 ( B)标识符不区分大小写 ( C)数组属于基本数据类型 ( D)复合数据类型变量包括布尔型、字符型和浮点型 7 下列对整型常量定义的解释中,正确的一项是 _。 ( A) 034代表八进制的数 1C ( B) 034代表十进制的数 34 ( C) 034代表十六进制的数 28 ( D) 34L代表值为 34的 64位长整数 8 下列对于二元算术运算表达式的说法中,正确的一个是 _。 ( A)若两个操作数都是
4、float型,则表达式结果为 float型 ( B)若两个操作数都是 float型,则表达式结果为 double型 ( C)若一个操作数是 float型,另一个操作数是 double型,则表达式结果为 float型 ( D)若一个操作数是 float型,另一个操作数是血型,则表达式结果为 int型 9 执行下列程序段之后,变量 b的值为 _。 public class Test9 public static void main(String args) int i=12; int j=24; boolean b1=true; boolean b=(j%i= 0) System.out.prin
5、tln(b); ( A) true ( B)假 ( C) 1 ( D) 0 10 下列程序的输出结果是 _。 public class Test10 public static void main(String args) char c1=B,c2=c; if(c1 + 1 c2 ) +c1; System.out.println(c1); ( A) B ( B) b ( C) C ( D) c 11 下列循环执行的次数是 _。 int y=2, x=4; while(-x!=x/y ) ( A) 2次 ( B) 1次 ( C) 3次 ( D) 0次 12 下列数据流中,属于输入流的一项是 _
6、。 ( A)从内存流向硬盘的数据流 ( B)从键盘流向内存的数据流 ( C)从网络流向显示器的数据流 ( D)从键盘流向显示器的数据流 13 下列 _选项不是 InputStream类中的方法。 ( A) public abstract int read() throws IOException ( B) public final void writeInt (int V)throws IOException ( C) public int available() throws IOException ( D) public void close() throws IOException 14
7、 下列说法中错误的一项是 _。 ( A)当线程需要在 synchronized块中等待共享数据状态改变时,则需要调用 wait()方法 ( B)当线程需要在 synchronized块中等待共享数据状态改变时,则需要调用notify()方法 ( C) wait()和 notify()可以实现线程的同步操作 ( D)线程在 synchronized块中执行完操作后,调用 notify()方法通知正在等待的线程重新占有锁 15 下 列程序的执行结果是 _。 class A5 extends Thread boolean b; A5 (boolean bb) b = bb; public void
8、run() System.out.println(this.getName() + “运行 “); public class Testl5 public 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(); ( A) Thread-0 ( B) Thread-1 ( C) Thread-0 ( D) Thread-1 Thread-1 Thread-0 16 下列说法正确的是 _。 ( A)即使高优先级的线程调用
9、 slee()方法睡眠时,低优先级的线程也没有办法获得处理器资源 ( B)一个暂时终止运行的线程,在排除了终止原因后直接运行 ( C)一个正在执行的线程使用 yield()方法将处理器让出给同优先级的其他线程 ( D)调用 suspend()方法暂停自己的线程,也可以自行调用 resume()方法恢复自身 17 监听事件和处理事件 _。 ( A)都是由 Listener完成 ( B)都由相应事件 Listener处登记过的组件完成 ( C)由 Listener和窗口分别完成 ( D)由 Listener和组件分别完成 18 在下列事件处理机制中, _不是机制中的角色。 ( A)事件源 ( B)
10、事件 ( C)事件接 3 ( D)事件处理者 19 下列说法中错误的一项是 _。 ( A) Swing构件支持双缓冲区,编写程序的时候不需要重写有关的代码 ( B) AWT构件支持双缓冲区,编写程序的时候不需要重写有关的代码 ( C) AWT构件不支持在按钮 构件上添加图标 ( D) Swmg构件支持在按钮构件上同时添加图标和文字 20 下列 _选项是 javax swing JApplet的父类。 ( A) java awt panel ( B) java applet Applet ( C) java awt Window ( D) java awt frame 21 在 Applet的关
11、键方法中,下列 _方法是关闭浏览器以释放 Applet占用的所有资源。 ( A) init() ( B) start() ( C) paint() ( D) destroy() 22 下列 _操作是 Applet可以做的。 ( A)访问客户端系统的一部分信息 ( B)访问客户端的文件系统 ( C)在客户端访问电子邮件地址 ( D)在客户端调用本地动态链接库 23 public abstract Applet get Applet(Stfing name)可以实现 _。 ( A)同页 Applet间通信 ( B) Applet的网络通信 ( C) Applet和浏览器间通信 ( D)以上三种通信
12、都能实现 24 param可选标记指定 applet外部参数, applet通过 _方法可以获得所给属性值。 ( A) getDocumentBase() ( B) getCodeBase() ( C) getParameter() ( D) showDocument(URLurlObj) 25 Socket的工作流程是 _。 打开连接到 Socket的输入 /输出 按某个协议对 Socket进行读 /写操作 创建 Socket 关闭 Socket ( A) ( B) ( C) ( D) 26 排序是计算机 程序设计中的一种重要操作,常见的排序方法有插入排序、【 】和选择排序等。 27 软件的
13、【 】设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。 28 一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【 】。 29 为了便于对照检查,测试用例应由输入数据和预期的【 】两部分组成。 30 【 】是数据库设计的核心。 31 Java可以跨平台的原因是因为有【 】。 32 循环语句包括 for语句、 while语句和【 】。 33 Java是 面向对象语言,对象是客观事物的【 】,对象与之是一一对应的,它是很具体的概念。 34 通过使用一个 “标签化中断 ”的语句, break语句就可以退出【 】循环。 35 通过类 MyClass中的不含参数的构造
14、函数,生成该类的一个对象 obj,可通过以下语句实现;【 】。 36 Java语言中常用异常类 IOException是用来处理【 】异常的类。 37 以下是一个对数据文件进行缓冲输入操作的语句,在语句的下划线处,请填上适当的内容: DataInputStream din=new DataInputStream (new【 】 (new FileInputStream(“employee.dat“); 38 Swing GUI使用两种类型的类,即 GUI类和【 】支持类。 39 根据程序的构成和运行环境的不同, Java源程序分为两类,即【 】程序和 JavaApplet程序。 40 Appl
15、et生命周期是指从 Applet【 】到浏览器,到用户退出浏览器,终止 Applet运行的过程。 国家二级( JAVA)笔试模拟试卷 66答案与解析 1 【正确答案】 C 【试题解析】 选项 C错误,多线程是 Java的一个主要特性,使可执行程序具有同时保持几个线程的执行的能力。不要把它与多任务混淆。多任务是指操作系统可以同时运行多个程序,而多线程可允许应用程序同时做几个不同的操作,处理多个不同的事件。 2 【正确答案】 B 【试题解析】 选项 A错误,动态链接是 JVM的一个重要特点;选项 C错误,接口是用来实现多重继承的一种方法, Java通过这种方法来提高类继承的灵活性和扩展性:选项 D
16、错误,用类把 Java的所有应用封装起来,是面向对象的基本思想;选项 B正确;访问权限是解释器在解释执行 Java程序时进行检查的,属于Java安全机制。 3 【正确答案】 C 【试题解析】 选项 A, random()方法是 java lang Math类中给出的求随机数的方法;选项 B, abs()方法是 java lang Math类提供的求绝对值 的方法;选项D, sin()方法是 java lang Math类提供的求正弦函数的方法;选项 C,是Graphics类提供的画直线的方法。 4 【正确答案】 C 【试题解析】 选项 A中 javac是 Java编译器;选项 B中 java是
17、 Java解释器;选项 D中 javap是 Java类文件解析器;只有选项 C中 jdb是 Java程序的调试器。 5 【正确答案】 D 【试题解析】 选项 A、 B和 C的说法均正确。一个对象就是变量和相关方法的集合,其中变量表明对象的状态,方法表明对象所具有的行为。对象占有存储空间,给对象分配空间就确定了给定时刻对象的状态,而与每个对象相关的方法定义了该对象上的操作。一个对象的变量构成这个对象的核心,方法包围着变量,将这个对象和其他对象分离开来,即隐藏该对象,使外界不可见。选项 D正好相反,故错误。 6 【正确答案】 A 【试题解析】 选项 B错误, Java语言标识符应该是区分大小写的;
18、选项 c错误,数组应该属于复合数据类型;选项 D错误,复合数据类型应该包括数组、类和接口;选项 A正确,标识符首字符的后面可以跟数字、字母、下划线和美元符号。 7 【正确答案】 D 【试题 解析】 034应该表示八进制的数 34,十进制的数 3*8+4=28,十六进制的数 1C(十进制数 28除以 16得到 1并且余 12, 12以十六进制表示应该是 C,因此得到 1 8 【正确答案】 A 【试题解析】 选项 B中,若两个操作数都是 float型,则结果应该还是 float型;选项 C中,若操作数中一个是 float型,一个是 double型,则结果应该是 double型;选项 D中,若操作数
19、中一个是 float型,一个是 int型,表达式结果应该是float型。 9 【正确答案】 B 【试题解析】 表达式执行 次序为:首先做 !b1得到 false:然后做 j%i=0得到true;再做 j/i!=2得到 false:然后做 &得到 false;最后是 |得到 false。 10 【正确答案】 C 【试题解析】 在程序中, c1和 c2均为 char类型的变量,判断条件 c1+1 c2执行过程是:在 Unicode字符集中找到字符 B的下一个字符,即 C。再将字符 C和字符 c的索引值做比较,在 Unicode字符集中, C的索引值小于 C的索引值,因此条件表达式为 true,条件
20、分支 +c1;将被执行,因此 c1的值 变为 B的下一个字符 C。 11 【正确答案】 C 【试题解析】 首先判断终止条件, -x之后, x=3, x/y=1,满足条件,执行第一次循环;再判断终止条件, -x之后, x=2, x/y=1,满足条件,执行第二次循环:再判断终止条件, -x之后, x=1, x/y=0,满足条件,执行第三次循环;再判断终止条件, -x之后, x=0, x/y=0,不满足条件,退出循环;因此一共执行了 3次循环。 12 【正确答案】 B 【试题解析】 常用的外部设备一般包括:键盘、显示器、硬盘、扫描仪、打印机和网 络等。而中央处理器通常包括控制器和内存。输入流是指由外
21、设流向中央处理器的数据流,因此只有选项 B从键盘外设流向内存的数据流是输入流。选项 C和选项 D都是从外设流向外设的数据流,这一般是经过了先输入,再输出的过程,因此不属于输入流。 13 【正确答案】 B 【试题解析】 选项 B中的 public final void writeInt(int v) throws IOException方法是 OutputStream类中的方法。 14 【正确答案】 B 【试题解析】 线程调用 wait()方法,进入 等待状态,并且暂时释放共享数据的对象锁,其他的线程可以获得该对象锁,进入临界区进行操作,操作完成之后,再调用 notify()方法通知等待的线程重
22、新占有锁,这样就实现了线程的同步操作。 15 【正确答案】 A 【试题解析】 类 A5继承了 Thread类,并且重写了 Thread类的 run()方法,调用本线程的 getName()方法打印出系统给本线程定义的名称。在 main()方法中, a1和 a2是 A5的对象,它们对应的系统默认的线程名称分别是 Thread 0和Thread 1,根据类 A5的类变量 b的布尔值控 制哪一个线程调用 start()方法,这里应该是 a1线程被调度执行。 16 【正确答案】 C 【试题解析】 线程调用 sleep()方法后,相同优先级的线程和低优先级的线程都将获得可执行的机会,所以选项 A错误。
23、yield()方法使当前线程暂停执行,以允许其他线程执行。调用 yield()方法后,线程仍处于可运行状态,此时,可以选择其他已进入可运行状态且优先级相同的线程执行。若无同优先级线程,当前线程会继续执行,所以选项 C正确。调用 suspend()方法使线程暂停执行,由可运行状态切换到不可运行状态,要想 恢复执行必须由其他线程而非自身来调用 resume()方法,所以选项 B和 D错误。 17 【正确答案】 A 【试题解析】 实现了 Listener接口的对象可作为监听器,事件发生后,组件通知已注册的所有监听器,监听器再调用相应的处理方法进行响应,因此选项 A正确。 18 【正确答案】 C 【试
24、题解析】 在事件处理的过程中,主要涉及 3类对象:事件、事件源、事件处理者,因此选项 C是正确的。 19 【正确答案】 B 【试题解析】 Swing构件支持双缓冲区, JComponent构件默认双缓冲 区,但是AWT构件不支持,需要重写代码。 20 【正确答案】 B 【试题解析】 javax swing JApplet是 Applet的直接子类,继承了 Al, plet的方法与执行机制。 Java awt panel是 java applet Applet的直接父类,java awt Window是 java awt,frame的直接父类。 21 【正确答案】 D 【试题解析】 init()
25、方法用于完成主类实例的初始化, start()方法用于启动浏览器运行 Applet的主线程, paint()方法 用于在 Applet的界面中显示文字、图形和其他界面元素。 22 【正确答案】 A 【试题解析】 Applet在客户端运行时,受到了安全限制,一部分系统信息之外的敏感信息都不可以访问,比如电子邮件地址、文件系统和动态链接库都不能直接访问。 23 【正确答案】 A 【试题解析】 当某个 Applet要与同页中的 Applet进行:通信时, public abstract Applet getApplet(SWing name)得到名称为 name的 Applet对象。选项 A正确。
26、24 【正确答案 】 C 【试题解析】 param name=appletAttribute 1 value=val可选标记指定 applet外部参数, applet通过 getParameter()方法可以获得所给属性值。 25 【正确答案】 C 【试题解析】 Socket工作过程分为四步,分别是创建 Socket,打开连接到Socket的输入 /输出,按某个协议对 Socket进行读 /写操作,关闭 Socket。 26 【正确答案】 交换排序 【试题解析】 常见的排序方法有插入排序 (包括简单插入排序和希尔 排序法等 )、交换排序 (包括冒泡的排序和快速排序法等 )和选择排序 (包括简单
27、选择排序和堆排序等 )。 27 【正确答案】 概要 【试题解析】 软件的概要设计又称为总体结构设计,其主要任务是建立软件系统的总体结构。 28 【正确答案】 可重用性 【试题解析】 类继承是面向对象程序设计的重要特征,提高了代码的可重用性和可扩充性。 29 【正确答案】 输出结果 【试题解析】 为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。 30 【正确答案】 数据模型 【试题解 析】 数据模型是描述数据内容和数据之间联系的工具,它是衡量数据库能力强弱的主要标志之一。数据库设计的核心问题之一就是设计一个好的数据模型。 31 【正确答案】 Java虚拟机 【试题解析】 Jav
28、a虚拟机是 Java平台的基础,可以移植到各种基于硬件的平台上。 Java的主要实现机制依靠 Java虚拟机 (JVM),它是一种抽象机器,具有一套虚拟机器指令,并有自己的栈、寄存器组等。 Java虚拟机通常由软件实现,所以可以认为 Java虚拟机是软件模拟的计算机,它附着在具体操作系统之上,是 Java平台无关性的基 础。 32 【正确答案】 do-while语句 【试题解析】 Java中提供的循环语句有: for语句、 while语句和 do-while语句。 33 【正确答案】 实体 【试题解析】 在面向对象编程中,具体的客观实体称为对象,对象就是数据加方法。对象与实体是一一对应的,它是
29、很具体的概念。 34 【正确答案】 多重嵌套 【试题解析】 通过使用带有标签的 break语句,来指定执行从何处重新开始。标签 break语句的通用格式如下: break label;这里,标签 label是标识代码 块的标签。当这种形式的 break执行时,控制被传递处指定的代码块。但需要注意的是,如果一个标签不在包围 break的块中定义,你就不能 break到该标签。一般来说,在实际应用中,带标签的 break语句可以用来跳转到多重嵌套体之外。 35 【正确答案】 MyClass obj=new MyClass() 【试题解析】 java中至少有三种方式可以生成一个对象, new,Cla
30、ss.ForName(String className)和 ClassLoader.loadClass(String name)。用 关键字 new生成对象:这是最常用的一种方式,例如 new String(“hello“)用 new生成对象的特点是,这个对象的类必须在编译时就在 classpath中,如果没有特别的理由和要求,这是我们生成一个对象的第一选择。本题中要求不含参数,所以应该为 MyClass obj=new MyClass()。 36 【正确答案】 输入输出 【试题解析】 Java语言中常用异常类 IOException是用来处理输入输出异常的类。 37 【正确答案】 Buffe
31、redInputStream() 【 试题解析】 该题要求写的是一个对数据文件进行缓冲输入操作的语句,而BufferedInputStream类的作用是实现一个缓冲的输入流。所以,在该空中应该填写 BufferedInputStream()。 38 【正确答案】 非 GUI 【试题解析】 Swing GUI使用两种类型的类,即 GUI类和非 GUI支持类。 39 【正确答案】 JavaApplication 【试题解析】 Java程序分为 Java Application(Java应用程序 )和 Java(Java小应用程序 )两种。最明 显的不同点是 Application是一个独立的应用程序,其可以在任何环境下使用 Java的解释器直接执行。而 Applet则一般是要在 Web浏览器中执行的,并且该浏览器本身也必须支持 Java(即 Java Virtual Machine)。 40 【正确答案】 下载 【试题解析】 Applet程序的生命周期是从浏览器调用 init()方法,即在装载Applet时被调用开始,到关闭浏览器时调用 destroy(),彻底终止 Applet,从内存中卸载并释放 Applet的所有资源。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1