1、计算机二级 JAVA-1 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:40.00)1.将一个容器 panel1 放到容器 frame1 中的方法是_。 A.frame1.insert(panel1) B.frame1.add(panel1) C.frame1.addjPanel(panel1) D.frame1.insertjPane1(panel1)(分数:1.00)A.B.C.D.2.下列程序中,若从键盘中输入的是大写字母 C,则程序输出的结果是_。Import java.io.*;public class Exampublic static
2、 void main(Slring args)int ch=0;System.out.println(“输入一个字符;“);trych=System.in.read();charch A=A,ch_Z=Z;int delta_c=(int)ch_A+(int)ch_Z-ch;System out.println(“编码后的字符为;“+(char)delta_c);catch(IOException e)e.printStackTrace();) A.C B.Y C.X D.字母 C 的 ASCII 码的整型值(分数:1.00)A.B.C.D.3.以下不是 APPLET 标记的选项是_。 A.P
3、ARAM B.BODY C.CODEBASE D.ALT(分数:1.00)A.B.C.D.4.下列代码的执行结果是_。public class Testpublic static void main(String args)System.out.println(5/2);System.out.println(100%3.0) A.2 和 1 B.2 和 1.0 C.2.5 和 1 D.2.5 和 1.0(分数:1.00)A.B.C.D.5.用链表表示线性表的优点是_。 A.便于随机存取 B.花费的存储空间较顺序存储少 C.便于插入和删除操作 D.数据元素的物理顺序与逻辑顺序相同(分数:1.00
4、)A.B.C.D.6.十进制数 16 的十六进制表示格式是_。 A.0x10 B.0x16 C.OxA D.016(分数:1.00)A.B.C.D.7.在读取二进制数据文件的记录时,为了提高效率常常使用的一种辅助类是_。 A.InputStream B.FilelnputStream C.StringBuffer D.BufferedReader(分数:1.00)A.B.C.D.8.为使下列代码正常运行,应该在下画线处填入的选项是_。()bj ectlnputStream In=new_(new FilelnputStream(“employee.doc“);Employeenewstaff=
5、(Employee)in.readObject();In.close(); A.Reader B.InputStream C.Objectlnput D.ObjectlnputStream(分数:1.00)A.B.C.D.9.在程序读入字符文件时,能够以该文件作为直接参数的类是_。 A.FileReader B.BufferedReader C.FilelnputStream D.ObjectlnputStream(分数:1.00)A.B.C.D.10.常采用的两种存储结构是_。 A.顺序存储结构和链式存储结构 B.散列方法和索引方式 C.链表存储结构和数组 D.线性存储结构和非线性存储结构(
6、分数:1.00)A.B.C.D.11.下列关于数据的存储结构的叙述中,正确的是_。 A.数据的存储结构是数据间关系的抽象描述 B.数据的存储结构是逻辑结构在计算机存储器中的实现 C.数据的存储结构分为线性结构和非线性结构 D.数据的存储结构对数据的具体实现没有影响(分数:1.00)A.B.C.D.12.下列叙述中正确的是_。 A.在面向对象的程序设计中,各个对象之间具有密切的关系 B.在面向对象的程序设计中,各个对象都是公用的 C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小 D.上述 3 种说法都不对(分数:1.00)A.B.C.D.13.文件操作中,用于移动文件指针到指定的位
7、置的是_。 A.seek(long pos) B.lengh() C.find() D.skipBytes(int n)(分数:1.00)A.B.C.D.14.下列叙述中错误的是_。 A.线性表是由 n 个元素组成的一个有限序列 B.线性表是一种线性结构 C.线性表的所有结点有且仅有一个前件和后件 D.线性表可以是空表(分数:1.00)A.B.C.D.15.下列选项默认的布局管理器不是 BorderLayout 的是_。 A.Window B.Panel C.Frame D.Dialog(分数:1.00)A.B.C.D.16.下面属于面向对象语言的是_。 A.Java 语言 B.机器语言 C.
8、C 语言 D.汇编语言(分数:1.00)A.B.C.D.17.阅读下面代码if(x=0)System.out.println(“冠军“);elseif(x-3)System.out.println(“亚军“);elseSystem.out.println(“季军“);若要求打印字符串“季军“,则变量 x 的取值范围是_。 A.x=0x=-3 B.x0 C.x-3 D.x=-3(分数:1.00)A.B.C.D.18.相对于数据库系统,文件系统的主要缺陷有数据依赖、数据不一致性和_。 A.可重用性差 B.安全性差 C.非持久性 D.冗余性(分数:1.00)A.B.C.D.19.为了支持压栈线程与弹
9、栈线程之间的交互与同步,应在下画线处填入的选项是_。public class StackTestprivate int idx=0;private int data=new int8public void push(int i)synchronized(this)_;data(idx)=i;idx+; A.this.notify() B.tnterrupt() C.this.wait() D.sleep()(分数:1.00)A.B.C.D.20.下列能够正确创建线程的方法是_。继承 java.lang.Thread 类,并重写 run()方法继承 java.lang.Runnable 类,并重
10、写 start()方法实现 java.lang.Thread 接口,并实现 run()方法实现 java.lang.Runable 接口,并实现 run()方法 A., B., C., D.,(分数:1.00)A.B.C.D.21.下列关于 HTML 标记的说法,正确的是_。 A.URL getDocumentBase()返回 Applet 主类的 URL B.URL getC()deBase()返回包含 Applet 的 HTML 文件的 URL C.在 HTML 中不说明 String getParameter(stringname)的参数,该方法将返回”0” D.HTML 标记方法用于获
11、取 HTML 文件中关于 Ap-plet 的信息(分数:1.00)A.B.C.D.22.下列与算法有关的叙述中,不正确的是_。 A.运算是数据结构的一个重要方面,运算的实现步骤用算法来描述 B.算法是精确定义的一系列规则,它指出怎样从给定的输入信息经过有限步骤产生所求的输出信息 C.算法的设计采用由粗到细,由抽象到具体的逐步求精的方法 D.对于算法的分析,指的是分析算法运行所要占用的机器时间,即算法的时间代价(分数:1.00)A.B.C.D.23.下列代码中,将引起编译错误的行是_。1)public class Exercise2)public static void main(String
12、args)3)floatf=0.0;4)f+=1.0;5)6) A.第 2 行 B.第 3 行 C.第 4 行 D.第 6 行(分数:1.00)A.B.C.D.24.若干进程之间相互合作,共同完成一项任务,进程的这种协同工作关系称为_。 A.异步 B.同步 C.并发 D.互斥(分数:1.00)A.B.C.D.25.在 Java 语言中,封闭是借助于_实现的。 A.对象 B.类 C.数组 D.成员(分数:1.00)A.B.C.D.26.阅读下面程序import java.io.*;public class TypeTransitionpublic static void main(String
13、args)char a=h;int i=100;int j=97;int aa=a+i;System.out.println(“aa=“+aa);char bb=(char)j;Sy stem.out.println(“bb=“+bb);)如果输出结果的第二行为 bb=a,那么第一行的输出结果是_。 A.aa=I B.aa=204 C.aa=v D.aa=156(分数:1.00)A.B.C.D.27.下列不属于虚拟机执行过程的特点的是_。 A.多线程 B.动态连接 C.异常处理 D.代码安全检查(分数:1.00)A.B.C.D.28.结构化程序设计的核心和基础是_。 A.结构化分析方法 B.结
14、构化设计方法 C.结构化设计理论 D.结构化编程方法(分数:1.00)A.B.C.D.29.下列叙述中,不属于测试的特征的是_。 A.测试的挑剔性 B.完全测试的不可能性 C.测试的可靠性 D.测试的经济性(分数:1.00)A.B.C.D.30.下列程序的输出结果是_。class Testpublic static void main(String args)int n=7;n=3;n=nn+1|n+2n+3;n=2;System.out.println(n); A.0 B.-1 C.14 D.64(分数:1.00)A.B.C.D.31.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较
15、的次数为_。 A.125 B.n/2 C.n D.n+1(分数:1.00)A.B.C.D.32.java.io 包的 File 类是_。 A.字符流类 B.字节流类 C.对象流类 D.非流类(分数:1.00)A.B.C.D.33.下列特征中不是面向对象方法的主要特征的是_。 A.多态性 B.继承 C.封装性 D.模块化(分数:1.00)A.B.C.D.34.对下列程序的叙述中,正确的是_。1)public class X extends Thread implements Runnable2)public void run()3)system.out.println(“this is run(
16、)“);4)5)public static void main(String args)6)Thread t=new Thread(new X();7)t.start();8)9) A.第 1 行会产生编译错误 B.第 6 行会产生编译错误 C.第 6 行会产生运行错误 D.程序正常运行(分数:1.00)A.B.C.D.35.关于线程的生命周期以下状态正确的是_。 A.新建状态、可运行状态、阻塞状态、恢复状态和终止状态 B.新建状态、运行状态、阻塞状态、恢复状态和终止状态 C.新建状态、可运行状态、运行状态、阻塞状态和终止状态 D.新建状态、可运行状态、运行状态、恢复状态和终止状态(分数:1.
17、00)A.B.C.D.36.下列可以获得构件前景色的方法是_。 A.getsizeo B.getForeground() C.getBackground() D.paint()(分数:1.00)A.B.C.D.37.数据库技术的根本目标是要解决数据的_。 A.存储问题 B.共享问题 C.安全问题 D.保护问题(分数:1.00)A.B.C.D.38.下面程序的正确输出是_。public class Hellopublic static void main(String args)int count,xPos= 25;for(count=1;count=10;count+)if(count=5)B
18、reak;system.out.println(count);xPos+=10; A.1 2 3 4 B.1 3 4 C.编译错误 D.以上都不正确(分数:1.00)A.B.C.D.39.下列叙述中正确的是_。 A.一个算法的空间复杂度大,则其时间复杂度必定大 B.一个算法的空间复杂度大,则其时间复杂度必定小 C.一个算法的时间复杂度大,则其空间复杂度必定小 D.上述 3 种说法都不对(分数:1.00)A.B.C.D.40.int 型 public 成员变量 MAX_LENGTH,该值保持为常数 100,则定义这个变量的语句是_。 A.public int MAX_LENGTH=100 B.f
19、inal int MAX_LENGTH=100 C.public const int MAX_LENGTH=100 D.public final int MAX_LENGTH=100(分数:1.00)A.B.C.D.二、B基本操作题/B(总题数:1,分数:18.00)41.本题分别比较两个字符串“A“和“a“是否相等,并比较两个字符“A“和“a“是否相等,并输出比较结果。 public class java1 public static void main(String args) _; c1=A;c2=a; String str1=new String(“A“),str2=new Strin
20、g(“a“); if(_) System.out.println(“char“+c1+“equals“+“char“+c2); else System.out.println(“char“+c1+“clocsnt equal“+“char“+c2); if(_) System.out.println(“string“+str1+“equals“+“string“+str2); else System.out.println(“string“+str1+“doesnt equal“+“string“+str2); (分数:18.00)_三、B简单应用题/B(总题数:1,分数:24.00)42.本
21、题的功能是,用户利用单选按钮选择性别,在下面的标签中显示用户的选择结果。 import java.aw1.*; _; public class java2 public static void main(String args) Frame f=new Frame(“java2“); f.setLayout(new GridLayout(3,1); f.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ); CheckboxGroup cg=new Che
22、ckboxGroup(); Checkbox male=new Checkbox(“男“,cg,false); Checkbox female=new Checkbox(“女“,cg,false); final Label la=new Labe1(“请选择你的性别“); male.addltemListener(new ItemListener() public void itemStateChanged(ItemEvent e) la.setText(“你是个男生?“); ); female.addltemListener(new ItemListener() public void it
23、emStateChanged(ltemEvent e) la.setText(“你是个女生?“); ); f.add(male); f.add(female); f.add(la); f.setSize(200,200); _; (分数:24.00)_四、B综合应用题/B(总题数:1,分数:18.00)43.本题的功能是监听对于列表项的操作。窗口中有一个列表和三个按钮“添加”、“删除”和“关闭”。单击“添加”按钮,则会在当前所选列表项后添加一个名为“新增表项”的列表项,同时后台输入列表中的表项数量。单击“删除”按钮后,如果未选中表项,则弹出提示消息框“请选择表项”。否则将选中的表项删除,同时后
24、台输出删除表项的内容和列表中的表项数量。单击“关闭”按钮退出程序。 import java.awt.*; import java.awt.event.*; import javax.swing.JOptionPane; public class java3 public static void main(String args) fina1 Frame frmFrame=new Frame(); Pane1 pnIPanel1=new Pane1(); Pane1 pnIPane12=new Pane1(); final List lstList=new List(8); for(int i=
25、0;i10;i+) String strName=“表项“+(new Integer(i+1).toString(); lstList.add(strName); Button btnButton1=new Button(“添加“); Button btnButton2=new Button(“删除“); Button btnButton3=new Button(“关闭“); btnButton1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) lstList.add(“新增表项
26、“,UlstList.getSelected()+1);/U System.out.println(“列表中的表项数量:“+lstList.getltemCount(); ); btnButton2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) Uif(lstList.getSelected()=null)/U JOptionPane.showMessageDialog(frmFrame,“请选择表项“); return; System.out.println(“删除表项的内容
27、;“+lstList.getSelectedltem(); UlstList.delete(lstl_ist.getSelectedlndex()/U; System.out.println ( “列表中的表项数量 : “ +lstl_ist.getltemCount(); ); btnButton3.addActionListener( new ActionListen-er() public void actionPerformed(ActionEvent e) System.exit(0); ); pnlPanel1.add(lstList); pnlPanel2.add(btnButt
28、on1); pnIPane12.add(btnButton2); pnlPane12.add(btnButton3); frmFrame.add(“North“,pnIPanel1); frmFrame.add(“South“,pnIPane12); frmFrame.setTitle(“java3“); frmFrame.pack(); frmFrame.show(); (分数:18.00)_计算机二级 JAVA-1 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:40.00)1.将一个容器 panel1 放到容器 frame1 中的方法是_。 A.
29、frame1.insert(panel1) B.frame1.add(panel1) C.frame1.addjPanel(panel1) D.frame1.insertjPane1(panel1)(分数:1.00)A.B. C.D.解析:解析 本题考查容器的嵌套。将一个容器 panell 放到容器 rramel 中的方法和在容器上添加部件是一样的,使用 add()方法即可。2.下列程序中,若从键盘中输入的是大写字母 C,则程序输出的结果是_。Import java.io.*;public class Exampublic static void main(Slring args)int ch
30、=0;System.out.println(“输入一个字符;“);trych=System.in.read();charch A=A,ch_Z=Z;int delta_c=(int)ch_A+(int)ch_Z-ch;System out.println(“编码后的字符为;“+(char)delta_c);catch(IOException e)e.printStackTrace();) A.C B.Y C.X D.字母 C 的 ASCII 码的整型值(分数:1.00)A.B.C. D.解析:解析 本题考查考生阅读 Java 程序的能力。当使用 h=System.in.read()语句从键盘读
31、入大写字母 C 赋给 ch,此时 ch 值为 67,也就是字母 C 的 ASCII 值。语句(int)ch_A+(int)ch_Z-ch 结果为88,ASCII 码中的 88 相当于字母 X,所以输出为 X,选项 C 正确。3.以下不是 APPLET 标记的选项是_。 A.PARAM B.BODY C.CODEBASE D.ALT(分数:1.00)A.B. C.D.解析:解析 APPLET标记的一般格式是: APPLET CODEBASE=codebaseURL CODE=appletFile ALT=alternateText NAME=appletInstanceName WIDTH=pi
32、xels HEIGHT=pixels AIdIGN=alignment VSPACE=pixels HSPACE=pixels rARCHIVE=archiveFiles PARAM NAME=appletParameter1 VALUE=value PARAM NAME=appletParameter2 VALUE=value alternateHTML 因此可以看出,选项 B 不是 APPLET 标记。4.下列代码的执行结果是_。public class Testpublic static void main(String args)System.out.println(5/2);Syst
33、em.out.println(100%3.0) A.2 和 1 B.2 和 1.0 C.2.5 和 1 D.2.5 和 1.0(分数:1.00)A.B. C.D.解析:解析 由于 5 和 2 都是 int 型,所以语句 system.out.println(5/2)的输出为 2。由于操作数 3.0为 double 型(Java 语言中浮点数的默认值为 double 型),所以结果为 double 型,即 1.0。5.用链表表示线性表的优点是_。 A.便于随机存取 B.花费的存储空间较顺序存储少 C.便于插入和删除操作 D.数据元素的物理顺序与逻辑顺序相同(分数:1.00)A.B.C. D.解析
34、:解析 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。”关系”描述的是数据元素之间的逻辑关系,因此又称数据的逻辑结构。数据的存储结构是指数据结构(数据的逻辑结构)在计算机中的表示,又称物理结构。数据的存储结构有顺序存储结构和链式存储结构两种。不同存储结构的数据处理效率不同。由于链表采用链式存储结构,元素的物理顺序并不连续,对于插入和删除无需移动元素,很方便,当查找元素时就需要逐个元素查找,因此查找的时间相对更长。6.十进制数 16 的十六进制表示格式是_。 A.0x10 B.0x16 C.OxA D.016(分数:1.00)A. B.C.D.解析:解析 本题考查 Java 语言中的
35、进制换算。首先要清楚各种进制的表示方法。整型常量有 3 种书写格式:十进制整数,如 156,-230,345;八进制整数,以 0 开头,如 012 表示十进制的 10;十六进制整数,以 0x 或 0X 开头,如 0X123 表示十进制数 291。十进制数 16 相当于十六进制的 10,所以选项 A 正确。7.在读取二进制数据文件的记录时,为了提高效率常常使用的一种辅助类是_。 A.InputStream B.FilelnputStream C.StringBuffer D.BufferedReader(分数:1.00)A.B.C. D.解析:解析 本题考查 Java 语言的输入/输出流。In-
36、putStream 类、FilelnputStream 类和BufferedReader 类都是 Java 语言中和输入输出直接相关的类,不属于辅助类,因此可以直接判断出选项C 为正确答案。8.为使下列代码正常运行,应该在下画线处填入的选项是_。()bj ectlnputStream In=new_(new FilelnputStream(“employee.doc“);Employeenewstaff=(Employee)in.readObject();In.close(); A.Reader B.InputStream C.Objectlnput D.ObjectlnputStream(分
37、数:1.00)A.B.C.D. 解析:解析 ObjectlnputStream 类和 ObjectOutputStream 类分别是 InputStream 类和 OuiputStream类的子类。ObjectlnputStream 类和 ObjectOutputStream 类创建的对象被称为对象输入流和对象输出流。对象输入流使用 readObject()方法读取一个对象到程序中。9.在程序读入字符文件时,能够以该文件作为直接参数的类是_。 A.FileReader B.BufferedReader C.FilelnputStream D.ObjectlnputStream(分数:1.00)
38、A. B.C.D.解析:解析 FileReader、Buf feredReader 是字符类输入流。FileInputStream 是字节输入流。对象串行化时,需要使用 ObjectlnputStream 类中提供的方法从对象流中读取对象。所以,在程序读入字符文件时,要使用字符流 FileReader 或 BufferedReader。但是 FileReader 的参数是读入的文件,而BufferedReader 的参数是 FileReader 流的一个对象。因此,本题的正确答案是 A。10.常采用的两种存储结构是_。 A.顺序存储结构和链式存储结构 B.散列方法和索引方式 C.链表存储结构和
39、数组 D.线性存储结构和非线性存储结构(分数:1.00)A. B.C.D.解析:解析 线性表的存储结构有顺序存储结构和链式存储结构。11.下列关于数据的存储结构的叙述中,正确的是_。 A.数据的存储结构是数据间关系的抽象描述 B.数据的存储结构是逻辑结构在计算机存储器中的实现 C.数据的存储结构分为线性结构和非线性结构 D.数据的存储结构对数据的具体实现没有影响(分数:1.00)A.B. C.D.解析:解析 数据的存储结构是逻辑结构在计算机存储器中的实现。为了全面表示一个逻辑结构,它在存储器中的影响包括数据元素自身值的表示和数据元素的表示两方面。12.下列叙述中正确的是_。 A.在面向对象的程
40、序设计中,各个对象之间具有密切的关系 B.在面向对象的程序设计中,各个对象都是公用的 C.在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小 D.上述 3 种说法都不对(分数:1.00)A.B.C. D.解析:解析 面向对象的程序设计是用对象模拟问题领域中的实体,各对象之间相对独立,相互依赖性小,通过消息来实现对象之间的相互联系。13.文件操作中,用于移动文件指针到指定的位置的是_。 A.seek(long pos) B.lengh() C.find() D.skipBytes(int n)(分数:1.00)A. B.C.D.解析:解析 本题考查文件操作。seek(long pos)是
41、随机文件记录的查找,满足题意。lengh()方法是求随机文件字节长度的方法,不符合题意;Java 中没有 find()方法;skipBytes(int n)方法是使随机文件访问跳过指定字节,不符合题意。14.下列叙述中错误的是_。 A.线性表是由 n 个元素组成的一个有限序列 B.线性表是一种线性结构 C.线性表的所有结点有且仅有一个前件和后件 D.线性表可以是空表(分数:1.00)A.B.C. D.解析:解析 线性表是一种线性结构,由 n(n0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前驱,最后一个结点没有后继,其他结点有且只有一个前驱和后继,所以选项 C 是错误的。
42、15.下列选项默认的布局管理器不是 BorderLayout 的是_。 A.Window B.Panel C.Frame D.Dialog(分数:1.00)A.B. C.D.解析:解析 本题考查 Java 中的布局管理器。Pane1 和 Applet 默认的布局管理器是 FlowLayout,构件在容器中放置规律是从上到下、从左到右进行放置;BorderLayout 是 Window、Frame 和 Dialog 的默认布局管理器,在 BorderLay-out 布局管理器中构件分成 5 个区域 North、South、East、West 和 Center,每个区域只能放置一个构件。考生应注意
43、区分各个布局管理器的区别和联系,以及各个布局管理器的特点。16.下面属于面向对象语言的是_。 A.Java 语言 B.机器语言 C.C 语言 D.汇编语言(分数:1.00)A. B.C.D.解析:解析 本题考查 Java 语言的特点。Java 语言是面向对象的,将客观世界看成由各种对象组成的;机器语言是计算机实际处理时使用的语言,把客观世界都看成由 O 和 1 组成;过去的高级语言大多数是面向过程的,比如 C 语言等,它们是通过数据结构与算法来描述客观世界;汇编语言属于低级语言。考生应注意区分各种语言的区别。本题正确答案为选项 A。17.阅读下面代码if(x=0)System.out.prin
44、tln(“冠军“);elseif(x-3)System.out.println(“亚军“);elseSystem.out.println(“季军“);若要求打印字符串“季军“,则变量 x 的取值范围是_。 A.x=0x=-3 B.x0 C.x-3 D.x=-3(分数:1.00)A.B.C.D. 解析:解析 本题考查的是条件分支语句 ifelse。ifelse 根据判定条件的真假来执行两种操作中的一种。当条件为真时,执行 if 语句后面的代码块;当条件为假时,执行 else 后面的代码块。题目中的代码段是一个 ifelse 的嵌套语句,根据 ifelse 语句的执行过程来进行分析。当 x 的值为
45、 0 时,布尔表达式“x=0“的结果为真,就输出“冠军“;当 x 的值不为 O 时,则执行 else 语句中的内容。else 语句中的代码又是一个 ifelse 语句,还是和上面一样进行分析。当 x 的值不等于 0 且大于-3 时,布尔表达式“x-3“的结果为真,输出“亚军“;当 x 的值不等于 0 且不大于-3,也就是 x 的值不等于 O 同时 x 的值小于等于-3 时,则输出“季军“。经过上述分析可知,要想输出“季军“,x 所满足的条件为 x!=0x=-3,但是当 x=-3 时,x 的值一定不会为 0。所以,x 所满足的条件可以简写为 x=-3。因此,本题的正确答案为 D。18.相对于数据库系统,文件系统的主要缺陷有数据依赖、数据不一致性和_。 A.可重用性差 B.安全性差 C.非持久性 D.冗余性(