1、1第 1 章一、选择题1下列选项中,不属于 Java 语言特点的一项是( C ) 。(A)分布式 (B)安全性(C)编译执行 (D )面向对象【解析】Java 程序采用解释执行的方法。在系统编译运行 Java 程序时,Java 编译器将Java 程序转化为字节码,在运行时,解释器将编译得到的字节码进行解释执行。2在 Java 语言中, ( C )是最基本的元素?(A)方法 (B)包(C)对象 (D )接口【解析】构成 Java 程序的基本元素类(抽象的对象) 。3编译一个定义了 3 个类和 10 个方法的 Java 源文件后,会产生( D )个字节码文件?扩展名是( D )?(A)13 个字节
2、码文件,扩展名为 .class (B)1 个字节码文件,扩展名为.class(C)3 个字节码文件,扩展名为 .java (D )3 个字节码文件,扩展名为.class【解析】源文件中的每一个类编译后都会生成一个字节码文件,字节码文件的扩展名是.class。4在创建 Applet 应用程序时,需要用户考虑问题是( B ) 。(A)窗口如何创建 (B)绘制的图形在窗口中的位置(C)程序的框架 (D )事件处理【解析】创建 Applet 程序时必须继承系统类 Applet,而 Applet 类中已经包含了如何创建窗口以及事件处理等内容,这类程序的框架也都是固定的,而绘制图形在窗口中的位置则需要由用
3、户确定。5Java 语言属于( B )种语言?(A)面向机器的语言 (B)面向对象的语言(C)面向过程的语言 (D )面向操作系统的语言【解析】Java 语言是一种纯面向对象的语言。6下列关于 Application 和 Applet 程序的说法中不正确的一项是( B ) 。(A)Application 使用解释器 java.exe (B)Application 不使用独立的解释器(C)Applet 在浏览器中运行 (D )Applet 必须继承 Java 的 Applet 类【解析】Application 程序包含 main()方法,它是一种独立执行的程序,因此必须使用独立的解释器解释执行。
4、7下列选项中,不属于 Java 核心包的一项是( A ) 。(A)javax.swing (B)java.io(C)java.utile (D )java.lang【解析】凡是以 java 开头的包都是 Java 核心包,以 javax 开头的包则属于 Java 扩展包。8下列描述中,不正确的是( A ) 。(A)不支持多线程 (B)一个 Java 源文件不允许有多个公共类(C)Java 通过接口支持多重继承 (D )Java 程序分为 Application 和 Applet 两类【解析】Java 是支持多线程的语言。29阅读下列代码,选出该代码段正确的文件名( C ) 。class Avo
5、id method1()System.out.println(“Method1 in class A“);public class Bvoid method2()System.out.println(“Method2 in class B“);public static void main(String args)System.out.println(“main() in class B“);(A)A.java (B)A.class(C)B.java (D )B.class【解析】Java 源文件名必须和公共类的名字完全一样,源文件的扩展名为.java 。10编译下面源程序会得到哪些文件( D
6、 )?class A1class A2public class Bpublic static void main(String args)(A)只有 B.class 文件 (B)只有 A1.class 和 A2.class 文件(C)编译不成功 (D )A1.class 、A2.class 和 B.class 文件【解析】由于该程序包含 3 个类,每个类编译后都会生成 1 个字节码文件,因此编译后会生成以这 3 个类名命名的字节码文件。二、填空题1Java 程序的编译和执行模式包括 2 点,是 半编译 和 半解释 。2Java 语言支持 TCP/IP 协议,从而使得 Java 程序在分布式环境
7、中能够很方便地访问处于不同地点的 对象 。3开发 Java 程序的一般步骤是:源程序编辑、 生成字节码 和 解释执行 。4每个 Java Application 程序可以包括许多方法,但是必须有且只能有一个 main() 方法,统一格式为 public static void main(String args) ,它是程序执行的入口。5JVM 把字节码程序与各种不同的 操作系统 和 硬件 分开,使得 Java 程序独立于平台。6在 Java 程序中,能在 WWW 浏览器上运行的是 Applet 程序。7Java 源程序文件和字节码文件的扩展名分别为 .java 和 .class 。8如果在 J
8、ava 程序中需要使用 java.utile 包中的所有类,则应该在程序开始处加上 import java.utitle.* 语句。3第 2 章一、选择题1下列( D )是合法的标识符?(A)12class (B)void (C)-5 (D)_blank【解析】根据 Java 标识符的构成规则确定。2下列( B )不是 Java 中的保留字?(A)if (B)sizeof (C)private (D)null【解析】根据 Java 保留字表进行选择。3下列( C )不是合法的标识符?(A)$million (B) $_million (C)2$_million (D)$2_million【解析
9、】根据 Java 标识符的构成规则确定。4下列选项中, ( B )不属于 Java 语言的基本数据类型?(A)整数型 (B)数组 (C)浮点型 (D)字符型【解析】根据 Java 语言的基本数据类型包含的类别选取。5下列关于基本数据类型的说法中,不正确的一项是( D ) 。(A)boolean 类型变量的值只能取真或假(B)float 是带符号的 32 位浮点数(C)double 是带符号的 64 位浮点数(D)char 是 8 位 Unicode 字符【解析】Java 中的字符采用的是 16 位的 Unicode 字符。6下列关于基本数据类型的取值范围的描述中,正确的一个是( B ) 。(A
10、)byte 类型的取值范围是-128 128 (B )boolean 类型的取值范围是真或假(C)char 类型的取值范围是 065536 (D )short 类型的取值范围是-3276732767【解析】根据每种类型占几个字节即可推算出其取值范围,如 byte 类型占 1 个字节,即共包含 28 个数值,其取值范围范围应为-128127,其他类型也是如此。7下列关于 Java 语言简单数据类型的说法中,正确的一项是( A ) 。(A)以 0 开头的整数代表 8 进制整型常量(B)以 0x 或 0X 开头的整数代表 8 进制整型常量(C)boolean 类型的数据作为类成员变量的时候,相同默认
11、的初始值为 true (D)double 类型的数据占计算机存储的 32 位【解析】根据每种数据类型的特性进行判断。8下列 Java 语句中,不正确的一项是( C ) 。(A)$e, a, b = 10; (B)char c, d = a;(C)float e = 0.0d; (D )double c = 0.0f;【解析】不能将 double 类型的常量赋值给 float 类型的变量。9在编写 Java 程序时,如果不为类的成员变量定义初始值, Java 会给出它们的默认值,下列说法中不正确的一个是( D ) 。(A)byte 的默认值是 0 (B)boolean 的默认值是 false(C
12、)char 类型的默认值是0 (D)long 类型的默认值是 0.0L【解析】long 类型的默认值是 0L,而不是 0.0L。10下列语句中不正确的一个是( B ) 。4(A)float f = 1.1f; (B)byte b = 128;(C)double d = 1.1/0.0; (D )char c = (char)1.1f;【解析】bytel 类型变量的取值范围是-128 127。11下列表达式 1+2+ “aa“+3 的值是( B ) 。(A)“12aa3“ (B)“3aa3 “ (C)“12aa“ (D)“aa3“【解析】整数和整数相加得到两个整数的和,而整数和字符串相加得到的是
13、字符串。12已知 y=2, z=3, n=4,则经过 n=n+ -y*z/n 运算后 n 的值为( A ) 。(A)3 (B)-1 (C)-12 (D )-3【解析】根据运算符的优先级,该表达式相当于 n=n+ (-y)*z)/n。13已知 a=2, b=3,则表达式 a%b*4%b 的值为( A ) 。(A)2 (B)1 (C)-1 (D )-2【解析】根据运算符的优先级,该表达式相当于(a%b)*4)%b。14已知 x=2, y=3, z=4,则经过 z- = -y x-运算后,z 的值为( D ) 。(A)1 (B)2 (C)3 (D )4【解析】在表达式运算过程中,-y 的值变为 2,
14、x的值还是 2,等号右侧运算后的值为 0,因此 z 的值没有变化。15表达式(12=0) b1=ai;System.out.println(b1+“t“+b2);【运行结果】66 553public class X6_3_3 public static void main(String args) int a=36,25,48,14,55,40,32,66 ;int b1,b2;b1=b2=a0;for (int i=1;i= bj ) j +;cj +;for (i=0; im ) m =aij; ii =i; jj =j;System.out.println(ii+“t“+jj+“t“+a
15、iijj);【运行结果】1 3 128public class X6_3_8 public static void main(String args) String a = “student“ ,“worker“ ,“cadre“ ,“soldier“ ,“peasant“ ;String s1,s2;s1 = s2 = a0;15for( int i = 1; i0) s1=ai;if (pareTo(s2)0) s2=ai;System.out.println(s1+“t“+s2);【运行结果】worker cadre第 7 章一、选择题1关于异常的含义,下列描述中最正确的一个是( D )
16、 。A程序编译错误 B程序语法错误C程序自定义的异常事件 D程序编译或运行时发生的异常事件【解析】异常就是程序编译或运行时发生的异常事件。2自定义异常时,可以通过对下列哪一项进行继承?( C )AError 类 BApplet 类CException 类及其子类 DAssertionError 类【解析】自定义异常类时,该类必须继承 Exception 类及其子类。3对应 try 和 catch 子句的排列方式,下列哪一项是正确的?( A )A子类异常在前,父类异常在后 B父类异常在前,子类异常在后C只能有子类异常 D父类和子类不能同时出现在 try 语句块中【解析】对应 try 和 catc
17、h 子句的排列方式,要求子类异常(范围小的异常)在前,父类异常(范围大的异常)在后。4运行下面程序时,会产生什么异常?( A )public class X7_1_4 public static void main(String args) int x = 0;int y = 5/x;int z = 1,2,3,4;int p = z4;AArithmeticException BNumberFormatExceptionCArrayIndexOutOfBoundsException DIOException【解析】当程序执行到“int y = 5/x”语句时,发生异常,程序中止执行,因此发生
18、ArithmeticException 异常。5运行下面程序时,会产生什么异常?( C )public class X7_1_5 public static void main(String args) int z = 1,2,3,4;int p = z4;int x = 0;int y = 5/x;AArithmeticException BNumberFormatExceptionCArrayIndexOutOfBoundsException DIOException16【解析】当程序执行到“int p = z4”语句时,发生异常,程序中止执行,因此发生ArrayIndexOutOfBou
19、ndsException 异常。6下列程序执行的结果是( B ) 。public class X7_1_6 public static void main(String args) tryreturn;finallySystem.out.println(“Finally“);A程序正常运行,但不输出任何结果 B程序正常运行,并输出 FinallyC编译通过,但运行时出现异常 D因为没有 catch 子句,因此不能通过编译【解析】在执行 try-catch-finally 语句块时,最后必须执行 finally 语句块中的内容,而本程序没有异常发生,因此程序正常运行,并输出 Finally。7下
20、列代码中给出正确的在方法体内抛出异常的是( B ) 。Anew throw Exception(“ “); Bthrow new Exception(“ “);Cthrows IOException(); Dthrows IOException;【解析】在方法体内抛出异常时只能使用 throw,而不能使用 throws,另外, “new Exception(“ “)”是创建一个异常,因此 B 是正确的。8下列描述了 Java 语言通过面相对象的方法进行异常处理的好处,请选出不在这些好处范围之内的一项( C )A把各种不同的异常事件进行分类,体现了良好的继承性B把错误处理代码从常规代码中分离出来
21、C可以利用异常处理机制代替传统的控制流程D这种机制对具有动态运行特性的复杂程序提供了强有力的支持【解析】异常处理机制不能代替传统的流程控制。二、填空题1异常 是 在 程 序 编 译 或 运 行 中 所 发 生 的 可 预 料 或 不 可 预 料 的 异 常 事 件 , 出 现 在 编 译 阶 段的 异 常,称之为 编译时异常 ,出现在运行阶段的异常,称之为 运行时异常 。2根据异常的来源,可以把异常分为两种类型: 系统定义的运行时异常 和 用户自定义异常 。3所有的 Java 异常类都是系统类库中的 Exception 类的子类。4抛出异常分为 由系统自动抛出异常 、 通过 throw 抛出异
22、常 以及 通过 throws 抛出异常 三种情况。5Java 语言为我们提供了 trycatch 语句和 trycatchfinally 语句捕捉并处理异常。6一个 try 块后面可能会跟着若干个 catch 块,每个 catch 块都有一个异常类名作为参数。7如果 try 语句块产生的异常对象被第一个 catch 块所接收,则程序的流程将 转向第一个catch 块 ,catch 语句块执行完毕后就 退出当前方法 ,try 块中尚未执行的语句和其他的 catch 块将被 忽略 ;如果 try 语句块产生的异常对象与第一个 catch 块不匹配,系统将自动转到 第二个 catch 块 进行匹配。
23、8由于异常对象与 catch 块的匹配是按照 catch 块的 先后 顺序进行的,所以在处理多异常时应注意认真设计各 catch 块的排列顺序。9throws 语句抛出的异常实际上是由 throws 语句修饰的方法内部的 throw 语句抛出的,17使用 throws 的主要目的是为了 通知所有预调用此方法的方法 。第 8 章一、选择题1下列数据流中,属于输入流的一项是( B ) 。A从内存流向硬盘的数据流 B从键盘流向内存的数据流C从键盘流向显示器的数据流 D从网络流向显示器的数据流【解析】输入流是指从外围设备流向主机(包括CPU和内存)的数据流。2Java 语言提供处理不同类型流的类所在的
24、包是( D ) 。Ajava.sql Bjava.util C Djava.io【解析】java.io 包是Java语言提供处理不同类型流的类所在的包。3不属于java.io包中的接口的是( C ) 。ADataInput BDataOutput CDataInputStream DObjectInput【解析】DataInputStream是java.io包中的一个类,其他三个则是 java.io包中的接口。4下列程序从标准输入设备读入一个字符,然后再输出到显示器,选择正确的一项填入“/x”处,完成要求的功能( B ) 。import java.io.*;public class X8_1_
25、4 public static void main(String args) char ch;try/xSystem.out.println(ch);catch(IOException e)e.printStackTrace();Ach = System.in.read(); Bch = (char)System.in.read(); Cch = (char)System.in.readln(); Dch = (int)System.in.read();【解析】System.in.read()方法返回的是字符对应的 Unicode码,即返回的类型是int 型,而ch是char类型,因此必须把方
26、法的返回值强制转换为char类型才能把它赋值给ch变量。另外,System.in对象中没有readln() 方法。5下列程序实现了在当前包dir815下新建一个目录subDir815,选择正确的一项填入程序的横线处,使程序符合要求( D ) 。package dir815;import java.io.*;public class X8_1_5 public static void main(String args)char ch;tryFile path = ;if(path.mkdir()18System.out.println(“successful!“);catch(Exception
27、 e)e.printStackTrace();Anew File(“subDir815“); Bnew File(“dir815.subDir815“); Cnew File(“dir815subDir815“); Dnew File(“dir815/subDir815“);【解析】在程序中,目录之间的连接符是“”或“/” ,因此首先排除B和C;而默认情况下,创建相对目录是在当前目录下进行,而dir815也在当前目录下,因此要在dir815下创建新的目录,就必须使用D的形式。6下列流中哪一个使用了缓冲区技术( A )?ABufferedOutputStream BFileInputStream
28、 CDataOutputStream DFileReader【解析】只有BufferedOutputStream 使用了缓冲区技术。7能读入字节数据进行Java基本数据类型判断过虑的类是( C ) 。ABufferedInputStream BFileInputStream CDataInputStream DFileReader【解析】DataInputStream类在读入字节数据时,进行Java基本数据类型判断过虑。8使用哪一个类可以实现在文件的任一个位置读写一个记录( B )?ABufferedInputStream BRandomAccessFile CFileWriter DFile
29、Reader【解析】只有RandomAccessFile 才能实现在文件的任一个位置读写一个记录。9在通常情况下,下列哪个类的对象可以作为BufferedReader 类构造方法的参数( C )?APrintStream BFileInputStream CInputStreamReader DFileReader【解析】InputStreamReader类的对象可以作为BufferedReader类构造方法的参数。10若文件是RandomAccessFile 的实例f ,并且其基本文件长度大于0,则下面的语句实现的功能是( B ) 。f.seek(f.length()-1);A将文件指针指向
30、文件的第一个字符后面B将文件指针指向文件的最后一个字符前面 C将文件指针指向文件的最后一个字符后面 D会导致seek()方法抛出一个IOException异常【解析】通过调用f对象的length()方法,可以将文件指针指向文件的末尾,因此f.length()-1即指向文件的最后一个字符前面。11下列关于流类和File类的说法中错误的一项是( B ) 。AFile类可以重命名文件 BFile类可以修改文件内容C流类可以修改文件内容 D流类不可以新建目录【解析】只有流类可以修改文件内容,而File类则不能。12若要删除一个文件,应该使用下列哪个类的实例( B )?ARandomAccessFile
31、 BFile CFileOutputStream DFileReader【解析】要删除文件以及查看文件属性等,应使用File类对象来实现。1913下列哪一个是Java系统的标准输入流对象( )?ASystem.out BSystem.in CSystem.exit DSystem.err【解析】System.in是Java 系统的标准输入流对象,而System.out和System.err则是Java 系统的标准输出流和标准错误对象,System.exit则是System类的退出方法。14Java 系统标准输出对象System.out使用的输出流是( A ) 。APrintStream BPr
32、intWriter CDataOutputStream DFileReader【解析】System.out属性是PrintStream类型的对象。二、填空题1Java 的输入输出流包括 字节流 、 字符流 、 文件流 、 对象流 以及多线程之间通信的 管道流 。2凡是从外部设备流向中央处理器的数据流,称之为 输入 流;反之,称之为 输出 流。3java.io包中的接口中,处理字节流的有 DataInput 接口和 DataOutput 接口。4所有的字节输入流都从 InputStream 类继承,所有的字节输出流都从 OutputSteam 类继承。5与用于读写字节流的InputStream类
33、和OutputStream类相对应,Java还提供了用于读写Unicode字符的字符流 Reader 类和 Writer 类。6对一般的计算机系统,标准输入通常是 键盘 ,标准输出通常是 显示器 。7Java 系统事先定义好两个流对象,分别与系统的标准输入和标准输出相联系,它们是 System.in 和 System.out 。8System 类的所有属性和方法都是 Static类型 的,即调用时需要以类名System为前缀。9Java 的标准输入System.in是 InputStream 类的对象,当程序中需要从键盘读入数据的时候,只需调用System.in的 read 方法即可。10执行
34、System.in.read()方法将从键盘缓冲区读入一个 字节 的数据,然而返回的却是16比特的 整形量 ,需要注意的是只有这个 整形量 的低位字节是真正输入的数据,其高位字节 全部为0 。11System.in只能从键盘读取 二进制 的数据,而不能把这些比特信息转换为整数、字符、浮点数或字符串等复杂数据类型的量。12Java 的标准输出System.out是 PrintStream 类的对象。 PrintStream 类是过滤输出流类FilterOutputStream的一个子类 ,其中定义了向屏幕输送不同类型数据的方法 print() 和 println() 。13在Java 中,标准错
35、误设备用 System.err 表示。它属于 PrintStream 类对象。14在计算机系统中,需要长期保留的数据是以 文件 的形式存放在磁盘、磁带等外存储设备中的。15 目录 是管理文件的特殊机制,同类文件保存在同一 目录 下可以简化文件的管理,提高工作效率。16Java 语言的java.io包中的 File 类是专门用来管理磁盘文件和目录的。调用 File 类的方法则可以完成对文件或目录的常用管理操作,如创建文件或目录、删除文件或目录、查看文件的有关信息等。17File类也虽然在java.io包中,但它不是InputStream或者 OutputStream的子类,因为它不负责 数据的输
36、入输出 ,而专门用来管理 文件和目录 。18如果希望从磁盘文件读取数据,或者将数据写入文件,还需要使用文件输入输出流类FileInputStream 和 FileOutputStream 。19Java 系统提供的FileInputStream类是用于读取文件中的 字节 数据的 字节 文件输入20流类;FileOutputStream类是用于向文件写入 字节 数据的 字节 文件输出流。20利用 DataInputStream 类和 DataOutputStream 类提供的成员方法可以方便地从文件中读写不同类型的数据。21Java 中的 RandomAccessFile 类提供了随机访问文件的
37、功能 ,它继承了 Object 类,用 DataInput 和 DataOutput 接口来实现。第 9 章一、选择题1下列说法中,正确的一项是( A ) 。A单处理机的计算机上,2 个线程实际上不能并发执行B单处理机的计算机上,2 个线程实际上能够并发执行C一个线程可以包含多个进程D一个进程只能包含一个线程【解析】单处理机的计算机上通过一个极短的固定时间段或者在线程等待时,切换到另一个线程,这种调度过程时间极短,看上去像是并发执行。2下列说法中,错误的一项是( A ) 。A线程就是程序 B线程是一个程序的单个执行流C多线程是指一个程序的多个执行流 D多线程用于实现并发【解析】线程是一个程序的
38、单个执行流,而不是程序本身。而多线程作为实现并发的一个重要手段,是一个程序的多个执行流。3下列关于 Thread 类的线程控制方法的说法中错误的一项是( C ) 。A线程可以通过调用 sleep()方法使比当前线程优先级低的线程运行B线程可以通过调用 yield()方法使和当前线程优先级一样的线程运行C线程的 sleep()方法调用结束后,该线程进入运行状态D若没有相同优先级的线程处于可运行状态,线程调用 yield()方法时,当前线程将继续执行【解析】线程的 sleep()方法调用结束后,该线程进入就绪状态,而不是运行状态。4方法 resume()负责恢复下列哪一个线程的执行( D )?A通
39、过调用 stop()方法而停止的线程 B通过调用 sleep()方法而停止的线程C通过调用 wait()方法而停止的线程 D通过调用 suspend()方法而停止的线程【解析】通过调用 suspend()方法而停止的线程需要调用 resume()恢复。5下面的哪一个关键字通常用来对对象加锁,从而使得对对象的访问是排他的( C )?Aserialize Btransient Csynchronized Dstatic【解析】synchronized 用来对对象加锁,从而使得对对象的访问是排他的。6下列说法中,错误的一项是( A ) 。A线程一旦创建,则立即自动执行B线程创建后需要调用 start
40、()方法,将线程置于可运行状态C调用线程的 start()方法后,线程也不一定立即执行D线程处于可运行状态,意味着它可以被调度【解析】线程创建后需要调用 start()方法,将线程置于可运行状态。7下列说法中,错误的一项是( A ) 。21AThread 类中没有定义 run()方法 B可以通过继承 Thread 类来创建线程CRunnable 接口中定义了 run()方法 D可以通过实现 Runnable 接口创建线程【解析】Thread 类和 Runnable 接口中都定义了 run()方法,而 start()方法只有 Thread 类中进行了定义,而 Runnable 接口中没有定义。8
41、Thread 类定义在下列哪个包中( B )?Ajava.io Bjava.lang Cjava.util Djava.awt【解析】Thread 类定义在 java.lang 包中,因此使用时可以不用显式加载。9Thread 类的常量 NORM_PRIORITY 代表的优先级是( C ) 。A最低优先级 B最高优先级 C普通优先级 D不是优先级【解析】NORM_PRIORITY 代表的优先级是普通优先级。10下列关于线程优先级的说法中,错误的一项是( D ) 。AMIN_PRIORITY 代表最低优先级 BMAX_PRIORITY 代表最高优先级CNORM_PRIORITY 代表普通优先级
42、D代表优先级的常数值越大优先级越低【解析】代表优先级的常数值越大优先级越高二、填空题1多线程是指程序中同时存在着 多 个执行体,它们按几条不同的执行路线共同工作,独立完成各自的功能而互不干扰。2每个 Java 程序都有一个缺省的主线程,对于 Application 类型的程序来说,主线程是方法 main() 执行的线程。3Java 语言使用 Thread 类及其子类的对象来表示线程,新建的线程在它的一个完整的生命周期中通常要经历 新生 、 就绪 、 运行 、 阻塞 和 死亡 等五种状态。4在 Java 中,创建线程的方法有两种:一种方法是通过创建 Thread 类的子类来实现,另一种方法是通过
43、实现 Runnable 接口的类来实现。5用户可以通过调用 Thread 类的方法 setPriority() 来修改系统自动设定的线程优先级,使之符合程序的特定需要。6 start() 方法将启动线程对象,使之从新建状态转入就绪状态并进入就绪队列排队。7Thread 类和 Runnable 接口中共有的方法是 run() ,只有 Thread 类中有而 Runnable 接口中没有的方法是 start() ,因此通过实现 Runnable 接口创建的线程类要想启动线程,必须在程序中创建 Thread 类的对象。8在 Java 中,实现同步操作的方法是在共享内存变量的方法前加 synchron
44、ized 修饰符。9线程的优先级是一个在 1 到 10 之间的正整数,数值越大,优先级越 高 ,未设定优先级的线程其优先级取缺省值 5 。10Thread 类中代表最高优先级的常量是 MAX_PRIORITY ,表示最低优先级的常量是 MIN_PRIORITY 。第 10 章一、选择题1下列说法中错误的一项是( B ) 。A构件是一个可视化的能与用户在屏幕上交互的对象B构件能够独立显示出来22C构件必须放在某个容器中才能正确显示D一个按钮可以是一个构件【解析】构件不能独立显示,它必须放在某个容器中才能正确显示。2进行 Java 基本 GUI 设计需要用到的包是( C ) 。Ajava.io B
45、java.sql Cjava.awt Djava.rmi【解析】进行 Java 基本 GUI 设计需要用到的包是 java.awt 和 javax.swing3Container 是下列哪一个类的子类( D )?AGraphics BWindow CApplet DComponent【解析】Container 类是由 Component 类派生的。4java.awt.Frame 的父类是( B ) 。Ajava.util.Window Bjava.awt WindowCjava.awt Panel Djava.awt.ScrollPane【解析】java.awt.Frame 的父类 java.
46、awt Window。5下列哪个方法可以将 MenuBar 加入 Frame 中( D )?AsetMenu() BaddMenuBar() Cadd() DsetMenuBar()【解析】可以将 MenuBar 加入 Frame 中的方法是 setMenuBar()。6下列叙述中,错误的一项是( D ) 。A采用 GridLayout 布局,容器中的每个构件平均分配容器空间B采用 GridLayout 布局,容器中的每个构件形成一个网络状的布局C采用 GridLayout 布局,容器中的构件按照从左到右、从上到下的顺序排列D采用 GridLayout 布局,容器大小改变时,每个构件不再平均分
47、配容器空间【解析】采用 GridLayout 布局,容器大小改变时,每个构件平均分配容器空间。7当单击鼠标或拖动鼠标时,触发的事件是( D ) 。AKeyEvent BActionEvent CItemEvent DMouseEvent【解析】对鼠标操作,触发的事件是 MouseEvent 事件。8下列哪一项不属于 Swing 的顶层组件( C )?AJApplet BJDialog CJTree DJframe【解析】JTree 只有在容器中才能显示,它不属于 swing 的顶层组件。9下列说法中错误的一项是( D ) 。A在实际编程中,一般使用的是 Component 类的子类B在实际编程
48、中,一般使用的是 Container 类的子类CContainer 类是 Component 类的子类D容器中可以放置构件,但是不能够放置容器【解析】容器中既可以放置构件,也可以放置容器。10下列哪一项不属于 AWT 布局管理器( D )?AGridLayout BCardLayout CBorderLayout DBoxLayout【解析】BoxLayout 属于 swing 布局管理器,不属于 AWT 布局管理器。11下列说法中错误的一项是( A ) 。AMouseAdapter 是鼠标运动适配器 BWindowAdapter 是窗口适配器CContainerAdapter 是容器适配器 DKeyAdapter 是键盘适配器【解析】MouseAdapter 是鼠标适配器,而 MouseMotionAdapte 才是鼠标运动适配器。12布局管理器