1、国家二级(JAVA)笔试-试卷 7 及答案解析(总分:104.00,做题时间:90 分钟)一、选择题(总题数:36,分数:72.00)1.选择题()下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。(分数:2.00)_2.下列叙述中正确的是( )。(分数:2.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试D.程序经调试改错后不必进行再测试3.下列关于栈的描述中错误的是( )。(分数:2.00)A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指
2、针4.对于长度为 n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )。(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/25.下面描述中,符合结构化程序设计风格的是( )。(分数:2.00)A.使用顺序、选择和重复(循环)3 种基本控制结构表示程序的控制逻辑B.模块只有一个入口,可以有多个出口C.注重提高程序的执行效率D.不使用 GOTO 语句6.下列对于线性链表的描述中正确的是( )。(分数:2.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的B.存储空间不一定是连续,且前件与元素一定存储在后件元素的前面
3、C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的7.在结构化方法中,用数据流程图(DFD) 作为描述工具的软件开发阶段是( )。(分数:2.00)A.可行性分析B.需求分析C.详细设计D.程序编码8.在软件开发中,下面任务不属于设计阶段的是( )。(分数:2.00)A.数据结构设计B.给出系统模块结构C.定义模块算法D.定义需求并建立系统模型9.数据库设计的根本目标是要解决( )。(分数:2.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护10.下列叙述中正确的是( )。(分数:2.00)A.数据库系统是一个独立
4、的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致11.下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。(分数:2.00)A.内模式B.外模式C.概念模式D.逻辑模式12.用来导入已定义好的类或包的语句是( )。(分数:2.00)A.mainB.importC.public classD.class13.Frame 默认的布局管理器是( )。(分数:2.00)A.FlowLayoutB.BorderLayoutC.GridLayomD.CardLayout14.下列属于
5、合法的 Java 标识符是( )。(分数:2.00)A._catB.5booksC.#NAME?D.-3.1415915.在 Java 中,表示换行符的转义字符是( )。(分数:2.00)A./nB./fC.nD./dd16.下列代表八进制整数的是( )。(分数:2.00)A.0XA6B.-1000C.1840D.14417.在 Java 中,所有类的根类是( )。(分数:2.00)A.java.langObjectB.java.lang.ClassC.java.applet.AppletD.java.awt.Frame18.在 switch(expression)语句中,expression
6、 的数据类型不能是( )。(分数:2.00)A.doubleB.charC.byteD.short19.下列赋值语句中错误的是( )。(分数:2.00)A.float f=1f;B.double d=5.3E12;C.char c=/r;D.byte bb=433;20.已知:inta=new int 100;在下列给出的数组元素中,非法的是( )。(分数:2.00)A.a0B.或1C.a99D.a10021.在文件类提供的方法中,用于创建文件夹的方法是( )。(分数:2.00)A.mkdir()B.mkdirs()C.list()D.listRoots()22.在 Java 中,能实现多重继
7、承效果的方式是( )。(分数:2.00)A.内部类B.适配器C.接口D.同步23.char 类型的取值范围是( )。(分数:2.00)A.2-727-1B.0216-1C.-215215-1D.O28-124.能够支持 javadoc 命令的注释语句是( )。(分数:2.00)A./*./B./*.*/C./D./*/25.阅读和理解下面程序段: class Manager extends Employee public Manager(String n,double s,int year,int month,int day) super(n,s,year,month,day); bonus=
8、0; public double getSalary() double baseSalary-supergerSalary(); return baseSalary+bonus; public void setBonus(double b)bonus=b; ) private double bonus; Manager 是 Employee 的子类,其理由是( )。(分数:2.00)A.Manager 的适用范围较宽B.extends 关键字声明C.Manager 的域减小了D.雇员是一个经理26.int 型 public 成员变量 MAX_LENGTH,该值保持为常数 100,则定义这个变量
9、的语句是( )。(分数:2.00)A.public int MAX_LENGTH=100B.final int MAX_LENGTH=100C.public const int MAX_LENGTH=100D.public final int MAX_LENGTH=10027.下列关于 Applet 的叙述中,错误的是( )。(分数:2.00)A.Applet 是 Java 类,所以可以由 JDK 中的解释器 java.exe 直接解释运行B.Applet 应该定义为 java.applet.Applet 类或 javax.swing.JApplet 类的子类C.Applet 与 Applic
10、ation 的主要区别在执行方式上D.通过在 HTML 文件中采用PARAM标记可以向 Applet 传递参数28.与 Applet 生命周期相关的方法的数量是( )。(分数:2.00)A.4 种B.3 种C.2 种D.5 种29.查找随机文件的记录时,应使用的方法是( )。(分数:2.00)A.readInt()B.readBytes(int n)C.seek(long l)D.readDouble()30.下列关于线程调度的叙述中,错误的是( )。(分数:2.00)A.调用线程的 sleep()方法,可以使比当前线程优先级低的线程获得运行机会B.调用线程的 yeild()方法,只会使与当前
11、线程相同优先级的线程获得运行机会C.当有比当前线程的优先级高的线程出现时,高优先级线程将抢占 CPU 并运行D.具有相同优先级的多个线程的调度一定是分时的31.下列关于线程优先级的说法中,正确的是( )。(分数:2.00)A.线程的优先级是不能改变的B.线程的优先级是在创建线程时设置的C.在创建线程后的任何时候都可以设置D.B 和 C32.在下面附属类方法中的下划线处应填入的正确参数是( )。 public void writeData(_) throws IOException GregorianCalendar calendar=new GregorianCalendar(); calen
12、dar.setTime(hireDay); out.println(name+“|“+salary+“|“ +calendar.get(Calendar.YEAR)+“|“ +(calendar.get(Calendar.MONTH)+1)+“|“ +calendar.get(Calendar.DAY_OF_MONTH); (分数:2.00)A.EmployeeeB.employee.datC.PrintWriter outD.BufferedWriter33.boolean a=false; boolean b=true; boolean c=(a Icon icon = new Image
13、Icon(“swing.gif“, “A GIF on a swing“); JLabel label = new JLabel(“Swing!“, icon, Swingconstants. CENTER); contentPane.add(label, BorderLayout. CENTER); (分数:2.00)填空项 1:_50.编写同时具有 Applet 与 Application 特征的程序,具体的方法是:作为 Application 要定义 main()方法,并且把 main()方法所在的类定义为一个 1 类,为使该程序成为一个 Applet,main()方法所在的这个类必须继
14、承 Applet 类或 JApplet 类。(分数:2.00)填空项 1:_51.现在有 Java Applet 小程序的源程序文件 MyApplet.java,编译后生成的字节码文件为MyApplet.class,对应的 HTML 文件为 MyApplet.html。查看该小程序的运行结果两种方式:运行命令 1;直接用浏览器打开 MyApplet.html 文件。(分数:2.00)填空项 1:_52.下列 JApplet 使用重写 paintComponet()方法来绘制图像,请填写正确的代码在横线处。 import java.awt.*; import javax.swing.*; pub
15、lic class Test extends JApplet staic String fileName = “IMG onClick=over(this) title=放大().gif“; public void init() Container cp = getContentPane(); cp.setLayout(new GridLayout(1,1); Image i = getImage(getCodeBase(),fileName); MyImagePanel ip=new MyInmagePanel(i); cp.add(ip); class MyImagePanel exten
16、ds JPanel Image i; public MyImagePanel(Image IMG onClick=over(this) title=放大) this.i = IMG onClick=over(this) title=放大; public void paintComponent(Graphics gg) 1; gg.drawImage(i,20,20,this); (分数:2.00)填空项 1:_国家二级(JAVA)笔试-试卷 7 答案解析(总分:104.00,做题时间:90 分钟)一、选择题(总题数:36,分数:72.00)1.选择题()下列各题 A、B、C、D 四个选项中,只
17、有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。(分数:2.00)_解析:2.下列叙述中正确的是( )。(分数:2.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试 D.程序经调试改错后不必进行再测试解析:解析:软件测试仍然是保证软件可靠性的主要手段,测试的目的是要尽量发现程序中的错误,调试主要是推断错误的原因,从而进一步改正错误。测试和调试是软件测试阶段的两个密切相关的过程,通常是交替进行的。选项 C 正确。3.下列关于栈的描述中错误的是( )。(分数:2.00)A.栈是先进后出的线性表B.栈只能顺序存储 C.栈具有记忆作用D.对栈
18、的插入与删除操作中,不需要改变栈底指针解析:解析:本题考核栈的基本概念,我们可以通过排除法来确定本题的答案。栈是限定在一端进行插入与删除的线性表,栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素,即栈是按照“先进后出”或“后进先出”的原则组织数据的,这便是栈的记忆作用,所以选项 A 和选项 C 正确。对栈进行插入和删除操作时,栈顶位置是动态变化的,栈底指针不变,选项 D 正确。由此可见,选项 B 错误。4.对于长度为 n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )。(分数:2.00)A.冒泡排序为 n
19、/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/2 解析:解析:假设线性表的长度为 n,在最坏情况下,冒泡排序和快速排序需要的比较次数为 n(n-1)/2。由此可见,选项 D 正确。5.下面描述中,符合结构化程序设计风格的是( )。(分数:2.00)A.使用顺序、选择和重复(循环)3 种基本控制结构表示程序的控制逻辑 B.模块只有一个入口,可以有多个出口C.注重提高程序的执行效率D.不使用 GOTO 语句解析:解析:应该选择只有一个入口和一个出口的模块,故 B 选项错误;首先要保证程序正确,然后才要求提高效率,故 C 选项错误;严格控制使用 goto 语句,必要时可以使用
20、,故 D 选项错误。6.下列对于线性链表的描述中正确的是( )。(分数:2.00)A.存储空间不一定是连续,且各元素的存储顺序是任意的 B.存储空间不一定是连续,且前件与元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的解析:解析:在链式存储结构中,存储数据的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,数据元素之间的逻辑关系,是由指针域来确定的。由此可见,选项 A 的描述正确。7.在结构化方法中,用数据流程图(DFD) 作为描述工具的软件开发阶段是( )。(分数:2.00)A.可行
21、性分析B.需求分析 C.详细设计D.程序编码解析:解析:结构化分析方法是结构化程序设计理论在软件需求分析阶段的运用。而结构化分析就是使用数据流图(DF8.在软件开发中,下面任务不属于设计阶段的是( )。(分数:2.00)A.数据结构设计B.给出系统模块结构C.定义模块算法D.定义需求并建立系统模型 解析:解析:数据结构设计、给出系统模块结构以及定义模块算法都属于设计阶段,而定义需求并建立系统模型属于分析阶段。9.数据库设计的根本目标是要解决( )。(分数:2.00)A.数据共享问题 B.数据安全问题C.大量数据存储问题D.简化数据维护解析:解析:本题考核数据库技术的根本目标,题很简单,属于记忆
22、性题目。数据库技术的根本目标就是要解决数据的共享问题,选项 A 正确。10.下列叙述中正确的是( )。(分数:2.00)A.数据库系统是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题 D.数据库系统中,数据的物理结构必须与逻辑结构一致解析:解析:A 选项,数据库系统需要操作系统的支持,必不可少,故其叙述不正确。B 选项错误,数据库设计是指设计一个能满足用户要求,性能良好的数据库。D 选项也不对,数据库应该具有物理独立性和逻辑独立性,改变其一而不影响另一个。正确答案为 C。11.下列模式中,能够给出数据库物理存储结构与物理存
23、取方法的是( )。(分数:2.00)A.内模式 B.外模式C.概念模式D.逻辑模式解析:解析:能够给出数据库物理存储结构与物理存取方法的是内模式。外模式是用户的数据视图,也就是用户所见到的数据模式。概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。没有逻辑模式这一说法。正确答案为 A。12.用来导入已定义好的类或包的语句是( )。(分数:2.00)A.mainB.import C.public classD.class解析:解析:本题考查 Java 中的 import 语句。Java 中使用 import 语句来导入已定义好的类或包,需要注意 Java 语言的 java.l
24、ang 包是编译器自动导入的,编程时如果使用该包中的类,可省去 import 导入,如果要使用其他包中的类,必须用 import 导入。13.Frame 默认的布局管理器是( )。(分数:2.00)A.FlowLayoutB.BorderLayout C.GridLayomD.CardLayout解析:解析:本题考查 Java 中的布局管理器。 FlowLayout 是 Pane 和 Applet 默认的布局管理器,构件在容器中从上到下、从左到右进行放置;BorderLayout 是 Window、Frame 和 Dialog 的默认布局管理器,选项 B 正确,在 BorderLayont 布
25、局管理器中,构件分成 5 个区域,每个区域只能放置一个构件:GridLayout 使容器中各个构件呈网状布局,平均占据容器的空间;GardLayout 把容器分成许多层,每层只能放置一个构件。14.下列属于合法的 Java 标识符是( )。(分数:2.00)A._cat B.5booksC.#NAME?D.-3.14159解析:解析:本题考查 Java 标识符的命名规则。这是考试重点内容。 Java 中标识符的命名规则是:标识符以字母、下划线、美元符作为首字符的字符串序列;标识符是区分大小写的;标识符的字符数没有限制。由此可见 Java 中标识符不能以数字开头,所以选项 B 错误,不能以“+”
26、开头,选项 C 错误,不能以“-”开头,选项 D 错误,只有选项 A 是正确答案。15.在 Java 中,表示换行符的转义字符是( )。(分数:2.00)A./n B./fC.nD./dd解析:解析:本题考查 Java 转义符的概念。在 Java 中用反斜杠(/)开头,/n 表示换行,所以选项 A 正确。/f 表示走纸换页,/dd 表示 12 位的八进制数据(dd)表示所代表的字符。16.下列代表八进制整数的是( )。(分数:2.00)A.0XA6B.-1000C.1840D.144 解析:解析:本题考查 Java 语言中的整型常量。题目不难,但属于学习程序设计语言的基础,应有所了解。整型常量
27、有 3 种书写格式:十进制整数,如 156, -230,345:八进制整数:以 0 开头,如 012 表示十进制的 10;十六进制整数;以 0x 或 0X 开头,如 0X123 表示十进制数 291。由此可见,选项 A 表示的是十六进制整数,选项 B 不是整数形式,选项 C 是十进制整数,选项 D 是八进制整数,所以 D 为本题正确选项。17.在 Java 中,所有类的根类是( )。(分数:2.00)A.java.langObject B.java.lang.ClassC.java.applet.AppletD.java.awt.Frame解析:解析:本题考查考生对 Java 类的掌握。在 J
28、ava 中 java.lang 包封装着所有编程应用的基本类。Object 是所有类的根,它所包含的属性和方法被所有类集成。Class 类是由编译器自动生成对象的一个特殊类,它伴随每个类。选项 C 和选项 D 都是普通类。18.在 switch(expression)语句中,expression 的数据类型不能是( )。(分数:2.00)A.double B.charC.byteD.short解析:解析:本题考查考生对 swithch(expression)语句的理解。表达式 expression 只能返回:int、 byte、short 和 char,题目中的 double 是不正确的。同时
29、还要注意,多分支结构中,case 子句的值必须是常量,而且所有 case 子句中的值应是不同的,default 子句是任选的。19.下列赋值语句中错误的是( )。(分数:2.00)A.float f=1f;B.double d=5.3E12;C.char c=/r;D.byte bb=433; 解析:解析:本题考查 Java 语言中的赋值运算。赋值运算符(=)是把一个表达式的值赋给一个变量,赋值运算符两侧的类型不一致的情况下,如果左侧变量类型的级别高,则右侧的数据被转化为与左侧相同的高级数据类型后赋给左侧变量;否则,需要使用强制类型转换运算符。选项 A 是 float 常量;选项 B 是dou
30、ble 型;选项 C 是一个字符型常量,需要注意,这里的“/”是转移字符,“/r”表示回车,并不是字母 r;选项 D 中 433 超过了 byte 类型的范围,所以是错误的。20.已知:inta=new int 100;在下列给出的数组元素中,非法的是( )。(分数:2.00)A.a0B.或1C.a99D.a100 解析:解析:本题考查 Java 中数组的概念。对于数组的掌握,不能仅仅停留在概念上,更多的是能将所学的知识灵活运用。inta=new int100定义了一个数组 a,含有 100 个整型元素。在 Java 中,数组元素的下标是从 0 开始的,因此上面定义的数组实际上下标是从 099
31、,所以选项 D 错误。21.在文件类提供的方法中,用于创建文件夹的方法是( )。(分数:2.00)A.mkdir() B.mkdirs()C.list()D.listRoots()解析:解析:本题考查文件类提供的方法。mkdir()是为文件夹操作提供的方法,用来创建文件夹:mkdirs()也是为文件夹操作提供的方法,创建包含父文件夹的文件夹;list()是对文件名操作提供的方法,返回一个字符串数组,为该文件所在文件夹下的所有文件名列表;listRoots 是为文件夹提供的方法,返回根文件夹结构。由此可见,只有选项 A 满足题目要求。22.在 Java 中,能实现多重继承效果的方式是( )。(分
32、数:2.00)A.内部类B.适配器C.接口 D.同步解析:解析:本题考查 Java 中多重继承的概念。首先要区分选项中各个概念。内部类是在一个类中的内部嵌套定义的类,主要用来生成事件适配器。适配器定义一个包装类,包装有不兼容接口的对象。这个包装类指的就是适配器 (Adapter),它包装的对象就是适配者 (Adaptee),适配器提供客户类需要的接口。接口是一种只含有抽象方法或常量的一种特殊的抽象类,因为接口不包括任何实现,所以与存储空间没有任何关系,将多个接口合并,即多重继承就可以很容易实现,选项 C 正确。同步主要用在多线程程序设计中。23.char 类型的取值范围是( )。(分数:2.0
33、0)A.2-727-1B.0216-1 C.-215215-1D.O28-1解析:解析:本题考查 Java 中数据类型的取值范围。应该掌握常用的数据类型的取值范围,char 类型在内存中占 16 位,取值范围是 065535 也就是 02 的 16 次方减 1,选项 B 正确。24.能够支持 javadoc 命令的注释语句是( )。(分数:2.00)A./*./B./*.*/C./D./*/ 解析:解析:本题考查 Java 中的注释语句。注释是程序设计的重要组成部分,应熟练掌握。Java 中有三类注释语句:文档注释/*.*/,被 javadoc 处理,可以建立类的一个外部说明性文件,所以本题正
34、确答案是选项 D;C 语言注释风格/*/,用于去掉当前不再使用但仍想保留的代码等;单行注释/,格式上要求注释符/后必须紧跟一个空格,然后才是注释信息。25.阅读和理解下面程序段: class Manager extends Employee public Manager(String n,double s,int year,int month,int day) super(n,s,year,month,day); bonus=0; public double getSalary() double baseSalary-supergerSalary(); return baseSalary+bo
35、nus; public void setBonus(double b)bonus=b; ) private double bonus; Manager 是 Employee 的子类,其理由是( )。(分数:2.00)A.Manager 的适用范围较宽B.extends 关键字声明 C.Manager 的域减小了D.雇员是一个经理解析:解析:本题考查 Java 中子类的概念。Java 中通过在类声明中加入 extends 子句来创建子类,格式为:class SubClass extens SuperClass。题目中 class Manager extends Employee 语句定义Mana
36、ger 类为 Employee 类的子类,所以选项 B 是正确答案。Manager 类定义了 Manager(String n,double s,int year,int month,int day)、getSalary()和 setBonus(double b)成员方法和 bonus 成员变量。26.int 型 public 成员变量 MAX_LENGTH,该值保持为常数 100,则定义这个变量的语句是( )。(分数:2.00)A.public int MAX_LENGTH=100B.final int MAX_LENGTH=100C.public const int MAX_LENGTH=
37、100D.public final int MAX_LENGTH=100 解析:解析:本题考查 Java 中变量的声明。选项 A 虽然按照题目要求定义了一个变量,但没有满足保持为常数的要求,该变量可以被改变。选项 B 没有满足题目要求的 public 成员变量:选项 C 与 C 语言混淆,const 是 C 语言用来定义常值变量的关键字,Java 中定义常值变量使用的是 final 属性,说明该值赋值以后永不改变,所以选项 D 为正确答案。27.下列关于 Applet 的叙述中,错误的是( )。(分数:2.00)A.Applet 是 Java 类,所以可以由 JDK 中的解释器 java.ex
38、e 直接解释运行 B.Applet 应该定义为 java.applet.Applet 类或 javax.swing.JApplet 类的子类C.Applet 与 Application 的主要区别在执行方式上D.通过在 HTML 文件中采用PARAM标记可以向 Applet 传递参数解析:解析:本题考查 JavaApplet 的概念。Applet 是 Java 与 Web 相结合而引入的重要的 Java 应用形式。Applet 是 Java 类,但自身不能运行,必须嵌入在其他应用程序中运行,因此不能直接由 java.exe 解释运行,选项 A 说法错误。 Applet 与 Applicatio
39、n 的主要区别在执行方式上,Application 以 main()方法为入口点运行, Applet 要在浏览器或 appletviewer 中运行,运行过程比 Application 更复杂。28.与 Applet 生命周期相关的方法的数量是( )。(分数:2.00)A.4 种 B.3 种C.2 种D.5 种解析:解析:本题考查 Applet 生命周期的概念。 Applet 声明周期是指从 Applet 下载到浏览器,到用户退出浏览器,终止 Applet 运行的过程。 Applet 生命周期方法包括 init()方法、start()方法、stop()方法和 destroy()方法,一共 4
40、种,所以选项 A 正确。29.查找随机文件的记录时,应使用的方法是( )。(分数:2.00)A.readInt()B.readBytes(int n)C.seek(long l) D.readDouble()解析:解析:本题考查随机文件流的相关方法。 RandomAccessFile 中主要包含的方法有: length()方法用来求随机文件的字节长度: seek(long pos)方法用来对随机文件记录的查找,所以选项 C 正确;close()方法用来将随机文件资源关闭;readDouble()是对随机文件浮点数的读取;readInt()是对随机文件整数的读取; readChar()是对随机文
41、件字符变量的读取; skipBytes(intn)是随机文件字节的读取。30.下列关于线程调度的叙述中,错误的是( )。(分数:2.00)A.调用线程的 sleep()方法,可以使比当前线程优先级低的线程获得运行机会B.调用线程的 yeild()方法,只会使与当前线程相同优先级的线程获得运行机会C.当有比当前线程的优先级高的线程出现时,高优先级线程将抢占 CPU 并运行D.具有相同优先级的多个线程的调度一定是分时的 解析:解析:本题考查对线程调度的理解。线程属于考试难点,概念不容易理解,需多下功夫。调用线程的 sleep()方法,可以使比其低的优先线程运行,所以选项 A 说法正确;调用线程的
42、yeild()方法,只让给同优先级运行,所以选项 B 说法正确;Java 的线程调度策略是一种基于优先级的抢先式调度,所以选项 C 说法正确;具有相同优先级的多个线程的调度可能是分时的,也可能是线程逐个运行,由具体 JVM 而定,选项 D 说法错误,故为所选。31.下列关于线程优先级的说法中,正确的是( )。(分数:2.00)A.线程的优先级是不能改变的B.线程的优先级是在创建线程时设置的C.在创建线程后的任何时候都可以设置 D.B 和 C解析:解析:本题考查线程优先级的概念。首先应该了解 Java 的线程是有优先级的,并且可以控制其优先级,可以排除选项 A;选项 B 和选项 C 本身就矛盾,
43、故选项 D 是错误的,B 和 C 不能同时选择。线程的优先级在创建线程时可以设置,也可以通过 getPriority()方法来获得线程的优先级,通过 setPriority()方法来设定线程的优先级。线程的优先级属于考试重点内容,应该重点掌握。32.在下面附属类方法中的下划线处应填入的正确参数是( )。 public void writeData(_) throws IOException GregorianCalendar calendar=new GregorianCalendar(); calendar.setTime(hireDay); out.println(name+“|“+sal
44、ary+“|“ +calendar.get(Calendar.YEAR)+“|“ +(calendar.get(Calendar.MONTH)+1)+“|“ +calendar.get(Calendar.DAY_OF_MONTH); (分数:2.00)A.EmployeeeB.employee.datC.PrintWriter out D.BufferedWriter解析:解析:本题考查考生对附属类的掌握。题目看起来很难,其实不用去理解程序即可回答,按照Java 中的语法规则,只有选项 C 满足题目。在题目中出现了“out”变量,只有选项 C 中“PrintWriter out”有该变量。选项
45、 A 只是用来定义一个数组,选项 B 是一个常量,不能用在这里,选项 D 中“BufferedWriter”后缺少参数。这个题目考点有些含糊,容易让考生莫名其妙,如果将程序整个给出也许更好一些,了解即可,本题的关键是明白附属类的概念。33.boolean a=false; boolean b=true; boolean c=(a Icon icon = new ImageIcon(“swing.gif“, “A GIF on a swing“); JLabel label = new JLabel(“Swing!“, icon, Swingconstants. CENTER); content
46、Pane.add(label, BorderLayout. CENTER); (分数:2.00)填空项 1:_ (正确答案:正确答案:JApplet)解析:解析:本题是考查 Swing 组件的使用方法,有几点需要注意。 程序的最后一行(contentPane.add(label,Bor- derLayout.CENTER)不是必须的,因为 JApplet 类使用 BorderLayout 的一个实例作为其内容窗格的布局管理器,而 BorderLayout 的默认约束条件是 BorderLayout.CENTER,所以程序的最后一行不是必须的。 Applet 的默认布局管理器是 FlowLayo
47、ut,而 FlowLayout 的默认约束条件是 FlowLayout. LEFT,这是二者最显著的区别之一。 JApplet 是只包含一个组件的容器,这个组件就是 JRootPane 的一个实例,而 JRootPane 包含了个称做内容窗格的容器。 内容窗格,它包含与特定的小应用程序有关的所有内容。即是说,小应用程序必须把所有的组件添加到内容窗格中,而不是把它们直接添加到小应用程序中。 不能直接为小应用程序设置布局管理器。 JApplet 的实例可以有一个菜单栏,它是由 setJMenuBar 方法指定的,而 AWT 小应用程序却不能。50.编写同时具有 Applet 与 Applicati
48、on 特征的程序,具体的方法是:作为 Application 要定义 main()方法,并且把 main()方法所在的类定义为一个 1 类,为使该程序成为一个 Applet,main()方法所在的这个类必须继承 Applet 类或 JApplet 类。(分数:2.00)填空项 1:_ (正确答案:正确答案:public)解析:解析:把 main()方法定义为一个公有的接口。51.现在有 Java Applet 小程序的源程序文件 MyApplet.java,编译后生成的字节码文件为MyApplet.class,对应的 HTML 文件为 MyApplet.html。查看该小程序的运行结果两种方式:运行命令 1;直接用浏览器打开 MyApplet.html 文件。(分数:2.00)填空项 1:_ (正确答案:正确答案:appletviewer MyApplet.html)解析:解析:该题考查对 Applet 小程序的运行