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