1、(A)二级 JAVA 笔试-12 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列关于栈叙述正确的是_。A栈顶元素能最先被删除B栈顶元素最后才能被删除C栈底元素永远不能被删除D以上三种说法都不对(分数:1.80)A.B.C.D.2.下列叙述中正确的是_。A有一个以上根结点的数据结构不一定是非线性结构B只有一个根结点的数据结构不一定是线性结构C循环链表是非线性结构D双向链表是非线性结构(分数:1.80)A.B.C.D.3.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(假设根结点在第 1 层)_。A3 B4C6 D
2、7(分数:1.80)A.B.C.D.4.在软件开发中,需求分析阶段产生的主要文档是_。A软件集成测试计划 B软件详细设计说明书C用户手册 D软件需求规格说明书(分数:1.80)A.B.C.D.5.结构化程序所要求的基本结构不包括_。A顺序结构 BGOTO 跳转C选择(分支)结构 D重复(循环)结构(分数:1.80)A.B.C.D.6.下面描述中错误的是_。A系统总体结构图支持软件系统的详细设计B软件没计是将软件需求转换为软件表示的过程C数据结构与数据库设计是软件没计的任务之一DPAD 图是软件详细设计的表示工具(分数:1.80)A.B.C.D.7.负责数据库中查询操作的数据库语言是_。A数据定
3、义语言 B数据管理语言C数据操纵语言 D数据控制语言(分数:1.80)A.B.C.D.8.一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是_。A1:1 联系 B1:m 联系Cm:1 联系 Dm:n 联系(分数:1.80)A.B.C.D.9.有三个关系 R、S 和 T 如下:(分数:1.80)A.B.C.D.10.定义无符号整数类为 UInt,下面可以作为类 UInt 实例化值的是_。A-369 B369C0.369 D整数集合 1,2,3,4,5(分数:1.80)A.B.C.D.11.下列关于面向对象的论述中,正确的是_。A面由对象是指以对象为中心,分析、设计和实现
4、应用程序的机制B面向对象是指以功能为中心,分析、没计和实现应用程序的机制C面向对象仅适用于程序设计阶段D面向对象是一种程序设计语言(分数:1.80)A.B.C.D.12.语句“Hello“. equals(“hello“);的正确执行结果是_。Atrue BfalseC0 D1(分数:1.80)A.B.C.D.13.下列关于 Java 源程序结构的论述中,正确的是_。A一个文件包含的 import 语句最多 1 个B一个文件包含的 public 类最多 1 个C一个文件包含的接口定义最多 1 个D一个文件包含的类定义最多 1 个(分数:1.80)A.B.C.D.14.下列不属于 Java 关键
5、字的是_。Athis BsuperCfinally DNULL(分数:1.80)A.B.C.D.15.下列代码的执行结果是_。public class Testpublic static void main(Stringargs)intx=0,1,2,3;forint i=0; i3; 1+=2)trysystem. out. println(xi+2/xi+xi+1);catch(ArithmeticException e)System. out. println(“errorl“);catch(Exception e)System. out. println(“error2“);Aerro
6、rl Berror2Cerrorl error2 D2 error2(分数:1.80)A.B.C.D.16.下列整数的定义中,错误的是_。Aint f=314.; Bint a=012;Cint i=189; Dint d=0x123;(分数:1.80)A.B.C.D.17.要得到某日录下的所有文件名,在下列代码的下面线处应填入的内容是(两个下面线的填写内容相同)_。_pathName=new_(args0);String fileNames=pathName. list();AFilelnputStream BFileOutputStreamCFile DRandomAccessFile(分
7、数:1.80)A.B.C.D.18.在下列代码的下面线处应填入的内容是_。public class FirstSamplepublic static void main(_args)System. out. println(“你好!“);Astaff BdoubleCint DString(分数:1.80)A.B.C.D.19.Object 类中的方法 public int hashCode,在其子类中覆盖该方法时,其方法修饰符可以是_。Aprotected BpublicCprivate D缺省(分数:1.80)A.B.C.D.20.下列代码中的内部类名是_。import java. awt
8、. event. * ;lapoct javax. swing. * ;class TalkingClock(public void start(int interval, final boolean beep)ActionListener listener=newActionListener()publ ic void actionPerformed(ActionEvent event).Timer t=new Timer(interval, listener);t. start();ATimer BActionListenerClistener D匿名(分数:1.80)A.B.C.D.21
9、.已知 zipname 是一个压缩文件名。则 zipname 在下列代码中出现的正确位置是_。ZipInputStream zin=new ZipInputStzeam(new FileInputStream();ZipEntry entry;while(entry=zin. getNextEntry()!=null)fileCombo. addItem(entry. getName();zin. closeEntry();zin. close();A BC D(分数:1.80)A.B.C.D.22.下列代码的执行结果是_。int numbers=new int6;for(int i=1; i
10、numbers. length; i+)numbersi=i-1;System. out. print(numbersi+“);A0 1 2 3 4 5 B1 2 3 4 5 6C0 1 2 3 4 D1 2 3 4 5(分数:1.80)A.B.C.D.23.Java API 中支持线程的类或接口是_。. java. lang. Thread. java. lang. Runnable. java. lang. ThreadGroup. java. io. SerializableA, B,C, D,(分数:1.80)A.B.C.D.24.下列关于 Test 类的定义中,正确的是_。Aclas
11、s Test implements Runnablepublic void run()public void someMethodBclass Test implements Runnable(public void run();Cclass Test implements Runnable(public void someMethod;Dclass Test implements Runnablepublic void someMethod()(分数:1.80)A.B.C.D.25.下列方法被调用后,一定使调用线程改变当前状态的是_。Anotify() Byield()Csleep() Di
12、sAlive()Timer t=new Timer(interval, listener);t. start();ATimer BActionListenerClistener D匿名(分数:1.80)A.B.C.D.26.在堆栈类 Sharedstack 的定义中,为了保证堆栈在并发操作中数据的正确性,应在下画线处填入的修饰符是(两个下画线的填写内容相同)_。public class SharedStack_int idx=0;_chardata=new char10;public synchtonized void push(char c)public synchronized void
13、pop()Apublic B不使用修饰符Cprivate Dprotected(分数:1.80)A.B.C.D.27.关于下列代码编译或执行结果的描述中,正确的是_。public class Testpublic static void main(String args)TcstThread pml=new TestThread(“One“)pm1. start()TestThread pro2=new TestThread(“Two“)pro2. start()class TestThread extends Thread(private String sTname=“;TestThread
14、(String s)sTname=s;public void run()for(int i=0; i2; i+)trysleep (1000);catch (InterruptedException e)system. out. print (sTname+“);A不能通过编译,TestThread 类中不能定义变量和构造方法B输出 One One TWO TWOC输出 TWO One One TwoD选项 B 或 C 都有可能出现(分数:1.80)A.B.C.D.28.下列关于 Applet 的叙述中,正确的是_。A为了使 Applet 在浏览器中运行,需要在 HTML 文件中嵌入相应的 A
15、pplet 类BApplet 不能从外部接收参数CApplet 不能使用 javac 命令进行编译DJava Application 与 Applet 都必须包含 main()方法(分数:1.80)A.B.C.D.29.下列代码的下画线处应填入的方法名是_。import java. awt. * ;import java. applet. * ;public class Hello extends Appletpublic void_(Graphics g)g. drawString(“How are you!“, 10,10);Arepaint BprintlnCpaint Dshow(分数
16、:1.80)A.B.C.D.30.下列变量的定义中,错误的是_。Aint x=3; Bfloat f; d;CString s=“Hello“; Dboolean b=true;(分数:1.80)A.B.C.D.31.下列代码的执行结果是_。int length=“Hello“. length();System. out. println(length);A5 B2C10 D6(分数:1.80)A.B.C.D.32.下列代码的编译或执行结果是_。public class Myvalpublic static void main(string args)MyVal m=new MyVal();m
17、. aMethod();public void aMethod()boolean b=new Boolean5;System. out. println(bEO);A1 BnullC0 D编译错误(分数:1.80)A.B.C.D.33.若变量 a 是 String 类型的数据,那么表达式(a+a)的类型是_。Achar BStringCint Dlong(分数:1.80)A.B.C.D.34.Component 类中用于刷新组件的方法是_。AgetFont() BgetName()Cupdate() Dpaint()(分数:1.80)A.B.C.D.35.鼠标在窗口中移动时,产生的事件是_。A
18、ActionEvent BPrintEventCKeyEvent DMouseEvent(分数:1.80)A.B.C.D.36.一棵二叉树的中序遍历结果为 DBEAFC,前序遍历结果为 ABDECF,则后序历结果为_。AACFBED BDFBECACABCDEF DDEBFCA(分数:1.80)A.B.C.D.37.在关系 A(S, SN, D)和关系 B(D, CN, NM)中,A 的主关键字是 S,B 的主关键字是 D,则关系 A 的外码是_。ACN BSNCS DD(分数:1.80)A.B.C.D.38.若类声明加上_修饰符,则表示该类不能有子类。Aclose BfinalCdown D
19、end(分数:1.80)A.B.C.D.39.在对象流中,对象的传送首先要将所传送的对象串行化,也就是实现 Serializable 接口。下列代码中必须实现 Serializable 接口的类是_。ObjectInput in=new ObjectInputStream(new FileInputStream(“employee. dat“);EmployeenewStaff=(Employee1in. readobject();AEmployee BInputCStaff DStream(分数:0.80)A.B.C.D.40.下列代码的执行结果是_。public class Express
20、ionpublic static void main(String arga(Int v1=10, v2=99, v3=0;System. out. prIntln(v10)“(v2/v3)=3);A9.9 B3Cfalse Dtrue(分数:0.80)A.B.C.D.二、基本操作题(总题数:1,分数:10.00)41.本题将数组中 arr=5,6,3,7,9,1)的各个元素按下标的逆序输出。public class java1public static void main(Stringargs)int arr=5,6,3,7,9,1);_;n_;while(n=0)System. out.
21、print(arrn+“ “);_;(分数:10.00)填空项 1:_三、简单应用题(总题数:1,分数:10.00)42.本题中,用表格表现某个月的月历,其中标题是从 Sunday 到 Saturday,表格中的各项是可以修改的。import java. awt. * ;import java. awt. event. * ;import javax. swing. * ;import javax. swing. table. * ;public class java2public static void main(String args)try UIManager. setLookAndFe
22、el(UIManager, getSystemLookAndFeelClassName();catch (Exception e)JFrame frame=new CalendarTableFrame();frame. setDefaultCloseOperation ( JFrame. EXIT_ON_CLOSE);frame. show();class CalendarTableFrame extends JFrameprivate static final int WIDTH=500;private static final int HEIGHT=150;private_cells=nu
23、ll, null, null, new Integer(i), new Integer(2), new Integer(3), new Integer(4),new Integer(5), new Integer(6), new Integer(7), new Integer(8), new Integer(9), new Integer(10), new Integer(11),new Integer(12), new Integer(13), new Integer(14), new Integer(15), new Integer(16), new Integer(17), new In
24、teger(18),new Integer(19), new Integer(20), new Integer(21), new Integer(22), new Integer(23), new Integer(24), new Integer(25),new Integer(26), new Integer(27), new Integer(28), new Integer(29), new Integer(30), new Integer(31), nullprivate String columnNames=“Sunday“, “Monday“, “Tuesday“, “Wednesd
25、ay“, “Thursday“, “Friday“, “Saturday“public CalendarTableFrame()setTitle(“java2“);setSize(WIDTH, HEIGHT)JTable table=new_;getContentPane(). add(new JScrollPane(table),BorderLayout. CENTER);(分数:10.00)填空项 1:_四、综合应用题(总题数:1,分数:10.00)43.本题的功能是用键盘上的方向键来控制直线的绘制方向。如果一直按向上的方向键,则在窗口中从焦点开始向上缓慢绘制直线,按其他方向键也会向对应的
26、方向缓慢地绘制直线,如果按下Shift键的话,绘制直线的速度会加快。import java. awt. * ;import java. awt. geom. * ;import java. util. * ;import java. awt. event. * ;import javax. swing. * ;public class java3public static void main(String args)SketchFrame frame=new SketchFrame();frame. setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE)
27、;frame. show();class SketchFrame extends JFramepublic SketchFrame()setTitle(“java3“);setSize (DEFAULT_WIDTH, DEFAULT_HEIGHT);SketchPanel panel=new SketehPanel();Container contentPane=getContentPane();eontentPane, add(panel);public static final int DEFAULT_WIDTH=300;public static final int DEFAULT_ H
28、EIGHT=200;class SketchPanel extends JPanelpublic void sketchPanel()last=new Point2D. Double(100,100);lines=new ArrayList();KeyHandler listener=new KeyHandler();addkeyListener(this);setFocusable(true);public void add(int dx, int dy)Point2D end=new Point2D. Double(last. getX()+dx,last. getY()+dy);Line
29、2D line=new Line2D. Double(last, end);lines, add(line);repaint();last=end;public void paintComponent(Graphics g)super. paintComponent(g);Graphics2D g2=(Graphics2D)g;for (inti=0; ilines, size(); i+)g2. draw(Line2D) lines, get(i);private Point2D last;private ArrayList lines;private static final int SM
30、ALL_ INCREMENT=1;private static final int LARGE_ INCREMENT=5;private class KeyHandler implements KeyListenerpublic void keyPressed(KeyEvent event)KEY keyCode=event, getKeyCode();int d;if (event. isShiftDown()d=LARGE_INCREMENT;elsed=SMALL_INCREMENT;if (keyCode=KeyEvent. VK_LEFT) add(-d,0);else if (ke
31、yCode=KeyEvent. VK_RIGHT)add(d,0);else if (keyCode=KeyEvent. VK_UP) add(0,-d);else if (keyCode=KeyEvent. VK_DOWN)add(0,d) ;public void keyReleased(KeyEvent event)public void keyTyped(KeyEvent event)char keyChar=event, getKeyChar();int d;if (Character. isUpperCase(keyChar)d=LARGE_INCREMENT;keyChar=Ch
32、aracter. toLowerCase(keyChar);elsed=SMALL_INCREMENT;(分数:10.00)填空项 1:_(A)二级 JAVA 笔试-12 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列关于栈叙述正确的是_。A栈顶元素能最先被删除B栈顶元素最后才能被删除C栈底元素永远不能被删除D以上三种说法都不对(分数:1.80)A. B.C.D.解析:解析 栈是限定在一端进行插入、删除的先入后出的线性表数据结构,栈顶元素最后被插入到栈中,但是最先被删除;而栈底元素最先被插入,最后被删除。2.下列叙述中正确的是_。A有一
33、个以上根结点的数据结构不一定是非线性结构B只有一个根结点的数据结构不一定是线性结构C循环链表是非线性结构D双向链表是非线性结构(分数:1.80)A.B.C.D. 解析:解析 线性表的特点是:在数据元素的非空有限集合中;存在唯一的一个被称为“第一个”的数据元素;存在唯一一个被称为“最后一个”的数据元素;除第一个以外,集合中的每个数据元素均只有一个后继;除最后一个以外,集合中的每个数据元素均只有一个后继。因此,双向表是非线性结构。3.某二叉树共有 7 个结点,其中叶子结点只有 1 个,则该二叉树的深度为(假设根结点在第 1 层)_。A3 B4C6 D7(分数:1.80)A.B.C.D. 解析:解析
34、 对于任意一棵二叉树 T,如果叶子结点数为 n0,度为 2 的结点数为 n2,二者之间的关系是n0=n2 十 1,该题中度为 2 的结点数为 0,且只有一个叶子结点,因此,树中度为 1 的结点有 6 个,很容易想到树的高度为 7。4.在软件开发中,需求分析阶段产生的主要文档是_。A软件集成测试计划 B软件详细设计说明书C用户手册 D软件需求规格说明书(分数:1.80)A.B.C.D. 解析:解析 需求分析阶段只能产生需求分析规格说明数,A 测试说明书是软件测试阶段生成的,B 软件详细设计说明书是设计阶段生成的,C 用户手册是软件发布时随软件一同交付给用户的。5.结构化程序所要求的基本结构不包括
35、_。A顺序结构 BGOTO 跳转C选择(分支)结构 D重复(循环)结构(分数:1.80)A.B. C.D.解析:解析 结构化程序设计的三种结构是顺序、分支和循环,不包括 goto 跳转,它只是分支结构的一种,也是一个关键字。6.下面描述中错误的是_。A系统总体结构图支持软件系统的详细设计B软件没计是将软件需求转换为软件表示的过程C数据结构与数据库设计是软件没计的任务之一DPAD 图是软件详细设计的表示工具(分数:1.80)A. B.C.D.解析:解析 软件系统的总体结构图是软件架构设计的依据,它并不能支持软件的详细设计。7.负责数据库中查询操作的数据库语言是_。A数据定义语言 B数据管理语言C
36、数据操纵语言 D数据控制语言(分数:1.80)A.B.C. D.解析:解析 数据库操纵语言专门负责查询、增加和删除等数据操作。8.一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是_。A1:1 联系 B1:m 联系Cm:1 联系 Dm:n 联系(分数:1.80)A.B.C.D. 解析:解析 一个教师可以上多门课程,一门课程也可以由多个教师教授,这是典型的多对多的 E-R 关系。9.有三个关系 R、S 和 T 如下:(分数:1.80)A.B.C. D.解析:解析 S 中的关系全部出现在 R 中,只有做除法操作才会出现关系 T。10.定义无符号整数类为 UInt,下面可以
37、作为类 UInt 实例化值的是_。A-369 B369C0.369 D整数集合 1,2,3,4,5(分数:1.80)A.B. C.D.解析:解析 A 是有符号数,C 是浮点数,D 是集合,并不是类的实例化对象,只有 B 完全符合。11.下列关于面向对象的论述中,正确的是_。A面由对象是指以对象为中心,分析、设计和实现应用程序的机制B面向对象是指以功能为中心,分析、没计和实现应用程序的机制C面向对象仅适用于程序设计阶段D面向对象是一种程序设计语言(分数:1.80)A. B.C.D.解析:解析 面向对象是一种程序设计方式,Java、C+是面向对象设计的语言,而 C 是面向过程设计的语言。面向对象设
38、计适应于设计、编码、实现、测试等一系列环节。12.语句“Hello“. equals(“hello“);的正确执行结果是_。Atrue BfalseC0 D1(分数:1.80)A.B. C.D.解析:解析 Java 是强类型检查语言,字符串的 equals 方法执行的返回值是 true 或者 false。13.下列关于 Java 源程序结构的论述中,正确的是_。A一个文件包含的 import 语句最多 1 个B一个文件包含的 public 类最多 1 个C一个文件包含的接口定义最多 1 个D一个文件包含的类定义最多 1 个(分数:1.80)A.B. C.D.解析:解析 一个文件的 public
39、 类最多可以有一个,但是可以包含多个 import,包含的接口定义也可以有多个,包含的 class 类可以有多个,当该文件命名时,可以以 plJblic 类名来命名,反之编译之后将有多个.class 文件生成。14.下列不属于 Java 关键字的是_。Athis BsuperCfinally DNULL(分数:1.80)A.B.C.D. 解析:解析 Java 的关键字中不包含 NULL,它是 C 语言的关键字,表示空。15.下列代码的执行结果是_。public class Testpublic static void main(Stringargs)intx=0,1,2,3;forint i=
40、0; i3; 1+=2)trysystem. out. println(xi+2/xi+xi+1);catch(ArithmeticException e)System. out. println(“errorl“);catch(Exception e)System. out. println(“error2“);Aerrorl Berror2Cerrorl error2 D2 error2(分数:1.80)A.B.C. D.解析:解析 当 0 作为除数时,会产生异常,而 ArithmeticException 和 Exception 两类异常都内部被捕捉到。16.下列整数的定义中,错误的是_
41、。Aint f=314.; Bint a=012;Cint i=189; Dint d=0x123;(分数:1.80)A. B.C.D.解析:解析 整数的定义不能带小数点,表明是一个浮点数;其他三个都正确。17.要得到某日录下的所有文件名,在下列代码的下面线处应填入的内容是(两个下面线的填写内容相同)_。_pathName=new_(args0);String fileNames=pathName. list();AFilelnputStream BFileOutputStreamCFile DRandomAccessFile(分数:1.80)A.B.C. D.解析:解析 使用 File 类的
42、 list 方法可以获得目录下所有文件名称,FilelnputStream 和 FileC)utpulStream 类都不具有 list 方法。18.在下列代码的下面线处应填入的内容是_。public class FirstSamplepublic static void main(_args)System. out. println(“你好!“);Astaff BdoubleCint DString(分数:1.80)A.B.C.D. 解析:解析 这是学习 Java 语言接触的第一个程序,main 函数的参数是 String args。19.Object 类中的方法 public int ha
43、shCode,在其子类中覆盖该方法时,其方法修饰符可以是_。Aprotected BpublicCprivate D缺省(分数:1.80)A.B. C.D.解析:解析 所有的类都是 Object 的子类,如果要覆盖 Object 的 equals 方法则必须覆盖 hasCode 方法,覆盖时的属性是 public。20.下列代码中的内部类名是_。import java. awt. event. * ;lapoct javax. swing. * ;class TalkingClock(public void start(int interval, final boolean beep)Acti
44、onListener listener=newActionListener()publ ic void actionPerformed(ActionEvent event).Timer t=new Timer(interval, listener);t. start();ATimer BActionListenerClistener D匿名(分数:1.80)A.B. C.D.解析:解析 内部类就是在类内部重新定义的新类,该类能连接外部类,但是不能和外部类进行通信。ActionListenser 有自己的类方法体,而 Timer 没有,只是实例化了一个 Tlmer 对象。21.已知 zipnam
45、e 是一个压缩文件名。则 zipname 在下列代码中出现的正确位置是_。ZipInputStream zin=new ZipInputStzeam(new FileInputStream();ZipEntry entry;while(entry=zin. getNextEntry()!=null)fileCombo. addItem(entry. getName();zin. closeEntry();zin. close();A BC D(分数:1.80)A. B.C.D.解析:解析 该程序的功能是从 zip 压缩文件中获取各个文件的名字。因此应该在 A 处。22.下列代码的执行结果是_。
46、int numbers=new int6;for(int i=1; inumbers. length; i+)numbersi=i-1;System. out. print(numbersi+“);A0 1 2 3 4 5 B1 2 3 4 5 6C0 1 2 3 4 D1 2 3 4 5(分数:1.80)A.B.C. D.解析:解析 该题是简单的 for 循环考题,通过逐一判断可得到答案,数组的长度是 6,数组的内容从下标 1 开始,最大循环是 5,numbeis5的值是 4。23.Java API 中支持线程的类或接口是_。. java. lang. Thread. java. lang. Runnable. java. lang. ThreadGroup. java. io. SerializableA, B,C, D,(分数:1.80)A. B.C.D.解析:解析 java. lang. Tbread 类和 java. lang. Runnable 是创建线程的两个方法,分别是实现Thread 类和继承 Runnabe(接口,而 ThreadGroup 类是管理一组线程的类。而 Serializable 是序列化,将一个对象的状态保存起来,在适当的时候再获得,它不支持线程。24.下列关于 Test 类的定义
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1