1、二级 JAVA笔试 22及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.关系表中的每一行成为一个( )。(分数:2.00)A.元组B.字段C.属性D.码2.软件详细设计的主要任务是( )。(分数:2.00)A.确定每个模块的算法和使用的数据结构B.确定每个模块外部的接口C.确定每个模块的功能D.编程3.在数据库设计的 4个阶段中,为关系模式选择存取方法(建立存取路径)的阶段是( )。(分数:2.00)A.需求分析B.概念设计C.逻辑设计D.物理设计4.计算机中的流是( )。(分数:2.00)A.流动的字节B.流动的对象C.流动的文件D
2、.流动的数据缓冲区5.下列说法中错误的是( )。(分数:2.00)A.每个 UDP报文都包含了完整的源地址和目的地址B.UDP协议中,发送方和接收方之间不用建立可靠的连接C.UDP协议传输是可靠的,而且操作很简单D.UDP的最大报文长度是 64KB6.以下说法中正确的是( )。(分数:2.00)A.在线性表中插入一个元素后,线性表长度不变B.在线性表中删除一个元素后,线性表长度不变C.在线性表中插入一个元素后,线性表长度加 1D.在线性表顺序存储的情况下插入一个元素的效率较高7.下列关于链式存储的叙述中错误的是( )。(分数:2.00)A.链式存储结构的空间可以是不连续的B.数据节点的存储顺序
3、与数据元素之间的逻辑关系可以不一致C.链式存储只可用于线性结构D.链式存储也可用于非线性结构8.在创建 Thread对象之后,调用线程的( )方法开始执行线程。(分数:2.00)A.start()B.interrupt()C.run()D.stop()9.下列操作中是 Applet可以做的是( )。(分数:2.00)A.读取客户端部分系统变量B.读取客户端文件C.在客户端主机上创建新文件D.在客户端装载程序库10.软件是一种( )。(分数:2.00)A.程序B.数据C.逻辑产品D.物理产品11.某二叉树 T有 n个结点,设按某种顺序对 T中的每个结点进行编号,编号值为 1、2、n,且有如下性质
4、:T 中任一结点 v,其编号等于左子树上的最小编号减 1,而 v的右子树的结点中,其最小编号等于 v 左子树上的最大编号加 1。此二叉树是按( )顺序编号的。(分数:2.00)A.前序遍历B.中序遍历C.后序遍历D.按层次遍历12.给出下列代码段: int i=3,j; outer:while(i0) j=3; inner:while(j0) if (j=2) break outer; System.out.println(j+“and“+i); j-; i-; 下列选项中哪个会被输出到屏幕? ( )(分数:2.00)A.3 and 3B.3 and 2C.3 and 1D.3 and 013
5、.已知大写字母 A的 ASCII码是 65,小写 a的 ASCII码值是 97,则用八进制表示字符常量/101为( )。(分数:2.00)A.字符 AB.字符 aC.字符 eD.非法常量14.当输入一个字节流时,要( )。(分数:2.00)A.实现 DataInput接口B.实现 ObjectInput接口C.Serializable接口D.继承 Reader抽象类15.下面关于 Java代码安全的说法中不正确的是( )。(分数:2.00)A.Java程序在解释执行时所需要的类都是通过字节码校验程序装入的B.Java字节码的执行是由 JVM中的编译器完成的C.在 Java程序运行时,首先装入字
6、节码,然后进行校验,最后在解释器中执行D.在默认的安全配置条件下,Applet 不能访问任何本地资源16.若有数组名作为实参,则传递给形参的是( )。(分数:2.00)A.数组的首地址B.第一个元素的值C.数组中全部元素的值D.数组元素的个数17.对一个已经排好序的序列进行排序,采用( )比较适宜。(分数:2.00)A.冒泡法B.直接选择法C.直接插入法D.归并法18.下列代码的执行结果是( )。 public class Test1 public static void main(String args) float t = 9.0f; int q = 5; System.out.print
7、ln(t+)*(-q); (分数:2.00)A.40B.40.0C.36D.36.019.下列各项关于 Applet(小应用程序)的描述中错误的是( )。(分数:2.00)A.Applet是能够嵌入到 HTML页面中,并能够在浏览器中运行的 Java类B.Applet自身也能够运行C.Applet与 Application的主要区别是在执行方式上D.Applet是 Java与 Web相结合而引入的一种重要的 Java应用形式20.下列哪一项不属于 J2ME体系结构? ( )(分数:2.00)A.ProfileB.Optional PackagesC.ConfigurationD.Integra
8、tion21.下列各项说法中错误的是( )。(分数:2.00)A.Swing构件支持双缓冲区,编写程序的时候不需要重写有关的代码B.AWT构件支持双缓冲区,编写程序的时候不需要重写有关的代码C.Swing构件支持在按钮构件上同时添加图标和文字D.AWT构件不支持在按钮构件上添加图标22.有如下程序: public class MethLoad public static void main(String args) MethLoad classObj = new MethLoad(); classObj.methtest(4); classObj.methtest(4.0); void met
9、htest(double D) double sum = 2*d; System.out.println(“The result is:“+sum); void methtest(int n) int sum = 4*n; System.out.println(“The result is:“+sum); 程序的运行结果为( )。(分数:2.00)A.The result is:16 The result is:8.0B.The result is:8.0 The resuR is:16C.The result is:8 The result is:16.0D.The resuR is:16.
10、0 The result is:823.下列代码的执行结果是( )。 public class Test public static void main(String args ) int a =4,b=6,c=8; String s =“abc“; System.out.println(a+b+s+c); System.out.println(); (分数:2.00)A.ababccB.464688C.46abc8D.10abc824.下列关于 Java简单数据类型的描述中,正确的是( )。(分数:2.00)A.布尔类型的数据不可以和数字进行相互转换B.布尔类型数据可以和数字进行相互转换C.
11、ab是字符常量D.ab是字符串常量25.下列关于队列的叙述中不正确的是( )。(分数:2.00)A.在队列中能插入数据B.在队列中能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表26.实现一个线程的执行有几种方法? ( )(分数:2.00)A.1种B.2种C.3种D.4种27.下列程序运行后的输出结果是( )。 public class Sun public static void main (String args int i,j,s; s=0; for (i=1;i=3;i+) for(j=0;j=i-1;j+) s=s+1; System.out.println(s); (
12、分数:2.00)A.6B.5C.4D.328.指出下面哪一项是在抽象类中声明一个抽象方法。( )(分数:2.00)A.public abstract method();B.public abstract void method();C.public void abstract Method();D.public void method() abstract;29.在结构化程序设计中,使用 goto语句的原则是( )。(分数:2.00)A.限制B.鼓励C.禁止D.滥用30.下面程序的输出结果是( )。 import java.awt.*; import java.applet.*; public
13、 class HelloApplet extends Applet public void paint(Graphics g) g.drawstring(“Hello World!“, 20, 20); (分数:2.00)A.20,20B.Hello World!C.编译不能通过D.以上都不对31.下列命令中,( )命令是显示证书缓存区和密钥表项的命令。(分数:2.00)A.klistB.ktabC.policytoolD.kinit32.不属于响应鼠标事件的监听器中方法的是( )。(分数:2.00)A.mouseDragged(MouseEvenB.mouseExited(MouseEven
14、C.mouseReleased(MouseEvenD.mouseQuited(MouseEven33.下列哪个成员方法声明是正确的? ( )(分数:2.00)A.public abstract final int f(). public static boolean f().B.static protected void g(a,C.D.protected private number;34.下列数组的定义中,会产生错误的是( )。(分数:2.00)A.int a=0,1,2,3,4,5,6;B.int a10=0,1,2,3,4,5,6;C.char a5=“hello“;D.char a5
15、=h,e,l,l,o;35.ActionEvent事件相应的监听器接口是( )。(分数:2.00)A.ActionListenerB.ActionEventListenerC.ContainerListenerD.ContainerEventListener二、B填空题/B(总题数:15,分数:30.00)36.在数据结构中,从逻辑上可以把数据结构分成线性结构和U 【1】 /U。(分数:2.00)填空项 1:_37.在双链表中,每个结点有两个指针域,一个指向前驱结点,另一个指向U 【2】 /U。(分数:2.00)填空项 1:_38.U【3】 /U是当前软件开发环境中富有特色的研究工作和发展方向
16、。(分数:2.00)填空项 1:_39.数据库是指按照一定的规则存储在计算机中的U 【4】 /U的集合,它能被各种用户共享。(分数:2.00)填空项 1:_40.模块的独立性一般用两个准则来度量,即模块间的U 【5】 /U和模块的内聚性。(分数:2.00)填空项 1:_41.要引入 java.awt包中的所有直接公有类,需用语句U 【6】 /U。(分数:2.00)填空项 1:_42.else子句不能单独作为语句使用,它必须和 if子句配对使用,else 子句与 if子句的配对原则是:else子句总是与离它U 【7】 /U的 if子句配对使用。(分数:2.00)填空项 1:_43.ByteArr
17、ayInputStream以U 【8】 /U作为输入流。(分数:2.00)填空项 1:_44.Java对 I/O访问还提供同步处理机制,这就是U 【9】 /U。(分数:2.00)填空项 1:_45.Java的线程调度策略是基于U 【10】 /U的抢占式。(分数:2.00)填空项 1:_46.当用户在 TextField中输入一行文字后,按回车键,实现U 【11】 /U接口可实现对事件的响应。(分数:2.00)填空项 1:_47.bar为一 JScrollBar组件,阅读下面程序段,请在程序中的画线处填入正确的语句使程序能够正确运行。 . public WellAdjusted() super(
18、“Well Adjusted“); setSize(350,100); bar.addAdjustmentListener(this); value.setHorizontalAlignment(SwingConstants.CENTER); value.setEditable(false); JPanel pane = new JPane(); pane.setLayout(new BorderLayout(); pane.add(value,“Center“): pane.add(bar,“South“); setContentPane(pane); public void adjustm
19、entValueChanged(AdjustmentEvent evt) U【12】 /U if(source =bar) int newValue bar.getValue(); value.setText(“+newValue); repaint(); (分数:2.00)填空项 1:_48.J2SDK的 RMI命令有 4个,其中用于激活系统守候进程,以便能够在 Java虚拟机上注册和激活对象的是U 【13】 /U。(分数:2.00)填空项 1:_49.U【14】 /U是运行 Java小应用程序的一个软件单元,对 Java小应用程序的访问权限加以限制。(分数:2.00)填空项 1:_50.下
20、列 JApplet实现了一个不可编辑的 JTextArea和一个 JButton。请填写正确的程序代码。 import javax.swing.*; import java.awt.*; public class Test17 extends JApplet JTextArea jta; public void init() Container cp = getContentPane(); cp.setLayout( new GridLayout(2,1); jta = new JTextArea(30,30); jta.setEditable( true); U 【15】 /U jta.se
21、tText(“你好“); JButton jb = new JButton (“ok“); cp.add(jB) ; (分数:2.00)填空项 1:_二级 JAVA笔试 22答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:70.00)1.关系表中的每一行成为一个( )。(分数:2.00)A.元组 B.字段C.属性D.码解析:解析 本题考查关系表中的一些概念。元组是指一个实体的所有属性值的集合,关系表中的每一横行就是一个实体的所有属性值的集合,选项 A是正确的。关系表中的每一列的列名为一个属性,列中的每一元素为一个字段。码是指能唯一表示元组的最小属性集。
22、2.软件详细设计的主要任务是( )。(分数:2.00)A.确定每个模块的算法和使用的数据结构 B.确定每个模块外部的接口C.确定每个模块的功能D.编程解析:解析 本题考查结构化设计方法的详细设计。从软件开发的工程化观点来看,在使用程序设计语言编制程序以前,需要对所采用算法的逻辑关系进行分析,设计出全部必要的过程细节,并给予清晰的表达。详细设计的任务就是要确定各个模块的实现算法,并精确地表达这些算法。3.在数据库设计的 4个阶段中,为关系模式选择存取方法(建立存取路径)的阶段是( )。(分数:2.00)A.需求分析B.概念设计C.逻辑设计D.物理设计 解析:解析 本题考查对数据库设计的 4个阶段
23、的区分。题目不难,只需要分清楚 4个阶段的任务是什么就可以答对。显然不是需求分析阶段,因为需求分析是分析用户的要求。而概念设计是将需求分析得到的用户需求抽象为信息结构及概念模型的过程,涉及不到关系模式的存取。逻辑结构设计是在概念结构设计的基础上,将 E-R图转换成以数据库管理系统的逻辑数据模型表示的逻辑模式,也涉及不到存取的问题。而物理设计是为一个给定的逻辑数据模型选取一个最适合应用环境的物理结构的过程。所以为关系模式选择存取方法应该属于物理设计阶段。4.计算机中的流是( )。(分数:2.00)A.流动的字节B.流动的对象C.流动的文件D.流动的数据缓冲区 解析:解析 在计算机中,流的概念是
24、1984年由 C语言第一次引入的。流可以看做是一个流动的数据缓冲区。5.下列说法中错误的是( )。(分数:2.00)A.每个 UDP报文都包含了完整的源地址和目的地址B.UDP协议中,发送方和接收方之间不用建立可靠的连接C.UDP协议传输是可靠的,而且操作很简单 D.UDP的最大报文长度是 64KB解析:解析 UDP 协议的传输是不可靠的,因为 UDP协议是无连接的协议。6.以下说法中正确的是( )。(分数:2.00)A.在线性表中插入一个元素后,线性表长度不变B.在线性表中删除一个元素后,线性表长度不变C.在线性表中插入一个元素后,线性表长度加 1 D.在线性表顺序存储的情况下插入一个元素的
25、效率较高解析:解析 在线性表中插入一个元素后,线性表长度加 1,A 是错误的。在线性表中删除一个元素后,线性表长度减 1,B 是错误的。在线性表顺序存储的情况下插入一个元素,在平均情况下需要移动的数据元素数目为 n/2,效率较低,D 是错误的。7.下列关于链式存储的叙述中错误的是( )。(分数:2.00)A.链式存储结构的空间可以是不连续的B.数据节点的存储顺序与数据元素之间的逻辑关系可以不一致C.链式存储只可用于线性结构 D.链式存储也可用于非线性结构解析:解析 链式存储结构不同于顺序存储结构,它的存储空间可以是不连续的,并且数据节点的存储顺序与数据元素之间的逻辑关系可以不一致。数据元素之间
26、的逻辑关系是由指针域来确定的。链式存储方式可用于线性结构,也可用于非线性结构,在表示复杂的非线性结构时,指针域的个数要多一些。8.在创建 Thread对象之后,调用线程的( )方法开始执行线程。(分数:2.00)A.start() B.interrupt()C.run()D.stop()解析:解析 本题考查线程机制。选项 A正确,为了运行线程,将调用它的 start()方法,调用线程的start()方法将导致调用另外一个方法线程对象中所必须具有的 run()方法。 run()方法是线程类的核心。通过添加 implements Runnable,创建和小程序相关的 Thread 对象,并使用小程
27、序的 start()、stop()和 run()方法,小程序将成为使用线程的程序。另外,千万要注意小程序和线程都有 start()方法,当创建使用线程的小程序时,这点会让人迷惑,但这两个方法是不同的,而且彼此之间没有任何联系。 选项 B错误,interrupt()方法中断一个正在运行的程序;选项 C错误,run()是一个抽象方法,它是通过调用 start()方法触发它运行;选项 D错误,stop()方法终止一个线程的运行。由此可知本题的答案是A。9.下列操作中是 Applet可以做的是( )。(分数:2.00)A.读取客户端部分系统变量B.读取客户端文件 C.在客户端主机上创建新文件D.在客户
28、端装载程序库解析:解析 处于安全机制的 Applet小程序不能完成下列任务:读写用户的文件系统;与提供包含小程序的网页的站点之外的 Internet站点联系;在阅读者的系统上运行任何程序;加载存储在用户系统上的程序,例如可执行程序和共享库。但是可以读取客户端文件。10.软件是一种( )。(分数:2.00)A.程序B.数据C.逻辑产品 D.物理产品解析:解析 计算机软件是计算机系统中与硬件互相依存的另一部分,是程序、数据及相关文档的完整集合。软件是一种逻辑实体,而不是物理实体,具有抽象性。11.某二叉树 T有 n个结点,设按某种顺序对 T中的每个结点进行编号,编号值为 1、2、n,且有如下性质:
29、T 中任一结点 v,其编号等于左子树上的最小编号减 1,而 v的右子树的结点中,其最小编号等于 v 左子树上的最大编号加 1。此二叉树是按( )顺序编号的。(分数:2.00)A.前序遍历 B.中序遍历C.后序遍历D.按层次遍历解析:解析 根据节点 v的右子树的结点中,其最小编号等于 v左子树上的结点的最大编号加 1,可以断定是前序遍历。12.给出下列代码段: int i=3,j; outer:while(i0) j=3; inner:while(j0) if (j=2) break outer; System.out.println(j+“and“+i); j-; i-; 下列选项中哪个会被输
30、出到屏幕? ( )(分数:2.00)A.3 and 3 B.3 and 2C.3 and 1D.3 and 0解析:解析 本题考查循环语句与条件语句的嵌套使用。break 语句常用的一个作用是用于退出循环语句或 Switch语句,其另外一个作用就是提供一个“标签化中断”的语句,可让程序退出多重嵌套。题中循环变量 i和 j的初值都为 3,开始进入循环体,输出 3and 3。然后都执行 j-语句,j 的值为 2,进入if分支,执行语句“break outer;”,即跳出整个循环体。故程序代码最后的输出为 3 and 3。13.已知大写字母 A的 ASCII码是 65,小写 a的 ASCII码值是
31、97,则用八进制表示字符常量/101为( )。(分数:2.00)A.字符 A B.字符 aC.字符 eD.非法常量解析:解析 此题考查的知识点是转义字符。此题目的关键是八进制的 101对应的十进制数是多少。八进制 101转换为十进制为 65,也就是 A的 ASCII码。14.当输入一个字节流时,要( )。(分数:2.00)A.实现 DataInput接口 B.实现 ObjectInput接口C.Serializable接口D.继承 Reader抽象类解析:解析 所有的字节输入流都从 InputStream类继承,字节输入流首先要实现 DataInput接口。15.下面关于 Java代码安全的说
32、法中不正确的是( )。(分数:2.00)A.Java程序在解释执行时所需要的类都是通过字节码校验程序装入的B.Java字节码的执行是由 JVM中的编译器完成的 C.在 Java程序运行时,首先装入字节码,然后进行校验,最后在解释器中执行D.在默认的安全配置条件下,Applet 不能访问任何本地资源解析:解析 选项 A是正确的,由于解释执行之前需要做字节码的校验,因此执行需要的类都是通过字节校验码程序装入的;选项 C,解释和选项 A一样;选项 D正确,体现了 Java 安全配置策略的一个重要方面;选项 B是错误的,Java 字节码的执行应该是由 JVM中的解释器完成的。16.若有数组名作为实参,
33、则传递给形参的是( )。(分数:2.00)A.数组的首地址 B.第一个元素的值C.数组中全部元素的值D.数组元素的个数解析:解析 本题考查数组作为函数形参方面的应用。当将数组传递给函数时,被调用的函数中可用不带下标的数组名。这实际上是传递数组第 1个元素的地址给函数。在 Java语言中,不可以把整个数组作为一个参数来传递,而是通过指针来完成。故本题答案是 A。17.对一个已经排好序的序列进行排序,采用( )比较适宜。(分数:2.00)A.冒泡法B.直接选择法C.直接插入法 D.归并法解析:解析 若从排序所用的比较时间来看,直接插入法和归并法都比较少,对于 N个元素的序列,大约需要比较 N-1次
34、;但归并法要占用较大的存储空间,所以用直接插入法比较好。18.下列代码的执行结果是( )。 public class Test1 public static void main(String args) float t = 9.0f; int q = 5; System.out.println(t+)*(-q); (分数:2.00)A.40B.40.0C.36D.36.0 解析:解析 本题考查+和-运算符,表达式 (t+)*(-q)的结果为 36.0。19.下列各项关于 Applet(小应用程序)的描述中错误的是( )。(分数:2.00)A.Applet是能够嵌入到 HTML页面中,并能够在浏
35、览器中运行的 Java类B.Applet自身也能够运行 C.Applet与 Application的主要区别是在执行方式上D.Applet是 Java与 Web相结合而引入的一种重要的 Java应用形式解析:解析 Applet 是能够嵌入到 HTML页面中,并能够在浏览器中运行的 Java类。Applet 自身不能运行,必须嵌入在其他应用程序 (如 Web浏览器或 Java appletviewer)中运行,因此 B选项的描述是错误的。Applet 与 Application 的主要区别是在执行方式上: Application 以 main()方法为入口点运行: Applet要在浏览器或 ap
36、pletviewer中运行,运行过程要比 Application复杂。20.下列哪一项不属于 J2ME体系结构? ( )(分数:2.00)A.ProfileB.Optional PackagesC.ConfigurationD.Integration 解析:解析 Integration 是 J2SE体系结构中的一项,但不属于 J2ME。21.下列各项说法中错误的是( )。(分数:2.00)A.Swing构件支持双缓冲区,编写程序的时候不需要重写有关的代码B.AWT构件支持双缓冲区,编写程序的时候不需要重写有关的代码 C.Swing构件支持在按钮构件上同时添加图标和文字D.AWT构件不支持在按钮
37、构件上添加图标解析:解析 Swing 构件支持双缓冲区, JComponent 构件默认双缓冲区,但是 AWT构件不支持,需要重写代码。22.有如下程序: public class MethLoad public static void main(String args) MethLoad classObj = new MethLoad(); classObj.methtest(4); classObj.methtest(4.0); void methtest(double D) double sum = 2*d; System.out.println(“The result is:“+sum
38、); void methtest(int n) int sum = 4*n; System.out.println(“The result is:“+sum); 程序的运行结果为( )。(分数:2.00)A.The result is:16 The result is:8.0 B.The result is:8.0 The resuR is:16C.The result is:8 The result is:16.0D.The resuR is:16.0 The result is:8解析:解析 本题考查对方法重载的掌握程度。在上面的程序中,类 MethLoad中定义了两个具有相同名称 met
39、htest的方法,但这两个方法的参数不相同,编译器会根据参数的个数和参数类型宋决定应该调用哪个方法。在类 MethLoad中先声明了一个 classObj对象,接着调用 classObj的 methest方法,只不过是两次调用中参数的类型不同,第 1次调用的参数是血类型的 4,第 2次调用的参数是 double 类型的4.0,因此要调用相对应的方法。int 类型的方法返回参数值的 4倍,而 double 类型的方法返回参数值的2倍。23.下列代码的执行结果是( )。 public class Test public static void main(String args ) int a =4
40、,b=6,c=8; String s =“abc“; System.out.println(a+b+s+c); System.out.println(); (分数:2.00)A.ababccB.464688C.46abc8D.10abc8 解析:解析 Java 语言对+运算符进行了扩展,使它能够进行字符串的链接。但是一般说来,如果+运算符的第一个操作数是字符串,则 Java系统会自动将后续的操作数类型转换成为字符串类型,然后再进行连接:如果 +运算符的第一个操作数不是字符串,则运算结果由后续的操作数决定。24.下列关于 Java简单数据类型的描述中,正确的是( )。(分数:2.00)A.布尔类
41、型的数据不可以和数字进行相互转换 B.布尔类型数据可以和数字进行相互转换C.ab是字符常量D.ab是字符串常量解析:解析 字符常量是单引号括起来的个字符,所以 C选项是错误的;字符串常量是双引号括起来的若干字符,所以 D选项的说法是错误的;布尔类型的数据不对应任何的数值,因此不可以和数字进行相互转换。25.下列关于队列的叙述中不正确的是( )。(分数:2.00)A.在队列中能插入数据B.在队列中能删除数据C.队列是先进先出的线性表D.队列是先进后出的线性表 解析:解析 队列是指允许在一端进行插入,而在另一端进行删除的线性表。允许插入的一端称为队尾,允许删除的一端称为队头,所以在队列中既可以插入
42、数据也可以删除数据,所以选项 A、B 是正确的。在这种数据结构中,最先插入的元素最先能够被删除,因此队列又称为先进先出的线性表。答案是 D。26.实现一个线程的执行有几种方法? ( )(分数:2.00)A.1种B.2种C.3种 D.4种解析:解析 实现一个线程的执行有 3种方法。27.下列程序运行后的输出结果是( )。 public class Sun public static void main (String args int i,j,s; s=0; for (i=1;i=3;i+) for(j=0;j=i-1;j+) s=s+1; System.out.println(s); (分数:
43、2.00)A.6 B.5C.4D.3解析:解析 本题考查对 for循环语句理解。第 1重 for循环共有 3次,第 2重 for循环共有 2次,所以总共执行 6次循环,每次循环 s的值加 1,因此 s=6。故本题答案是 A。28.指出下面哪一项是在抽象类中声明一个抽象方法。( )(分数:2.00)A.public abstract method();B.public abstract void method(); C.public void abstract Method();D.public void method() abstract;解析:解析 本题考查在 Java抽象类中声明抽象方法的
44、格式。在 Java语言中,将 abstract关键字修饰的类称为抽象类。与此相对应,用 abstract关键字修饰的方法称为抽象方法。当一个类的定义完全表示抽象的概念时,它不应该被实例化为一个对象,因此不能为抽象类实例化对象,也就是说,abstract 类必须被继承。与此相应,abstract 方法必须被重写。抽象类中可以包含抽象方法,对抽象方法只须声明,而不需要实现具体的内容,格式为 abstract retumType MethodName(paramlist)。对于抽象方法声明格式,abstract 关键字不能缺少,此外,还需要注意如下内容: 声明格式中没有; 最后的“;”不能缺少; 可
45、以用 public或 protected关键字来修饰。 选项 A错误,缺少返回类型;选项 B正确; 选项 C错误,返回类型要跟在 abstract后面; 选项 D错误,抽象方法中不需要有具体的实现内容,更不需要。29.在结构化程序设计中,使用 goto语句的原则是( )。(分数:2.00)A.限制 B.鼓励C.禁止D.滥用解析:解析 在块和进程的非正常出口处往往需要用 goto语句,使用 goto语句会使程序的执行效率提高,但它易造成程序的混乱,程序的质量与 goto语句的数量成反比。结构化程序设计的关键是提高程序的清晰性,因此在结构化程序设计中使用 goto语句的原则是限制。30.下面程序的
46、输出结果是( )。 import java.awt.*; import java.applet.*; public class HelloApplet extends Applet public void paint(Graphics g) g.drawstring(“Hello World!“, 20, 20); (分数:2.00)A.20,20B.Hello World! C.编译不能通过D.以上都不对解析:解析 本题是考查考生对 Java程序的执行过程的理解。这是一个简单的 Applet(小应用程序)。程序中,首先,用 import语句引入 java.awt和 java.applet下所
47、有的包,使得该程序可以使用这些包中所定义的类,它类似于 C中的#include 语句:然后,声明一个公共类 HelloApplet,用 extends指明它是 Applet的子类。在类中,我们重写父类 Applet的 paint()方法,其中,参数 g为 Graphics类,它表明当前作图的上下文。在 paint()方法中,调用 g的方法 drawstring(),在坐标(20,20)处输出字符串“Hello World!“,其中坐标是用像素点来表示的。这个程序中没有实现 main()方法,这是 Applet与应用程序 (Application)的区别之一。为了运行该程序,也要把它放在文件 HelloWorldApplet. java中,然后对它进行编译,javacHelloApplet. java 得到字节码文件 HelloApplet.class。由于 Applet 中没有 main()方法作为 Java解释器的入口,我们必须编写 HTML文件,把该 Applet嵌入其中,然后用 appletviewer来运行,或在支持