1、计算机二级 JAVA 分类模拟题 203 及答案解析(总分:58.80,做题时间:90 分钟)一、选择题(总题数:35,分数:58.80)1.软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于_。(分数:1.00)A.定义阶段B.开发阶段C.维护阶段D.上述三个阶段2.线性表采用链式存储时,结构的存储地址_。(分数:2.00)A.必须是不连续的B.连续与否均可C.必须是连续的D.和头节点的存储地址相连续3.阅读下列代码。 public class Test public static void main(String args) System.out.println(89 (分数:2
2、.00)A.44B.45C.88D.904.下列语句中,属于多分支语句的是_。(分数:2.00)A.if 语句B.switch 语句C.do-while 语句D.for 语句5.在 Java 中,负责对字节代码解释执行的是_。(分数:1.00)A.垃圾回收器B.虚拟机C.编译器D.多线程机制6.下列运算符中,与+具有相同优先级的是 _ 。(分数:2.00)A.*B./C.%D.-7.下列 Applet 在窗口中输出一个以坐标(100,80)为中心,长轴半径为 70,短轴半径为 50 的椭圆。选择正确的语句填入横线处。 import java.awt.*; import java.applet.
3、*; public class exl5 extends Applet public void paint(Graphics g) g. setColor (Color. RED); g. setColor (Color. GREEN); _ g. drawString(“.O“, 100, 80); (分数:2.00)A.drawOval(30, 30, 140, 100);B.drawOval(30, 30, 70, 50);C.drawLine(30, 30, 140, 100);D.drawOval(30, 30, 140, 100);8.单击按钮可以产生 ActionEvent 事件
4、,实现_接口可处理此事件。(分数:2.00)A.FocusListenerB.ComponentListenerC.WindowListenerD.ActionListener9.下列语句中正确的是_。(分数:2.00)A.char c=“ccc“;B.float f=0.73;C.long l=xffff;D.double d=0.6E-2;10.在程序读入字符文件时,能够以该文件作为直接参数的类是_。(分数:2.00)A.FileReaderB.BufferedReaderC.FileInputStreamD.ObjectInputStream11.数据库管理系统是_。(分数:1.80)A
5、.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操作系统12.下列_是将一个十六进制值赋值给一个 long 型变量。(分数:1.00)A.long number=123L;B.long number=0123;C.long number0123L;D.long number=0x123L;13.在关系数据库中,用来表示实体间联系的是_。(分数:2.00)A.属性B.二维表C.网状结构D.树状结构14.Java 虚拟机(JVM)运行 Java 代码时,不会进行的操作是_。(分数:1.00)A.加载代码B.校验代码C.编译代码D.执行代码15.下列方法中,声明抛出 Inte
6、rruptedException 类型异常的方法是_。(分数:2.00)A.suspend()B.resume()C.sleep()D.start()16.一元算术运算符中,运算符“+”的功能是 _ 。(分数:2.00)A.增量B加 1C.取正值D.一元加17.下面关于串行化的说法中正确的是 _ 。 :对象串行化机制需要将对象的状态保存到文件中,而后能够通过读入对象状态来重新构造对象,恢复程序状态。 :通过让类实现 java.io.Serializable 接口可以将类串行化。这个接口是一个制造者(marker)接口。也就是说,对于要实现它的类来说,该接口不需要实现任何方法。 :将对象读出或者
7、写入流的主要类有两个:ObjectOutputStream 与 ObjectInputStream。 :以上都不对。(分数:1.00)A.、B.、C.、D.、18.下面描述中错误的是_。(分数:1.80)A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具19.下列关于字符流的叙述中,正确的是 _ 。(分数:2.00)A.字符流类 BufferedReader 可以提高字符传送的效率B.字符输入流首先要实现 DataInput 接口C.字节输入流都是 Reader 子类D.只有字节
8、输入流具有 read( )方法,字符输入流不具有该方法。20.下面语句会产生编译错误的是(分数:2.00)A.float F=1024.0F;B.double D=1024.0;C.byte B=1024;D.char C=1024;21.下列关于 Object 类中定义方法的描述中,正确的是_。(分数:1.00)A.其他类不能调用B.其他类部分能调用C.其他类大部分不能调用D.其他类全部都能调用22.下列程序的执行结果为_。 public class c3 public static void main(String args) int i=13, j=10; if(i-j) i+; els
9、e j-; System. out. println(i+“/t“+j); (分数:1.80)A.13 10B.12 11C.11 11D.12 1223.Java 语言中所有的简单数据类型都被包含在_中。(分数:1.80)A.java. sqlB.java. awtC.java. langD.java. math24.下列语句序列执行后,k 的值是_。 public class Test public static void main(String args) int m = 3, n = 6, k = 0; while (m+) (n-) +k; System.out.println(k)
10、; (分数:2.00)A.0B.1C.2D.325.下列叙述中,错误的是_。(分数:2.00)A.Applet 的默认布局管理器是 FlowLayoutB.JApplet 中增加构件是加到 JApplet 的内容面板上,不是直接加到 JApplet 中C.JApplet 的内容面板的默认布局管理器是 BorderLayoutD.JApplet 的内容面板的默认布局管理器是 FlowLayout26.下列关于线程的说法中,正确的是(分数:2.00)A.一个线程一旦被创建,就立即开始运行B.使用 start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行C.当运行状态的线程因为调用了
11、yield()方法而停止运行,它一定被放在可运行线程队列的前面D.当因等待对象锁而被阻塞的线程获得锁后,将直接进入运行状态27.下面对软件特点描述不正确的是_。(分数:1.00)A.软件是一种逻辑实体,具有抽象性B.软件开发、运行对计算机系统具有依赖性C.软件开发涉及软件知识产权、法律及心理等社会因素D.软件运行存在磨损和老化问题28.下列关于队列的叙述中正确的是_。(分数:1.00)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表29.负责数据库中查询操作的数据库语言是_。(分数:1.80)A.数据定义语言B.数据管理语言C.数据操纵语言D
12、.数据控制语言30.在 E-R 图中,用来表示实体联系的图形是_。(分数:2.00)A.椭圆形B.矩形C.菱形D.三角形31.下列对于线性链表的描述中正确的是 _ 。(分数:2.00)A.存储空间不一定连续,且各元素的存储顺序是任意的B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后刊:元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的32.下列有关数据库的描述,正确的是_。(分数:1.00)A.数据库是一个 DBF 文件B.数据库是一个关系C.数据库是一个结构化的数据集合D.数据库是一组文件33.下列程序的运行结果是_。 publi
13、c classMyTest public static void main(String args) int sum=1; for(int j=1;j5;j+) sum*=j; System.out.println(sum); (分数:1.00)A.1B.10C.24D.12034.为了支持压栈线程与弹栈线程之间的交互与同步,在程序的下画线处依次填入的语句是_。 public class IntStack private int idx=0; private int data=new int8; public void push(int i) dataidx=i; idx+; _ (分数:1.
14、80)A.synchronized()notify()B.synchronizedthis. wait()C.synchronizedthis. notify()D.Serializablesleep()35.以下不属于对象的基本特点的是_。(分数:2.00)A.分类性B.多态性C.继承性D.封装性计算机二级 JAVA 分类模拟题 203 答案解析(总分:58.80,做题时间:90 分钟)一、选择题(总题数:35,分数:58.80)1.软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于_。(分数:1.00)A.定义阶段B.开发阶段 C.维护阶段D.上述三个阶段解析:解析 开发阶段在开
15、发初期分为需求分析、总体设计、详细设计 3 个阶段,在开发后期分为编码、测试两个子阶段。2.线性表采用链式存储时,结构的存储地址_。(分数:2.00)A.必须是不连续的B.连续与否均可 C.必须是连续的D.和头节点的存储地址相连续解析:解析 在链式存储结构中,存储数据结构的存储空间可以不连续,各数据节点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据之间的逻辑关系是由指针域来确定的。3.阅读下列代码。 public class Test public static void main(String args) System.out.println(89 (分数:2.00)A.44 B.45
16、C.88D.90解析:解析 本题考查算术右移运算符。4.下列语句中,属于多分支语句的是_。(分数:2.00)A.if 语句B.switch 语句 C.do-while 语句D.for 语句解析:解析 本题考查流程控制常用语句。分支语句分为条件语句和多分支语句,if 语句是条件语句,switch 语句是多分支语句,do-while 语句和 for 语句是循环语句。5.在 Java 中,负责对字节代码解释执行的是_。(分数:1.00)A.垃圾回收器B.虚拟机 C.编译器D.多线程机制解析:解析 Java 语言的执行模式是半编译半解释型。Java 编写好的程序首先由编译器转换为标准字节代码,然后由
17、Java 虚拟机去解释执行。字节代码是一种二进制文件,但不能直接在操作系统上运行,可看作是虚拟机的机器码。虚拟机把字节码程序与各操作系统和硬件分开,使 Java 程序独立于平台。Java程序的下载和执行步骤:程序经编译器得到字节代码;浏览器与服务器连接,要求下载字节码文件;服务器将字节代码文件传给客户机;在浏览器上显示并交互。6.下列运算符中,与+具有相同优先级的是 _ 。(分数:2.00)A.*B./C.%D.- 解析:解析 运算符+有两种情况,一种是一元加,这时它的优先级高于*、/和%;另一种是二元加,这时它的优先级低于*、/和%,这里*、/和%具有相同的优先级。但是对于运算符而言,无论是
18、一元还是二元,它的优先级都和+运算符相同。7.下列 Applet 在窗口中输出一个以坐标(100,80)为中心,长轴半径为 70,短轴半径为 50 的椭圆。选择正确的语句填入横线处。 import java.awt.*; import java.applet.*; public class exl5 extends Applet public void paint(Graphics g) g. setColor (Color. RED); g. setColor (Color. GREEN); _ g. drawString(“.O“, 100, 80); (分数:2.00)A.drawOva
19、l(30, 30, 140, 100);B.drawOval(30, 30, 70, 50);C.drawLine(30, 30, 140, 100);D.drawOval(30, 30, 140, 100); 解析:8.单击按钮可以产生 ActionEvent 事件,实现_接口可处理此事件。(分数:2.00)A.FocusListenerB.ComponentListenerC.WindowListenerD.ActionListener 解析:解析 参看“表 AWT 事件及监听器接口”可以得知,ActionEvent 事件对应的接口为ActionListener。 表 AWT 事件类别及监
20、听器接口 事件类别 接口 方法及参数 ActionEvent ActionListener actionPerformed(ActionEvent) ItemEvent ItemListener itemStateChanged(ItemEvent) AdjustmentEvent AdjustmentListener adjustmentValueChanged(adjustmentEvent) componentHidden(ComponentEvent) componentMoved(ComponentEvent) componentResized(ComponentEvent) Com
21、ponentEvent ComponentListener componentShown(ComponentEvent) mouseClicked(MouseEvent) mouscEntered(MouseEvent) mouseExited(MouseEvent) MouseEvent MouseListener mouseReleased(MouseEvent) mousePressed(MouseEvent) mouseDragged(MouseEvent) MouseEvent MouseMotionLiStener mouseMoved(MouseEvent) windowActi
22、vated(WindowEvent) windowDeactivated(WindowEvent) windowOpened(WindowEvent) windowClosed(WindowEvent) windowClosing(WindowEvent) windowIconfied(WindowEvent) WindowEvent WindowListener windowDeIconfied(WindowEvent) keyPressed(KeyEvent) keyReleased(KeyEvent) KevEvent KeyListener keyTyped(KeyEvent) com
23、ponentAdded(containerEvent) ContainerEvent ContainerListener componentRemoved(containerEvent) TextEvent TextListener textValueChanged(TextEvent) focusGained(FocusEvent) FocusEvent FocusListener focusLost(FocusEvent) 9.下列语句中正确的是_。(分数:2.00)A.char c=“ccc“;B.float f=0.73;C.long l=xffff;D.double d=0.6E-2
24、; 解析:解析 char 类型数据为单引号括起的一个字符,所以 A 错误。小数 0.73 在 Java 中默认为 double 类型,它的精度比 float 类型高,只有通过强制类型转换才能赋给 float 类型变量,所以 B 错误。整型常数的十六进制表示是以 0x 或 0X 开头,而不是以 x 开头,所以 C 错误。0.6E-2 是 0.610 -2 的科学计数法表示,正确。10.在程序读入字符文件时,能够以该文件作为直接参数的类是_。(分数:2.00)A.FileReader B.BufferedReaderC.FileInputStreamD.ObjectInputStream解析:解析
25、 FileReader 是 InputStreamReader 的子类,用于从文件中读取文本,其使用方式是“FileReader(fname)”,fname 是待读取的文件名。BufferedReader 类用于读取缓冲区中的字符输入流,其使用方式是“BufferedReader(new InputStreamReader(System.in)”,其参数是以字节输入流为数据源的字符输入流。FileInputStream 用于读取磁盘文件所涉及的数据,读取字节数据而不是字符数据。ObjectInputStream 类实现了 ObjectInput 接口,用于读取对象流。11.数据库管理系统是_。
26、(分数:1.80)A.操作系统的一部分B.在操作系统支持下的系统软件 C.一种编译系统D.一种操作系统解析:解析 数据库系统属于系统软件的范畴。12.下列_是将一个十六进制值赋值给一个 long 型变量。(分数:1.00)A.long number=123L;B.long number=0123;C.long number0123L;D.long number=0x123L; 解析:13.在关系数据库中,用来表示实体间联系的是_。(分数:2.00)A.属性B.二维表 C.网状结构D.树状结构解析:解析 此题目考查关系数据库的基本知识点,每个实体间的联系都是一张二维表。14.Java 虚拟机(J
27、VM)运行 Java 代码时,不会进行的操作是_。(分数:1.00)A.加载代码 B.校验代码C.编译代码D.执行代码解析:解析 Java 中,类加载器把一个类装入 Java 虚拟机需要经过 3 个步骤来完成:装载、链接、初始化,其中链接又分为校验、准备、解析过程。装载:查找和导入类和接口的.class 文件。连接:检查装入.class 文件的正确性,然后.Java 虚拟机为变量分配内存,设黄默认值。初始化:把符号引用变成直接引用。由以上分析,可以看出虚拟机(JVM)运行时不需要加载代码,选择 A。15.下列方法中,声明抛出 InterruptedException 类型异常的方法是_。(分数
28、:2.00)A.suspend()B.resume()C.sleep() D.start()解析:解析 如果一个线程在调用 sleep()、join()、wait()等方法被阻塞时,就会抛出InterruptedException 类型异常。16.一元算术运算符中,运算符“+”的功能是 _ 。(分数:2.00)A.增量B加 1C.取正值 D.一元加解析:解析 一元算术运算符涉及的操作数只限于一个,由一个操作数和一元算术运算符构成一个算术表达式。一元算术运算符共有四种。运算符+的名称是一元加,功能是取正值;+的名称是增量,功能是加 1;运算符的名称是一元减,功能是取负值;运算符-的名称是减量,其
29、功能是减 1。17.下面关于串行化的说法中正确的是 _ 。 :对象串行化机制需要将对象的状态保存到文件中,而后能够通过读入对象状态来重新构造对象,恢复程序状态。 :通过让类实现 java.io.Serializable 接口可以将类串行化。这个接口是一个制造者(marker)接口。也就是说,对于要实现它的类来说,该接口不需要实现任何方法。 :将对象读出或者写入流的主要类有两个:ObjectOutputStream 与 ObjectInputStream。 :以上都不对。(分数:1.00)A.、B.、C.、 D.、解析:解析 本题是考查串行化的概念。对象串行化机制需要将对象的状态保存到文件中,而
30、后能够通过读入对象状态来重新构造对象,恢复程序状态,对使用套接字在网络上传送对象的程序来说,是很有用的。通过让类实现 java.io.Serializable 接口可以将类串行化。这个接口是一个制造者(marker)接口。也就是说,对于要实现它的类来说,该接口不需要实现任何方法。它主要用来通知 Java 虚拟机(JVM),将一个对象串行化。ObjectOutputStream 提供用来将对象写入输出流的 writeObject 方法, ObiectInputStream 提供从输入流中读出对象的 readObject 方法。18.下面描述中错误的是_。(分数:1.80)A.系统总体结构图支持软
31、件系统的详细设计 B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD 图是软件详细设计的表示工具解析:解析 软件系统的总体结构图是软件架构设计的依据,它并不能支持软件的详细设计。19.下列关于字符流的叙述中,正确的是 _ 。(分数:2.00)A.字符流类 BufferedReader 可以提高字符传送的效率 B.字符输入流首先要实现 DataInput 接口C.字节输入流都是 Reader 子类D.只有字节输入流具有 read( )方法,字符输入流不具有该方法。解析:解析 在 Java 中,字符都是以 16 位 Unicode 码的形式表示的。处
32、理 Unicode 码的所有类都是从Reader 和 Writer 两个抽象超类中衍生的。字符输入流均为 Reader 的子类,而字符输出流均为 Writer 的子类。BufferedReader 具有缓冲功能,可以提高 I/O 的传输效率。20.下面语句会产生编译错误的是(分数:2.00)A.float F=1024.0F;B.double D=1024.0;C.byte B=1024; D.char C=1024;解析:解析 本题考查考生对 Java 中数据类型的理解。为了防止计算机高低位字节存储顺序不同,通常byte 类型用来表示数据避免出错,因为它只有 8 位 bit,范围是:-128
33、+127,选项 C 超出了此范围,所以是错误的。float 类型数的表示范围是:-3.40282347E38 3.40282347E38;double 类型数的表示范围是: -1.79769313486231570E308 1.79769313486231570E308;char 类型在内存中占 16 位 bit,表示范围是 065535。21.下列关于 Object 类中定义方法的描述中,正确的是_。(分数:1.00)A.其他类不能调用B.其他类部分能调用C.其他类大部分不能调用D.其他类全部都能调用 解析:解析 Object 类是 Java 类层次的根,所以其他类都是由 Object 类派
34、生出来的,在 Object 类中定义的方法,在其他类中都可以使用。因此,正确答案为 D。22.下列程序的执行结果为_。 public class c3 public static void main(String args) int i=13, j=10; if(i-j) i+; else j-; System. out. println(i+“/t“+j); (分数:1.80)A.13 10 B.12 11C.11 11D.12 12解析:解析 程序是由 if-else 语句构成的流程,分析判断条件,变量 i 和 j 比较,得到条件表达式的值为 true,然后执行 i-1,现在变量 i 的值
35、为 12,而 j 的值为 10;由于条件表达式为 true,则执行i+,因此 i 的值为 13,并跳过 else 子句块,循环控制语句执行完毕,这时变量 i 和 i 的值分别为 13 和10。23.Java 语言中所有的简单数据类型都被包含在_中。(分数:1.80)A.java. sqlB.java. awtC.java. lang D.java. math解析:解析 Java 语言中,所有的简单数据类型都被包含在包 java. lang 中。24.下列语句序列执行后,k 的值是_。 public class Test public static void main(String args)
36、int m = 3, n = 6, k = 0; while (m+) (n-) +k; System.out.println(k); (分数:2.00)A.0B.1C.2 D.3解析:解析 本题程序采用的是循环结构,但考查的重点却是自加、自减的应用。在循环第 1 次执行时,m=3,n=6,mn 成立,会执行循环体的内容。第 2 次执行时,m=4,n=5,mn 仍成立,所以再次执行循环。第 3 次执行时,m=5,n=4,mn 不成立,则退出循环,k=2。25.下列叙述中,错误的是_。(分数:2.00)A.Applet 的默认布局管理器是 FlowLayoutB.JApplet 中增加构件是加到
37、 JApplet 的内容面板上,不是直接加到 JApplet 中C.JApplet 的内容面板的默认布局管理器是 BorderLayoutD.JApplet 的内容面板的默认布局管理器是 FlowLayout 解析:解析 JApplet 的内容面板的默认布局管理器是 BorderLayout。26.下列关于线程的说法中,正确的是(分数:2.00)A.一个线程一旦被创建,就立即开始运行B.使用 start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行 C.当运行状态的线程因为调用了 yield()方法而停止运行,它一定被放在可运行线程队列的前面D.当因等待对象锁而被阻塞的线程获得锁
38、后,将直接进入运行状态解析:解析 一个线程创建以后并不马上启动,此时线程处于新建状态。所以选项 A 错误。yield()方法的功能是线程暂停,让出 CPU,使同优先级的其他线程运行,如果不存在有机会运行的线程,yield()方法将直接返回,线程继续;所以线程调用了 yield()方法还有可能继续为运行状态,所以选项 C 错误。当因等待对象锁而被阻塞的线程获得锁后,将进入可运行状态,而不是运行状态,所以选项 D 错误。27.下面对软件特点描述不正确的是_。(分数:1.00)A.软件是一种逻辑实体,具有抽象性B.软件开发、运行对计算机系统具有依赖性C.软件开发涉及软件知识产权、法律及心理等社会因素
39、D.软件运行存在磨损和老化问题 解析:解析 软件与硬件不同,它在运行、使用期间不存在磨损、老化问题。28.下列关于队列的叙述中正确的是_。(分数:1.00)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性表 D.队列是先进后出的线性表解析:解析 队列是指允许在一端进行插入而在另一端进行删除的线性表,选项 A 和选项 B 错误。允许插入的一端称为队尾,允许删除的一端称为队头。在队列中,最先插入的元素将最先能够被删除;反之,最后插入的元素将最后才能被删除。所以,队列又称为“先进先出”或“后进后出”的线性表,它体现了“先来先服务”的原则,选项 C 正确,选项 D 错误。29.
40、负责数据库中查询操作的数据库语言是_。(分数:1.80)A.数据定义语言B.数据管理语言C.数据操纵语言 D.数据控制语言解析:解析 数据库操纵语言专门负责查询、增加和删除等数据操作。30.在 E-R 图中,用来表示实体联系的图形是_。(分数:2.00)A.椭圆形B.矩形C.菱形 D.三角形解析:解析 实体之间的相互联系,应该用菱形来表示,答案选 C。31.下列对于线性链表的描述中正确的是 _ 。(分数:2.00)A.存储空间不一定连续,且各元素的存储顺序是任意的 B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后刊:元素的前面D.存储空间必
41、须连续,且各元素的存储顺序是任意的解析:32.下列有关数据库的描述,正确的是_。(分数:1.00)A.数据库是一个 DBF 文件B.数据库是一个关系C.数据库是一个结构化的数据集合 D.数据库是一组文件解析:解析 数据库(Database,简称 DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库中的数据具有“集成”、“共享”之特点。33.下列程序的运行结果是_。 public classMyTest public static void main(String args) int sum=1; for(int j=1;j5;
42、j+) sum*=j; System.out.println(sum); (分数:1.00)A.1B.10C.24 D.120解析:解析 该程序考查的主要是 sum*=j;这一语句的理解,即 sum=sum*j;由于 sum 的初始值为 1,所以实际上运行的是 1*2*3*4 的值。34.为了支持压栈线程与弹栈线程之间的交互与同步,在程序的下画线处依次填入的语句是_。 public class IntStack private int idx=0; private int data=new int8; public void push(int i) dataidx=i; idx+; _ (分数:1.80)A.synchronized()notify()B.synchronizedthis. wait() C.synchronizedthis. notify()D.Serializablesleep()解析:解析 在 Synchronized 块中等待共享数据的状态改变时调用 wait()方法,这样该线程等待并暂时释放共享数据对象的锁。35.以下不属于对象的基本特点的是_。(分数:2.00)A.分类性B.多态性C.继承性 D.封装性解析: