java上机题1 下载本文

1. Java程序的开发周期一般包括(第二章) A. 编译 B.下载 C.解释 D.执行

答案:A,B,C,D

2. 设置环境变量时,Path需指向Java安装目录的子目录(第二章) A. jre B.lib C. bin D. demo 答案:C

3. 设置classpath环境变量时主要需要设置Java安装目录lib子目录下的哪两个jar文件(第二章) A. java.jar B. tools.jar C. dt.jar

D. jconsole.jar 答案:B,C

4. 编写Java程序时,以说法正确的是(第二章) A. 可以使用任何文本编辑器 B. 类的源文件名和类名可以不同

C. 可以使用javac命令编译Java源文件 D. 编译后文件的扩展名为class 答案:A,C,D

5. 下面哪些是虚拟机的执行特点(第二章) A. 多线程 B. 异常处理 C. 动态链接 D. 硬件相关 答案:A,B,C

6. Java语言和C++相比,下面哪些是Java特有的(第二章) A. 面向对象 B. 类库 C. 跨平台 D. 动态链接 答案:C

7. 下列选项中,关于编译程序说法正确的是(第二章) A. 编译生成目标代码

B. 编译程序与翻译程序作用相同

C. 语法分析属于编译程序的基本工作内容 D. 编译过程包括中间代码生成过程 答案:A,C,D

8. 不属于变量的组成部分是(第三章)

A.变量名 B.变量属性 C.变量大小 D.变量初值 答案 C

9. 关于基本数据类型的说法不正确的是(第三章) A.boolean是Java特殊的内置值,或者为真或者为假 B. float是带符号的32位浮点数 C. double是带符号的64位浮点数 D. char是16位Unicode字符 答案D

10. 下列关于自动类型转换的说法中,不正确的一个是(第三章) A. char类型数据能自动转换为任何简单数据类型的数据 B. char类型数据只能自动转换为int类型数据

C. char类型数据不能自动转换为boolean类型数据 D.char类型数据不能做自动类型转换 答案 ABD

11. 下列回车字符的正确转义字符是(第三章) A. /r B. /n C. \\n D. \\r 答案 D

12. 下列的赋值语句正确的是(第三章) A. char a=14; B. int a=14; C. int a=14.0f; D. int a=(int)14.0; 答案:BD

13. 下列代表八进制整数的数是 (第三章) A. 0Xa6 B. 0144 C. 1840 D. -1E3 答案 B

14. 下列不属于扩展赋值运算符的是(第三章) A. += B. <= C. /= D. <<= 答案 B

15. 下列运算符中,表示布尔逻辑运算符的是(第三章) A. ++ B. << 、

C. || D. & 答案 C

16. 下列关于equals()方法和== 运算符的说法,正确的是(第三章) A. ==运算符和equals()方法的功能一样可以互换

B.equals()方法可以用来比较复合数据类型的数值是否相等 C. ==运算符可以用来不能比较简单数据类型的数据值是否相等 D. ==运算符和equals()方法的功能不完全一样,不可互换 答案 BCD

17. 表达式(40==0)&&(1/0<1)的值为(第三章) A. true B. false C. 0

D. 运行出现异常 答案 B

18. 下列关于表达式类型的说法中,正确的是(第三章) A.若a、b和c都是整型变量,则a+b-c是整型表达式 B.若x和y都是布尔型变量,则x&&y是布尔型表达式 C.若x和y都是整型变量,则x>1 &&y<1是整型表达式

D.若a是布尔型变量,b和c都是整型变量,则a&&(b-c)>2是布尔型表达式 答案 ABD

19. 执行下列程序段之后,变量b的值为(第三章) public class Test1{

public static void main(String[ ] args){ int i=6; int j=12;

boolean a1=true;

boolean a=(j%i==0)&&(!a1) | | (j/i!=2); System.out.println(a); } }

A. false

B. true C. 2 D. 0 答案 A

20. 设定义int y=5;则执行以下语句y/= - -y-5;之后y的值为(第三章) A. - 5 B. - 4 C. - 1

D. 运行时出现异常 答案A

21. 执行如下语句之后,输出的结果是(第三章) public class ex21{

public static void main(String[ ] args){ int x=5, y=5; x=x -++y; } }

A. 0 B. 5 C. -1 D. 6 答案 C

22. int类型的存储范围 (第三章) A. -216~216-1 B -232~232-1 C. -264~264-1 D.- 231~231-1 答案 D

23. Character流与Byte流的区别是 (第三章) A.每次读入的字节数不同 B.前者带有缓冲,后者没有 C.二者没有区别,可以互换使用

D.前者是块读写,后者是字节读写 答案 D

24. 下面哪些不是java语言中的关键字? (第三章) A. sizeof B. abstract C. NULL D. Native 答案:ACD

25. char 类型的取值范围是(第三章) A. 2-7~27-1 B. 0~216-1 C. -215~215-1 D. 0~28-1 答案B

26. 下面表示注释的语句有 (第三章) A./**...* B. /*...*/ C. //

D. /**...*/ 答案 BCD

27. 下面语句正确的是 (第三章) A. char='abc'; B. long l=oxfff; C. float f=0.28;

D. double=0.7E-3; 答案:D

28. 在switch(exp)语句中exp的数据类型是(第三章) A. double B. char C. byte D. short 答案 BCD

29. 下列程序代码中将会编译错误的行是(第三章) 1)public class Exercise{

2) public static void main(String args[]){ 3) float f=0.1; 4) f+=1.0; 5) } 6) }

A.第2行 B.第3行 C.第4行 D.第6行 答案:B

30. Java程序设计所规定基本控制结构是 (第三章) A. 顺序、选择、循环 B. 输入、处理、输出 C. 树形、网形、环形 D. 主程序、子程序、函数 答案:A

31. Java源文件和编译后的文件扩展名分别为(第三章) A..class和 .java B..java和 .class

C..class和 .class D..java和 .java 答案 B

32. Jcreator是( ) (第三章) A.一种全新的程序语言 B.一种程序辅助设计工具

C.一种由Java写成的,并支持Java Applet的浏览器 D.一种游戏软件 答案 B

33. 以下声明的变量中,不合法的是(第三章) A. internet_network B. *number

C. Hello D. sys_path 答案 B

34. 一个可以独立运行的Java应用程序( ) (第三章) A.可以有一个或多个main方法 B.最多只能有两个main方法 C.可以有一个或零个main方法 D.只能有一个main方法 答案 D

35. Java中main()函数的值是什么? (第三章) A. String B. int C. char D. void 答 D

36. 在 Java 中,表示换行符的转义字符是____。 (第三章) A. \\n B. \\f C. 'n' D. \\dd 答案 A

37. 如下程序段:(第三章)

if (x>0){ System.out.println(\); }

else if (x>-2){ System.out.println(\); } else { System.out.println(\); }

x的取值在什么范围内时,将打印出字符串\? A. x > 0 B. x > -2 C. x <= -2

D. x <= 0 & & x > -2 答案 D

38. Java中的标识符有 (第三章) A. username B. super C. 3password D. #password E. $password 答: AE

39. 下面是Java中有效关键字的有 (第三章) A. const B. NULL C. false D. this E. native 答:ACDE

40. Java中正确的整数表示有 (第三章) A. 22

B. 0x22 C. 022 D. 22H 答: ABC

41. 下面的代码段中,执行之后i 和j 的值是 (第三章) int i = 2, j; j = i++; A. 1, 1 B. 1, 2 C. 2, 2 D. 3, 2 答: D

42. 下面句话正确的是(第三章) A. >> 是算术右移操作符. B.> 是逻辑右移操作符. C. >> 是算术右移操作符 D. >>> 是逻辑右移操作符 答:AD

43. 下面赋值语句合法的是 (第三章) A. float a = 2.0 B. double b = 2.0 C. int c = 2 D. long d = 2 答:BCD

44. 已知如下代码: (第三章) boolean m = false; if ( m == true)

System.out.println(\else

System.out.println(\执行结果是 A. False B. True C. None D.运行时出错 答: B

45. 已知如下代码: (第三章) public class Test {

public static void main(String arg[]) {

int i = 5; do {

System.out.println(i);

} while (--i>5)

System.out.println(\} }

执行后的输出是 A. 5 B. 4 C. 6

D. finished E.无输出结果 答:AD

46. 下面代码执行后的输出是(第三章) outer: for(int i=0;i<3; i++) inner: for(int j=0;j<2;j++) {

if(j==1) continue outer;

System.out.println(j+ \}

A. 0 and 0 B. 0 and 1 C. 0 and 2 D. 1 and 0 E. 1 and 1 F. 1 and 2 G. 2 and 0 H. 2 and 1 I. 2 and 2 答: ABC

47. 已知如下代码: (第三章) switch (m) {

case 0: System.out.println(\case 1: System.out.println(\case 2: System.out.println(\

case 3: System.out.println(\default: System.out.println(\}

当m的值为多少时输出\A. 0 B. 1 C. 2 D. 3 E. 4 F. None

答:ABC

48. 下面语句段的输出结果是什么? (第三章) int i = 9; switch (i) { default:

System.out.println(\case 0:

System.out.println(\break; case 1:

System.out.println(\case 2:

System.out.println(\ A. default

B. default, zero

C. default语句定义错误 D. 无输出显示 答案B

49. 下述程序的输出正确的是(第三章) public class Outer{

public static void main(String args[]){ for(int i=0; i<3; i++) for(int j=0;j<3;j++){ if(j>1) break;

System.out.println(j+\} } }

A. 0 and 0 B. 0 and 1 C. 0 and 2 D. 0 and 3 E. 2 and 2 F. 2 and 1 G. 2 and 0 答案ABC

50. 假设a是int 类型的变量,并初始化为1,则下列不合法的条件语句(第三章) A. if(a){}

B. if(a<<=3){} C. if(a=2){} D. if(true){} 答案 ABC

注释:条件只能为boolean型

1. 下列说法中正确的是(第三章)

A. switch语句功能可以由if-else if语句来实现

B.若用于比较的数据类型为double,则不可以用switch语句实现 C .if-else if语句的执行效率总是比switch语句高

D. case子句中可以有多个语句,并且不需要用大括号{}括起来 答案 ABD

2. 下列循环执行的次数是(第三章) int y=2, x=4; while(--x!=x/y){} A. 1次 B. 2次 C. 3次 D. 0次 答案 C

3. 下列程序执行后,输出的结果是(第三章) public class C34{

public static void main(String[ ] args){ boolean m=true; if(m==false)

System.out.println(“flase”); else if(m==true)

System.out.println(“true”); else

System.out.println(“error”); } }

A. true B. false C. error D. 编译出错 答案 A

4. 下面程序执行后,屏幕上显示的是(第四章) public class Test40{

public static void main(String[ ] args){ char char1[ ]={‘j’,’a’,’v’,’a’}; char char2[]={‘j’,’a’,’v’,’a’,’1’}; String s1=new String(char1); String s2=new String(char2,0,4); System.out.println(s1.equals(s2)); } }

A. true B. false C. java

D. 编译错误 答案A

5. 下面哪个是main()函数的合法参数? (第四章) A. char args[] B. char args[][] C. String args[] D. String args 答: C

6. 关于以下程序段的说法正确的是 (第四章) 1. public class Myar{

2. public static void main(String argv[]){ 3. int[]i=new int[5];

4. System.out.println(i[5]); 5. } 6. }

A.第2行编译出错 B.第4行编译出错 C.编译时产生错误

D.编译时没有产生错误,运行时发生异常 答案 D

7. 编译并且执行以下代码,结果是 (第四章) public class TestArray{

public static void main(String argv[]){ int b[]=new int[]{1,2,3}; System.out.println(b[1]); } } A. 1

B.有错误,数组anar在初始化以前不能正常输出。 C. 2

D.有错误,数组的大小没有定义。 答案 C

8. 下面创建数组语句正确的有(第四章) A. float f[][] = new float[6][6]; B. float []f[] = new float[6][6]; C. float f[][] = new float[][6]; D. float [][]f = new float[6][6]; E. float [][]f = new float[6][]; 答:ABCD

9. 已知表达式int m[] = {0, 1, 2, 3, 4, 5, 6 ,7,8}; 下面表达式的值与数组下标量总数相等的有 (第四章) A. m.length() B. m.length C. m.length()+1

D. m.length+1 答:B

10. 给出下面程序的代码:(第四章) byte[ ] array1,array2[ ]; byte array3[ ][ ]; byte [ ][ ]array4;

下列数组操作语句中正确的是

A. array2=array1; B. array2=array3;

C. array2=array4; D. array3=array4; 答案 BCD

11. 为了定义3个整型数组a1、a2、a3,下面语句声明正确的是(第四章) A. int Array[ ] a1,a2; B. int [ ] a1, a2;

int a3[ ]={1,2,3,4,5}; int a3[ ]={1,2,3,4,5}; C. int a1,a2[]; D. int [ ] a1,a2;

int a3={1,2,3,4,5}; int a3=(1,2,3,4,5); 答案B

12. 下面创建数组语句,不正确的有(第四章) A. float m[ ][ ]=new float[4][4]; B. float [ ]m[ ]=new float[4][4]; C. float m[ ][ ]=new float[ ][4]; D. float [ ][ ]m=new float[4][4 ]; 答案C

13. 下面正确地声明一个整型的二维数组是 (第四章) A. int a[][] = new int[][]; B. int a[10][10] = new int[][]; C. int a[][] = new int[10][10]; D. int [][]a = new int[10][10]; E. int []a[] = new int[10][10]; 答:CDE

14. 现有一个整型数组a[4],它的所有数组元素是(第四章) A. a0,a1,a2,a3

B. a[0], a[1], a[2], a[3] C. a[1], a[2], a[3], a[4] D. a0, a[1], a[2], a[3], a[4] 答案B

15. 已知如下代码: (第四章) public class Test {

long a[] = new long[10];

public static void main ( String arg[] ) {

System.out.println ( a[6] ); } }

正确的语句是 A.输出是null. B.输出是0. C.编译时出错. D.运行时出错. 答:B

16. 表达式中声明一个含有10个String对象的数组是(第四章) A. String str[ ]; B. String str[10]; C. char str[ ]; D. char str[ ][ ]; 答案 B

17. 下面语句正确地声明一个整型二维数组的是 (第四章) A. int a[][] = new int[][]; B. int a[10][10] = new int[][]; C. int a[][] = new int[10][10]; D. int [][]a = new int[10][10]; E. int []a[] = new int[10][10]; 答案CDE

18. 设数组Array由以下语句定义(第四章) int Array=new int[10];

则数组的第一个元素的正确引用方法为 A.Array[1] B. Array[0] C. Array[] D. Array 答案 B

19. 已知:int[]a=new int[100];在下列给出的数组元素中,不合法的是(第四章) A. a[0]

B. a[1] C. a[99] D. a[100] 答案 D

20. 设有数组定义:int a[ ]={11,22,33,44,55,66,77,88,99};,则执行下面语句后输出结果为

for(int i=0;i

if(a[i]%3==0) System.out.println(a[i]); (第四章) A. 33 B. 66

C. 99 D. 44

答案ABC

21. 获取数组temp的长度方法有 (第四章) A. temp.ArraySize; B. temp.ArraySize(); C. temp.length; D. temp.length(); 答案 C

22. 表达式2+2+”bb”+2的值是(第五章) A. “22bb2” B. “4bb2” C. “22bb” D. “bb2” 答案B

23. 下面程序段中导致错误的有(第五章) A. String s=”Gone with the wind”; String t=”good”; String k=s+t;

B. String s=”Gone with the wind”; String t;

t=s[3]+”one”;

C. String s=” Gone with the wind”; String standard=s.toUpperCase(); D. String s=”home directory”; String t=s+”directory”; 答案B

24. 给出下面的程序:(第五章) public class ex40(){

public static void main(String[ ] args){ StringBuffer a=new StringBuffer(“A”); StringBuffer b=new StringBuffer(“B”); method(a,b);

System.out.println(a+”,”+b); }

Static void method(StringBuffer x, StringBuffer y){ x.append(y); y=x; } }

正确的输出结果是 A.A,B B. A,A C.B,B D.AB,B 答案 D

25. 下面语句能够正确地生成5个空字符串的有(第五章) A. String a[]=new String[5]; for(int i=0;i<5;a[++]=\ B. String a[]={\ C. String a[5]; D. String[5]a;

E. String []a=new String[5]; for( int i=0;i<5;a[i++]=null); 答案AB

26. 已知如下定义:String s = \(第五章) 下面表达式合法的是 A. s += \B. char c = s[1];

C. int len = s.length;

D. String t = s.toLowerCase(); 答: AD

27. 已知如下的命令执行 java MyJava a b c (第五章) 下列语句正确的是

A. args[0] = \B. args[0] = \C. args[0] = \D. args[1]= 'b' 答:C D

28. 下列代码中,返回false的选项有(第五章) String s= \String t = \

char c[] = {′h′,′e′,′l′,′l′,′o′} ; A. s.equals(t); B. t.equals(c); C. s==t; D. t==c; 答案 BCD

29. 顺序执行下列程序语句后,则b的值是(第五章) String a=\

String b=a.substring(0,2); A. Hello B. hello C. Hel D. He 答案 D

30. String s=”Example String”; 下面正确的是(第五章) A. s>>>=3;

B. int i=s.length(); C. s[3]=”x”;

D. String short_s=s.trim(); E. String t=”root”+s;

答案 BDE

31. 下列程序段可能导致错误的有(第五章) A. String s=”hello”; String t=”good”; String k=s+t;

B. String s=”Hello”; String t;

t=s[3]+”one”;

C. String s=”hello”;

String standard=s.toUpperCase(); D. String s=”hello”; String t;

String t=s+”good”; 答案 D

32. 字符串分两大类,一类是字符串常量;另一类是字符串变量,分别是(第五章) A. String StringBuffer B. String String

C. StringBuffer StringBuffer D. String StringTokenizer 答案 A

33. StringBuffer() 构造方法,为字符串分配多少个字符的缓存,它是默认的构造方法(第五章) A. 9 B. 12 C. 16 D. 20 答案 C

34. 执行下列代码后String[] s=new String[10];结论正确的是 (第五章) A. s[10] 为 \B. s[9] 为 null; C. s[0] 为未定义 D. s.length 为10 答案 BD

35. 关于以下程序段,正确的说法是 (第五章) 1. String s1=\2. String s2=new String(s1); 3. if(s1.equals(s2))

4. System.out.println(\5. if(s1= =s2)

6. System.out.println(\A. 行4与行6都将执行 B.行4执行,行6不执行 C. 行6执行,行4不执行 D.行4、行6都不执行

答案 B

36. System.out.println(\sky is whit\打印出的结果是 (第五章)

A. sky is B. sky i

C. sky is blue D.以上都不正确 答案B

37. 从字符串String target = \中取出子串”Cake”的语句是: (第五章)

A.target.substring(5,10); B.target.substring(6,10);

C.target.substring(5,9); D.target.substring(6,9); 答案B

38. 下面的程序输出的结果为:(第五章) public class Test {

public static void main(String[] args) { StringBuffer buffer = new StringBuffer(); int value = 18; do {

int temp = value & 0x07; buffer.append(temp); }while((value>>>=3)!=0);

System.out.println(buffer.reverse()); } }

A. 24 B. 23 C. 25 D. 22 答案 D

39. 判断满足a-z,A-Z,0-9的字符的正确正则表达式:(第五章) A. [^0-9A-Za-z] B. [0-9A-Za-z] C. [^09AZaz] D. [$0-9A-Za-z] 答案 A

40. 关于面向对象概念的描述正确的是(第六章) A. 程序中的对象等同于现实生活中的对象 B. 对象描述的是客观世界的实体 C. 在Java中通过类来描述对象

D. 类是具有相同特征的若干对象的模板 答案:B,C,D

41. 下面关于类的描述错误的是(第六章) A. 类的方法都由方法头和方法体组成 B. 一个Java程序可以有多个公共类 C. 一个包可以包含多个类

D. 类的实现包括类声明和类体两部分 答案:B

42. 已知X类基于Y类,则下列说法正确的是(第六章) A. X是Y的子类 B. Y是X超类的子类

C. X类和Y类均为对方的子类 D. X类和Y类均为超类 答案:A

43. 下列说法正确的是(第六章) A. 封装使得对象的内特性对用户是隐蔽的 B. 类是在对象之上的抽象 C. 对象是类的实例

D. 多态性使得子类可以具有与超类不同的属性和方法 答案:A,B,C,D

44. 类间的继承关系是(第六章) A. 单重的 B. 多重的

C. 既可以单重又可以多重 D. 不能继承 答案:A

45. 下面的Bus类中哪个是实例变量(第六章) class Bus {

String no;

static String manu; static String typeno; final int py=2000; }

A. no B. manu C. typeno D. 9 答案:A

46. 定义类时不可能用到的保留字是(第六章) A. implements B. class C. private D. extends 答案:C

47. 主类的类头可以使用的访问控制符是(第六章)

A. private B. locale C. public D. protected 答案:C

48. 下列哪些属于定义类成员的访问控制权的保留字(第六章) A. char,float,String,double B. public,private,protected C. class,import,interface

D. public,locate,private,protected 答案:B

49. 关于继承,下列说法中错误的是(第六章) A. 一个类只能继承一个父类

B. 一个父类可以被多个子类所继承 C. 子类可以拥有自己的成员变量 D. 子类不能直接输出父类中的属性值 答案:D

50. 下列代码中哪个方法属于方法的覆盖(第六章) public class Cake {

String cakeCode; String cakeName; float price = 0;

public Cake() {

cakeCode = \

cakeName = \意氏蛋糕\ price = 35; }

float getSaleSum(float price, float weight) {

float saleSum = 0; this.price = price;

saleSum = price * weight; return saleSum; } }

publicclass CreamCake extends Cake{ floatweight; floatsaleSum;

float getSaleSum(float price, float weight) { float saleSum = 0; super.price = price;

this.price = price * 0.8f; this.weight = weight;

this.saleSum = this.price * weight;

//调用父类的方法

super.getSaleSum(price, weight); return this.saleSum; }

void clearNum(){ weight=0; saleSum=0; } }

A. Cake()

B. Cake类的getSaleSum()方法

C. CreamCake类的getSaleSum()方法 D. clearNum() 答案:C

1. 下列说法中错误的是(第六章) A. 子类不能继承父类的构造方法 B. 任何一个类只能有一个超类

C. 子类覆盖父类中同名方法时,子类方法声明必须与父类被覆盖方法的声明一样 D. 子类可以覆盖父类中声明为final或static 的方法 答案:D

2. 下面是一个蛋糕类,关于该类的描述正确的是(第六章) public class Cake{

String cakeCode; String cakeName; float price;

public Cake() { }

public Cake(String code, String name, float cakeprice) { cakeCode = code; cakeName = name; price = cakeprice; }

float getSaleSum(float price, float weight) { float saleSum = 0;

saleSum = price * weight; return saleSum; } }

A. Cake(String code, String name, float cakeprice)为构造方法重载 B. cakeCode、cakeName、price为Cake的属性 C. saleSum为该类的成员变量

D. Cake类实际上封装了蛋糕的相关属性和方法 答案:A,B,D

3. 下面关于CakeSale接口的定义,说法错误的是(第六章) interface CakeSale {

floatprice = 0; String name = \

publicfloat getSaleSum(); private String getSaleName(); }

A. price、float不能有初始值 B. getSaleName()方法定义错误

C. getSaleSum()、getSaleName()都属于抽象方法 D. 接口中所有方法的修饰符只能是public和abstract 答案:A

4. 下面的描述中正确的是(第六章) A. 外部引用内部类时必须给出完整的名称 B. 内部类的类名不能与外部类的类名相同 C. 内部类的类名只能用在外部类或语句块之内 D. 内部类不能定义为抽象类 答案:A,B,C

5. 对于成员变量和局部变量,下面的描述中正确的是(第六章) A.二者可以应用到任一数据类型 B. 成员变量在创建类体时声明

C. 局部变量的作用范围只限于方法里 D. this关键字可以用于局部变量 答案:A,B,C

6. 在Applet程序中必须导入的类是(第六章) A. java.applet B. java.awt C. java.lang D. java.net 答案:A

7. 对于static修饰符,下列说法中正确的是(第六章) A. 用static修饰的变量称为类变量

B. 用static修饰的方法称为静态方法或称为类方法 C. Java 语言不允许通过类名直接调用类方法

D. 类变量的内存空间直到程序退出后才释放所占的内存 答案:A,B,D

8. 关于异常的理解正确的是(第七章) A. 异常属于程序语法错误 B. 异常属于程序编译错误

C. 异常是在程序运行中发生的会打断程序正常执行的事件 D. 异常是程序中定义好的例外事件

答案:C

9. 抛出异常应该使用下列哪个子句(第七章) A. throw B. catch C. finally D. throws 答案:A

10. catch语句段总和下列哪一项相联系(第七章) A. finally B. throw C. try D. close 答案:C

11. 下列说法中错误的是(第七章) A. 异常处理机制可以使得系统从故障中恢复 B. 异常是不经常发生但可能发生的故障 C. 异常处理机制使得程序具有健壮性 D. try代码段后只能有一个catch代码段 答案:D

12. 下列哪个方法不能用于获取异常信息(第七章) A. toString() B. getMessage()

C. printStackTrace() D. DrawARC() 答案:D

13. 编译执行下面程序,正确的输出结果是(第七章) public class CakeTest {

private void test(){

String isvalid;

System.out.println(\}

public static void main(String[] args ){ new CakeTest().test(); } }

A. 在运行时产生异常 B. 在编译时产生异常

C. 运行结果为Test is:null D. 运行结果为Test is: 答案:B

14. 下面哪一个属于数组越界异常(第七章) A. ArithmeticException B. IOException

C. NumberFormatException

D. ArrayIndexOutOfBoundsException 答案:D

15. 下列说法中错误的是(第八章) A. HashMap基于哈希表的Map接口的实现

B. Vector类可以根据新元素的需要而增长容量 C. Iterator是对List迭代的迭代器类 D. 类Hashtable实现了一种键值数据结构 答案:C

16. 下面哪个语句构造了ArrayList类的一个实例并继承了List接口(第八章) A. ArrayList myList=new Object(); B. List myList=new ArrayList(); C. ArrayList myList=new List(); D. List myList=new List(); 答案:B

17. 下面哪个不属于ArrayList的构造方法(第八章) A. public ArrayList()

B. public ArrayList(Icollection, int param) C. public ArrayList(ICollection) D. public ArrayList(int param) 答案:B

18. 关于向量Vector下列说法错误的是(第八章) A. 向量不能存储简单数据类型 B. 向量用于保存列表对象

C. 向量实现了一个可扩展的对象数组

D. Vector不适宜用于需要频繁进行对象元素的插入和删除处理的场合 答案:D

19. 下面哪些数据结构在创建之后可以增长(第八章) A. 向量 B. 数组 C. 链表 D. 哈希表 答案:A,C,D

20. 下面哪个方法用于返回向量容量的大小(第八章) A. size() B.setSize() C. capacity() D.add() 答案:C

21. 下面哪些常用方法属于Math类(第八章) A. sin() B. round() C. getTime() D. sqrt() 答案:A,B,D

22. 关于Properties工具类,下面说法中错误的是(第八章) A. Properties类所读取数据的属性文件扩展名为properties B. properties属性文件以键-值对方式存放数据 C. Properties类属于java.File包

D. 方法getProperty(String key)可以获得properties文件的属性值 答案:C

23. 在Java的编程规范中(第八章)

A. 包通常命名为顶级域名+.+公司机构名+.+项目名+.+模块名的模式 B. 在命名类时一般要求单词首字母大写 C. 常量采用大写字母单词命名 D. 可以使用关键字做标识符 答案:A,B,C

24. 关于注释下列说法错误的是(第八章) A. 注意注释的正确性

B. 很多时候注释是可有可无的

C. 对于功能性注释一般为程序段作注释而不是为每条语句作注释 D. 注释可以提供一些从程序本身难以获得的信息 答案:B

25. 对于语句Vector v=new Vector(20,5)下列说法中正确的是(第八章) A. 创建了一个容量为20个元素的向量 B. 语句中的5表示负载系数

C. 当超过20个元素后向量会以每次5个元素的数目增长空间 D. 可以使用方括号来访问向量里的元素 答案:A,C

26. 下面关于链表LinkedList说法正确的是(第八章)

A. indexOf(Object obj)方法返回链表中最后出现的指定元素的索引 B. getLast()返回链表的最后一个元素

C. remove(Object obj)方法移除链表中首次出现的指定元素 D. get(int index)返回链表中指定位置处的元素 答案:B,C,D

27. 下列关于Map接口的说法中正确的是(第八章) A. Map接口将键映射到值的对象 B. Map每个键最多只能映射一个值

C. Map不允许以键集的形式查看某个映射的内容 D. Map接口通过映射实现快速查找 答案:A,B,D

28. 关于输入输出流,下列说法中正确的是(第九章) A. 流操作的相关类都在java.io包中 B. 数据流分为输入流和输出流 C. 输入流只能读不能写

D. 缓冲流可以提高内存与外部设备之间的数据传输效率 答案:A,B,C,D

29. File类的哪个方法用于获取文件的父目录(第九章) A. getName()

B. getParent()

C. getAbsolutePath() D. exits() 答案:B

30. 如果通过对一个现有文件的引用来创建一个FileOutputStream时会发生(第九章) A. 抛出异常

B. 写入到该流中的数据会替换现有文件中的数据 C. 写入到该流中的数据会追加到现有文件数据的后面 D. 什么事情都不会发生 答案:B

31. 下面代码片断的运行结果是(第九章) File file = new File (\

file.renameTo(new File(\file.delete();

A. 创建Sales.txt新文件 B. 删除Sales.txt文件

C. 将Sales.txt更名为SalesData.txt D. 删除SalesData.txt 答案:C

32. 下列流中哪一个使用了缓冲区技术(第九章) A. BufferedOutputStream B. FileInputStream C. FileReader

D. DataOutputStream 答案:A

33. 下列代码段需要输出系统中指定文件的绝对路径,请选择填入横线处的正确的一项 File file=new File(\

System.out.println(__________________);(第九章) A. getAbsoluteFile() B. file.getName()

C. file.getCanonicalFile() D. file. GetAbsolutePath() 答案:D

34. 下面哪个类可以作为BufferedReader类构造方法的参数(第九章) A. OutputStreamReader B. InputReader

C. InputStreamReader D. PrintStream 答案:C

35. 若要创建一个目录,应该使用下列哪一个类的实例(第九章) A. OutputStreamReader B. FileOutputStream C. File

D. PrintWriter 答案:C

36. 下面哪个属于过滤器输入流(第九章) A. InputStreamReader B. FilterReader C. BufferedReader D. PipedReader 答案:B

37. 与InputStream流对应的Java标准输入对象是(第九章) A. System.in B. System.out C. System.err D. System.exit() 答案:A

38. 与PrintStream流对应的Java标准输出对象是(第九章) A. System.in B. System.out C. System.err D. System.exit() 答案:B

39. ZipOutputStream包含在哪个Java包中(第九章) A. java.io B. java.swt

C. java.util.zip D. java.util.jar 答案:C

40. 下面的程序代码断用于创建一个新的ZIP压缩文件CakeSales.zip,填入横线中的语句应该是

FileOutputStream fos=new FileOutputStream(\____________________________________(第九章) A. zip=new ZipOutputStream(fos)

B. ZipOutputStream zip=new ZipOutputStream(fos);

C. ZipOutputStream zip=new ZipOutputStream(new FileOutputStream(fos)) D. ZipOutputStream zip=new ZipOutputStream() 答案:B

41. FileOutputStream类的父类是(第九章) A. File

B. InputStream C. OutputStream D. FileOutput 答案:C

42. 设置了哪种布局管理器的容器内组件不会同时全部显示? (第十章) A.CardLayout B.FlowLayout

C.BorderLayout D.GridLayout 答案:A

43. 创建一个标题为“确定”的按钮的语句为(第十章) A.Button b = new Button(“确定”,6); B.Button b = new Button();

C.Button b = new Button(“确定”); D.Button b = new Button(确定); 答案:C

44. 下列java组件中,属于容器的是

44.(第十章)A.Label B.Panel C.TextArea D.TextField 答案:B

45. 下列说法正确的是(第十章)

A.接口KeyListener中有两个抽象方法KeyUp()和KeyDown() B.鼠标在窗口中的任何位置单击都可以激活mouseClicked()方法 C.Applet、Frame的默认布局管理器都是FlowLayout D.使用BorderLayout的容器最多只能放5个组件 答案:D

46. 下列选项哪个不属于事件处理机制中的角色(第十章) A.事件 B.事件源 C.事件接口 D.事件处理者 答案:C

47. 属于响应鼠标事件的方法是(第十章) A.mouseDragged(MouseEvent) B.mouseExited(MouseEvent)

C.mouseReleased(MouseEvent) D.mouseQuited(MouseEvent) 答案:ABC

48. Panel默认的布局管理器是(第十章) A.GridLayout B.CardLayout

C.BorderLayout D.FlowLayout 答案:D

49. WindowListener中可用于实现窗口关闭的方法是(第十章) A.public void windowClosing(WindowEvent e) B.public void windowOpened(WindowEvent e)

C.public void windowDeactivated(WindowEvent e) D.public void windowActivated(WindowEvent e)

答案:A

50. 监听事件和处理事件(第十章) A.都由相应事件Listener完成

B.都由添加了相应事件Listener的组件完成 C.由相应事件Listener和组件分别完成 D.由相应事件Listener和窗口分别完成 答案:B

1. 下列说法正确的是 A. Java语言不区分大小写 B. Java程序以类为基本单位

C. JVM为Java虚拟机JVM的英文缩写 D. 运行Java程序需要先安装JDK 答案:B,C,D

2. 下列说法中错误的是 A. Java语言是编译执行的 B. Java中使用了多进程技术 C. Java的单行注视以//开头 D. Java语言具有很高的安全性 答案:A,B

3. 下面不属于Java语言特点的一项是 A. 安全性 B. 分布式 C. 移植性 D. 编译执行 答案:D

4. 下列语句中,正确的项是 A . int $ e,a,b=10; B. char c,d=’a’; C. float e=0.0d; D. double c=0.0f; 答案 ABD

5. 一个int 类型的常量和一个byte类型常量做减法,结果的类型是 A. int B. byte C. char D. float 答案 A

6. 下列程序段的输出结果是 public class Expressions{ void printExpr(){ int x=3,y=4,z=5;

System.out.println(x+y+z);

} }

A. xyz B. x+y+z C. 12 D. 9 答案 C

7. 下列关于for循环和while循环的说法中哪些是不正确的? A. for循环能实现的操作,while循环也都能实现 B. for循环判断条件一般是非程序结果 C. while循环判断条件一般是程序结果

D. 两种循环结构中都必须有循环体,循环体不能为空 答案 ABC

8. 以下程序段执行后的K值为 int x=10; y=34; k=(x

9. 下列不属于Java语言流程控制结构是 A. 分支语句 B. 条转语句 C. 循环语句 D. 赋值语句 答案D

10. 设定义语句:int a[ ]={43,44,45};则下面对此语句的叙述正确的是 A. 定义一个名为a的一维数组 B. a数组有3个元素

C. a数组的元素的下标为1~3 D. 数组中的每一个元素都是整型 答案ABD

11. 运行以下代码 public class Person{ int array[]=new int[10];

public static void main(String args[]){ System.out.println(array [1]); } }

正确的是

A. 编译时将产生错误

B. 编译时正确,运行时将产生错误 C. 输出零

D. 输出空 答案 A

12. 执行完下面语句int[ ]x = new int[20]; 后,说法正确的是 A. x[19]为0 B. x[19]未定义

C. x[20]为0 D. x[0]为空 答案A

13. 设tmp是一个数组类成员,以下声明并初始化一个4个元素的数组选项 A. int tmp[]={1,2,3,4}; B. int tmp[]=new int[5]; C. int tmp[]=new int(5); D. int tmp[]; 答案 A

14. 设定义:String s=”cake”,下面不合法的有 A. s=s. toUpperCase(); B. char c=s[1];

C. int len=s.length; D. s=s.trim(); 答案BC

15. 设 String s1=”Hello”; String s2=”World”;

以下方法用来得到字符串“Hello World”有 A. s2+s1;

B. s1.concat(s2); C. s1.append(s2); D. s1.concate(s2); 答案B

16. 下面哪一个是Java最基本的元素 A. 接口 B. 方法 C. 包 D. 对象 答案:D

17. 如果Cake.java、Ball.java这两个类总共包含有8个方法,则编译后会产生多少个字节码文件 A. 12 B. 10 C. 2 D. 1 答案:C

18. 下面关于抽象类的理解,错误的是 A. 构造方法可以声明为抽象类型 B. 抽象方法必须被子类的方法覆盖

C. 不允许实现抽象方法

D. 方法声明中,static 和abstract不能同时存在 答案:A

19. 编译Java程序时编译器提示找不到要编译的代码,这种错误通常可能是 A. 文件名拼写错误 B. 没有导入相应的包 C. 文件名不是.java

D. 源文件不在Java搜索路径中 答案:A,C,D

20. 捕获异常应该使用下列哪个子句 A. throw B. catch C. finally D. throws 答案:B

21. 下列哪一项不属于finally语句的工作 A. 关闭数据库 B. 释放资源 C. 关闭文件 D. 分配资源 答案:D

22. 下面哪些需要异常处理机制 A. 编译出错

B. 方法、类中抛出的异常 C. 使系统从故障中恢复

D. 程序因不可避免的原因产生错误 答案:B,C,D

23. Iterator类中的哪个方法用于获得数据结构中的下一个元素 A. hasNext() B. remove() C. next() D. size() 答案:C

24. 对于下面的代码段,程序输出结果是 Vector v=new Vector(25) v.add(\v.add(\v.add(\v.add(\

System.out.println(v.get(1)); A. CakeA B. CakeB C. CakeC D. CakeD

答案:B

25. 处理流时下面哪种原始数据类型可以交互使用 A. byte和char B. String和char C. byte和boolean D. int和char 答案:D

26. 下列哪个类不能用于在磁盘上创建一个文件 A. File

B. FileOutputStream C. RandomAccessFile D. HashMap 答案:D

27. 下列说法正确的是

A.在窗口中显示一个字符串,需要使用drawString()方法

B.一个Checkbox对象既可以作为一个复选框,也可作为单选按钮组中的一个单选按钮 C.Checkbox、CheckboxGroup组件只用于信息输入,不能用于信息输出 D.在Applet中用Label对象,只需声明并创建这个对象即可 答案:B

28. 下列哪个接口用于对Button对象的事件进行监听和处理 A.ActionListener B.FocusListener

C.MouseMotionListener D.WindowsListener 答案:A

29. 在编写能对事件进行处理的Applet程序时,一般需要在程序开头写上 A.import java.awt.*; B.import java.applet.*;

C.import java.awt.event.*; D.import java.swing.*; 答案:C

30. ActionListener接口能响应的事件是 A.ActionEvent B.MouseEvent

C.KeyEvent D.ItemEvent 答案:A

31. 下列属于Java适配器的是

A.ComponentAdapter B.ItemAdapter

C.MouseAdaper D.ActionAdapter 答案:AC

32. 下列关于Applet的说法中,正确的是

A.pplet必须嵌入到其它应用程序(如浏览器)中运行 B.可以在安全策略的控制下读写本地磁盘文件 C.Java中不支持向Applet传递参数

D.Applet的主类必须定义为java.applet.Applet类的子类 答案:ABD

33. 当选中某一组件并按下一键盘按钮时会激发什么事件 A.KeyEvent B.KeyDownEvent C.KeyPressEvent D.KeyTypeEvent E.KeyPressedEvent 答案:A

34. 分析下列程序,说法正确的是 import java.applet.*; import java.awt.*;

public class tryMe extends Applet{ Image img;

Public void init(){

img = new Image(); }

public void paint(Graphics g){ g.drawImage(img,0,0,this); } }

A.该程序可以运行

B.程序中创建的Image对象没有实体,但能显示 C.程序中创建的Image对象有实体

D.程序中创建的Image对象没有实体,不能显示 答案:D

35. 指出下列在Applet生命周期中可能执行多次的方法 A.init() B.paint()

C.stop() D.start() 答案:BCD

36. 以下程序运行后,在窗口中能看到的结果为 import java.awt.*;

public class testGrid extends Frame{

public static void main(String[] args){ new testGrid(); }

public testGrid(){

Label l1 = new Label(\蛋糕\

Label l2 = new Label(\面包\ Label l3 = new Label(\派\ Label l4 = new Label(\松饼\ setSize(200,200);

setLayout(new GridLayout(2,2)); add(l1); add(l4); add(l3);

setVisible(true); } }

A. 蛋糕 松饼 派

B. 蛋糕 面包 派 松饼 C. 蛋糕 面包 派

D. 蛋糕 派 松饼 面包 答案:A

37. 以下哪个是Swing中存在的重量级组件 A.JFrame B.JTextField C.JButton D.JComboBox 答案:A

38. 要实现关闭JFrame窗口功能需写以下哪条语句 A. setDefaultCloseOperation(DO_NOTHING_ON_CLOSE); B. setDefaultCloseOperation(HIDE_ON_CLOSE); C. setDefaultCloseOperation(DISPOSE_ON_CLOSE); D. setDefaultCloseOperation(EXIT_ON_CLOSE); 答案:D

39. 下列程序运行结果为 import javax.swing.*; import java.awt.*;

public class test extends JFrame { public test() {

Container con = getContentPane(); ButtonGroup bg = new ButtonGroup();

JRadioButton cake1 = new JRadioButton(\法式蛋糕\ JRadioButton cake2 = new JRadioButton(\意式蛋糕\false); JRadioButton cake3 = new JRadioButton(\巧克力蛋糕\

false);

con.setLayout(new GridLayout(3, 1)); bg.add(cake1); bg.add(cake2); bg.add(cake3); con.add(cake3);

this.setTitle(\单选按钮\

this.setBounds(100, 100, 450, 300); this.setVisible(true);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }

public static void main(String[] args) { new test(); } }

A. 编译不能通过

B. 出现一个能关闭的大小为450×300的窗口,窗口中显示标题为“法式蛋糕”的单选按钮 C. 出现一个能关闭的大小为450×300的窗口,窗口中显示标题为“巧克力蛋糕”的单选按钮

D. 出现一个能关闭的大小为450×300的窗口,窗口中显示3个标题分别为“法式蛋糕”、“意式蛋糕”和“巧克力蛋糕”的单选按钮 答案:C

40. 下面程序的运行结果为 import javax.swing.*;

public class testD extends JFrame{ testD() {

JOptionPane.showMessageDialog(this,\蛋糕编码不正确!\

}

public static void main(String[] args) { new testD(); } }

A. 程序运行但没有结果 B. 出现一个消息框 C. 出现一个选择框 D. 出现一个确认框 答案:B

41. 完成URL中的资源名应包括 A.主机名和文件名 B.端口名和文件名 C.主机名和端口名 D.都是可选项

答案:A

42. 能用于创建InetAddress对象的InetAddress类方法有

A.getByName(String host) B.getAllByName(String host)

C.getLocalHost() D.getAddress() 答案:ABC

43. 已知一InetAddress对象ia,要输出该对象中含有的域名和IP地址可用 A. System.out.println(ia.getHostName()); System.out.println(ia.getHostAddress());

B. System.out.println(ia.getHostName()+getHostAddress()); C. System.out.println(ia.getHost()+ia.getAddress()); D. System.out.println(ia.getHost(ia.getHostName())); 答案:A

44. 分析以下客户端程序 import java.io.*; import java.net.*; public class S1 { Socket socket;

DataInputStream answerin; DataOutputStream answerout; public S1() {

try{

socket=new Socket(\

answerin= new DataInputStream(socket.getInputStream()); answerout=new DataOutputStream(socket.getOutputStream()); System.out.println(\总部消息:\ 时刻:\answerout.writeUTF(\武汉分店今日销售信息:\\n法式蛋糕 \\t销售20磅\\n意式蛋糕 \\t销售30.5磅\\n巧克力蛋糕\\t销售40磅\\n冰淇淋蛋糕\\t销售45.5磅\\n奶油水果蛋糕\\t销售42磅\\n草莓芝士蛋糕\\t销售16.5磅\\n朗姆酒木司蛋糕\\t销售9.5磅\\n时刻:\ }catch(Exception e){e.printStackTrace();} }

public static void main(String[] args) { new S1(); } }

A. 编译不能通过 B. 存在逻辑错误 C. 能正常运行

D. 运行与否取决于服务器端程序的运行 答案:C

45. 选出下面在任何时候能被任何线程调用的方法。

A.wait() B.notify() C.yield() D.sleep() 答案:CD

46. 下列可以用来创建一个新线程的方法是 A.implements Runnable并重写start()方法 B.extends Runnable并重写run()方法 C.extends Thread并重写run()方法

D.implements Thread并重写start()方法 答案:C

47. 决定线程运行时间长短和运行频率的实际因素取决于 A.系统平台 B.JVM

C.程序代码的设计 D.A和B 答案:D

48. 下面关于线程同步的错误叙述是 A.同步是在多线程并存情况下才有意义的概念 B.同步就是多线程互斥使用被锁定的资源 C.多线程并存不一定需要同步控制

D.线程的同步控制就是控制线程在一些关键点上等待 答案:B

49. 若要创建如下形式的output.xml,则横线处应填写的语句为 output.xml文档:

代码段:

Document document = DocumentHelper.createDocument(); Element root = document.addElement(\ .addElement(\ Element property = root.addElement(\_______________________________________ XMLWriter output = new XMLWriter(new FileWriter(\

OutputFormat.createPrettyPrint());

output.write(document); output.close();

A. property.addAttribute(\B. property.addAttribute(\\C. root.addAttribute(\\D. document.addAttribute(\\答案:B

50. 软件测试一般包括 A. 集成测试 B. 单元测试 C. 系统测试 D. 程序调试 答案:A,B,C .

1`.下列说法正确的是

A. Java 语言不区分大小写 B. Java 程序以类为基本单位

C. JVM 为 Java 虚拟机 JVM 的英文缩写 D. 运行 Java 程序需要先安装 JDK 答案:B,C,D

2. 下列说法中错误的是 A. Java 语言是编译执行的 B. Java 中使用了多进程技术 C. Java 的单行注视以//开头 D. Java 语言具有很高的安全性 答案:A,B

3. 下面不属于 Java 语言特点的一项是 A. 安全性 B. 分布式 C. 移植性 D. 编译执行 答案:D

4. 下列语句中,正确的项是 A . int $ e,a,b=10; B. char c,d='a'; C. float e=0.0d; D. double c=0.0f; 答案 ABD

5. 一个 int 类型的常量和一个 byte 类型常量做减法,结果的类型是 A. int B. byte C. char D. float 答案 A

6. 下列程序段的输出结果是 public class Expressions{ void printExpr(){ int x=3,y=4,z=5;

System.out.println(x+y+z); } }

A. xyz B. x+y+z C. 12 D. 9 答案 C

7. 下列关于 for 循环和 while 循环的说法中哪些是不正确的? A. for 循环能实现的操作,while 循环也都能实现 B. for 循环判断条件一般是非程序结果 C. while 循环判断条件一般是程序结果

D. 两种循环结构中都必须有循环体,循环体不能为空 答案 ABC 8.

以下程序段执行后的 K 值为 int x=10; y=34; k=(x

9. 下列不属于 Java 语言流程控制结构是 A. 分支语句 B. 条转语句 C. 循环语句 D. 赋值语句 答案 D

10. 设定义语句:int a[ ]={43,44,45};则下面对此语句的叙述正确的是 A. 定义一个名为 a 的一维数组 B. a 数组有 3 个元素

C. a 数组的元素的下标为 1~3 D. 数组中的每一个元素都是整型 答案 ABD

11. 运行以下代码 public class Person{ int array[]=new int[10];

public static void main(String args[]){ System.out.println(array [1]); } }

正确的是

A. 编译时将产生错误

B. 编译时正确,运行时将产生错误

C. 输出零 D. 输出空 答案 A

12. 执行完下面语句 int[ ]x = new int[20]; 后,说法正确的是 A. x[19]为 0 B. x[19]未定义 C. x[20]为 0 D. x[0]为空 答案 A

13. 设 tmp 是一个数组类成员,以下声明并初始化一个 4 个元素的数组选项 A. int tmp[]={1,2,3,4}; B. int tmp[]=new int[5]; C. int tmp[]=new int(5); D. int tmp[]; 答案 A

14. 设定义:String s=\,下面不合法的有 A. s=s. toUpperCase(); B. char c=s[1];

C. int len=s.length; D. s=s.trim(); 答案 BC

15. 设 String s1=\String s2=\

以下方法用来得到字符串\有 A. s2+s1;

B. s1.concat(s2); C. s1.append(s2); D. s1.concate(s2); 答案 B

16. 下面哪一个是 Java 最基本的元素 A. 接口 B. 方法 C. 包 D. 对象 答案:D

17. 如果 Cake.java、Ball.java 这两个类总共包含有 8 个方法,则编译后会产生多少个字节码 文件 A. 12

B. 10 C. 2 D. 1 答案:C

18. 下面关于抽象类的理解,错误的是 A. 构造方法可以声明为抽象类型 B. 抽象方法必须被子类的方法覆盖 C. 不允许实现抽象方法

D. 方法声明中,static 和 abstract 不能同时存在 答案:A

19. 编译 Java 程序时编译器提示找不到要编译的代码,这种错误通常可能是 A. 文件名拼写错误 B. 没有导入相应的包 C. 文件名不是.java

D. 源文件不在 Java 搜索路径中 答案:A,C,D

20. 捕获异常应该使用下列哪个子句 A. throw B. catch

C. finally D. throws 答案:B

21. 下列哪一项不属于 finally 语句的工作 A. 关闭数据库 B. 释放资源 C. 关闭文件 D. 分配资源 答案:D

22. 下面哪些需要异常处理机制 A. 编译出错

B. 方法、类中抛出的异常 C. 使系统从故障中恢复

D. 程序因不可避免的原因产生错误 答案:B,C,D

23. Iterator 类中的哪个方法用于获得数据结构中的下一个元素 A. hasNext() B. remove() C. next()

D. size() 答案:C

24. 对于下面的代码段,程序输出结果是 Vector v=new Vector(25) v.add(\v.add(\v.add(\v.add(\

System.out.println(v.get(1)); A. CakeA B. CakeB C. CakeC D. CakeD 答案:B

25. 处理流时下面哪种原始数据类型可以交互使用 A. byte 和 char B. String 和 char C. byte 和 boolean

D. int 和 char 答案:D

26. 下列哪个类不能用于在磁盘上创建一个文件 A. File

B. FileOutputStream C. RandomAccessFile D. HashMap 答案:D

27. 下列说法正确的是

A.在窗口中显示一个字符串,需要使用 drawString()方法

B.一个 Checkbox 对象既可以作为一个复选框,也可作为单选按钮组中的一个单选按钮 C.Checkbox、CheckboxGroup 组件只用于信息输入,不能用于信息输出 D.在 Applet 中用 Label 对象,只需声明并创建这个对象即可 答案:B

28. 下列哪个接口用于对 Button 对象的事件进行监听和处理 A.ActionListener B.FocusListener

C.MouseMotionListener D.WindowsListener 答案:A

29. 在编写能对事件进行处理的 Applet 程序时,一般需要在程序开头写上 A.import java.awt.*; B.import java.applet.*; C.import java.awt.event.*; D.import java.swing.*; 答案:C

30. ActionListener 接口能响应的事件是 A.ActionEvent B.MouseEvent C.KeyEvent D.ItemEvent 答案:A