1. 下列不可作为java语言修饰符的是(    )。

Aa1

B$1

C_1

D11

答案:D

2. 有一段java 应用程序,它的主类名是a1,那么保存它的源文件名可以是(    )。

Aa1.java

Ba1.class

Ca1

D都对

答案:A

3. 整型数据类型中,需要内存空间最少的是(    )。

Ashort

Blong

Cint

Dbyte

答案:D

4. Java 类可以作为(    )。

A类型定义机制

B数据封装机制

C类型定义机制和数据封装机制

D上述都不对

答案:C

5. 在创建对象时必须(    )。

A先声明对象,然后才能使用对象

B先声明对象,为对象分配内存空间,然后才能使用对象

C先声明对象,为对象分配内存空间,对象初始化,然后才能使用对象

D上述说法都对

答案:C

6. 在调用方法时,若要使方法改变实参的值,可以(    )。

A用基本数据类型作为参数

B用对象作为参数

CA和B都对

DA和B都不对

答案:B

7. Java中(    )。

A一个子类可以有多个父类,一个父类也可以有多个子类

B一个子类可以有多个父类,但一个父类只可以有一个子类

C一个子类可以有一个父类,但一个父类可以有多个子类

D上述说法都不对

答案:C

8. Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?(    )。

A安全性

B多线性

C跨平台

D可移植

答案:B

9. Character流与Byte流的区别是(    )。

A每次读入的字节数

B前者带有缓冲,后者没有

C前者是字符读写,后者是字节读写

D二者没有区别,可以互换使用

答案:C

10. 以下声明合法的是(    )。

A.default String s;

B.public final static native int w( ){};

C.abstract double d;

D.abstract final double hyperbolicCosine( );

答案:D

11. 关于以下application的说明,正确的是(    )。

class StaticStuff {

   static int x = 10;

   static {x += 5;}

   public static void main(String args[]) {

      System.out.println("x=" + x);

   }

   static {x /= 3;}

}

A.4行与9行不能通过编译,因为缺少方法名和返回类型

B.9行不能通过编译,因为只能有一个静态初始化器

C.编译通过,执行结果为:x=5

D.编译通过,执行结果为:x=3

答案:C

12. 以下选项中循环结构合法的是(    )。

A.while (int  i<7)

  {     i++;

       System.out.println(“i is “+i);

  }

B.int  j=3;

while(j) {

     System.out.println(“ j  is “+j);

  }

C.int  j=0;

for(int  k=0; j + k !=10; j++,k++) {

     System.out.println(“ j  is “+ j + “k  is”+ k);

  }

D.int  j=0;

do{

     System.out.println( “j  is “+j++);

if (j = = 3) {continue  loop;}

}while  (j<10);

答案:C

13. 将以下哪种方法插入行3是不合法的。(    )。

类Test1定义如下:

public  class  Test1{

   public  float  aMethod(float  a,float  b){   }

   //第3行

}

A.public  float  aMethod(float  a, float  b,float  c){  }

B.public  float  aMethod(float  c,float d){  }

C.public  int  aMethod(int  a, int b){  }

D.private float aMethod(int a,int b,int c){  }

答案:B

14. 将以下哪种方法插入Test2的类体中是不合法的。(    )。

Test1Test2定义如下:

public class Test1 {

   public float aMethod(float a, float b) throws IOException {}

}

public class Test2 extends Test1 {}

Afloat  aMethodfloat  afloat  b{ }

Bpublic  int  aMethodint aint bthrows  Exception{ }

Cpublic  float  aMethodfloat  pfloat q{ }

Dpublic  int  aMethodint aint  bthrows IOException{ }

答案:A

15. 关于以下程序段,正确的说法是(    )。

String  s1=”abc”+”def”;

String  s2=new  String(s1);

if(s1= =s2)

     System.out.println(“= = succeeded”);

if (s1.equals(s2))

     System.out.println(“.equals()  succeeded”);

A.行4与行6都将执行

B.行4执行,行6不执行

C.行6执行,行4不执行

D.行4、行6都不执行

答案:C

16. Java application中的主类需包含main方法,main方法的返回类型是什么?(    )。

A.int

B.float

C.double

D.void

答案:D

17. 以下哪个方法用于定义线程的执行体? (    )。

A.start()

B.init()

C.run()

D.synchronized()

答案:C

18. 以下标识符中哪项是不合法的(    )。

A.const

B.$double

C.hello

D.BigMeaninglessName

答案:A

19. 以下哪个关键字可以用来为对象加互斥锁?(    )。

A.transient

B.static

C.serialize

D.synchronized

答案:D

20. 在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为(    )。

A.隐藏

B.覆盖

C.重载

D.Java不支持此特性

答案:C

21. 以下关于构造函数的描述错误的是(    )。

A.构造函数的返回类型只能是void型。

B.构造函数是类的一种特殊函数,它的方法名必须与类名相同。

C.构造函数的主要作用是完成对类的对象的初始化工作。

D.一般在创建新对象时,系统会自动调用构造函数。

答案:A

22. 下列哪些语句关于Java内存回收的说明是正确的? (   

A.程序员必须创建一个线程来释放内存

B.内存回收程序负责释放无用内存

C.内存回收程序允许程序员直接释放内存

D.内存回收程序可以在指定的时间释放内存对象

答案:B

23. 在定义一个类的类域或类方法时,必须使用哪种修饰符?(    )。

A.static

B.package

C.private

D.public

答案:A

[解析]类域,即是静态域;类方法,即是静态方法。因为静态域和静态方法均属于类,而不属于类所声明的对象的。

24. 有以下方法的定义,请选择该方法的返回类型(    )。

ReturnType  method(byte x, double y) {

   return  (short)x/y*2;

}

A.byte

B.short

C.int

D.double

答案:D

25. 有以下程序片段,下列哪个选项不能插入到第1行。(    )。

//第1行

public  class  Interesting{

   //do sth

}

A.import java.awt.*;

B.package mypackage;

C.class OtherClass{   }

D.public class MyClass{ }

答案:D

26. 以下哪项是接口的正确定义?(    )。

Ainterface  B{  void print()  {  } ;  }

Babstract  interface  B{ void print() ;}

Cabstract  interface  B  extendsA.1,A2 { abstract  void  print(){  };}//A1、A2为已定义的接口

Dinterface  B {  void  print();}

答案:D

27. 下面哪个函数是public void  aMethod(){...}的重载函数?(    )。

A.void  aMethod( ){...}

B.public int  aMethod(){...}

C.public void  aMethod ( ){...}

D.public int  aMethod ( int m){...}

答案:D

28. 假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?(    )。

Class A

{   int  i;

   static  String  s;

   void  method1() {   }

   static  void  method2()  {   }

}

A.System.out.println(a.i);

B.a.method1();

C.A.method1();

D.A.method2()

答案:C

29. 有如下代码段, 其中方法unsafe() 将抛出IOException, 请问可将以下哪项填入第1行?(    )。

//此为第1行

{

   if(unsafe()){   //do something…}

   else if(safe()){  //do the other…}

}

Apublic IOException methodName()

Bpublic void methodName()

Cpublic void methodName() throw IOException

Dpublic void methodName() throws IOException

答案:D

30. Java的字符类型采用的是Unicode编码方案,每个Unicode码占用(    )个比特位。

A.8

B.16

C.32

D.64

答案:B

31. 以下关于继承的叙述正确的是(    )。

A.在Java中类只允许单一继承

B.在Java中一个类只能实现一个接口

C.在Java中一个类不能同时继承一个类和实现一个接口

D.在Java中接口只允许单一继承

答案:A

32. 给出下面代码,关于该程序以下哪个说法是正确的?(   

public class Person{

   static int arr[] = new int[5];

   public static void main(String a[]) {

     System.out.println(arr[0]);}

   }

}

A.编译时将产生错误

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

C.输出零

D.输出空

答案:C

33. 在使用interface声明一个接口时,只可以使用(    )修饰符修饰该接口。

A.private

B.protected

C.private  protected

D.public

答案:D

34. 编译并运行以下程序,以下描述哪个选项是正确的(    )。

class A{

  protected boolean equals(){

    return super.equals();

  }

}

A.编译通过运行无异常

B.编译通过但运行时出错

C.行2出错,不能成功编译

D.不能成功编译,行3出错

答案:D

35. 有语句String s="hello world"; ,以下操作哪个是不合法的?(    )。

A.int i=s.length();

B.s>>>=3;

C.String ts=s.trim();

D.String t=s+"!";

答案:B

36. 下列关于Java语言的特点,描述错误的是(    )。

A.Java是跨平台的编程语言

B.Java支持分布式计算

C.Java是面向过程的编程语言

D.Java支持多线程

答案:C

37. 下述概念中不属于面向对象方法的是(    )。

A.对象、消息

B.继承、多态

C.类、封装

D.过程调用

答案:D

38. 结构化程序设计所规定的三种基本控制结构是(     )。

A.输入、处理、输出

B.树形、网形、环形

C.顺序、选择、循环

D.主程序、子程序、函数

答案:C

39. 下列关于构造方法的叙述中,错误的是(    )。

A.Java语言规定构造方法名与类名必须相同

B.Java语言规定构造方法没有返回值,但不用void声明

C.Java语言规定构造方法不可以重载

D.Java语言规定构造方法只能通过new自动调用

答案:C

40. 下列哪个类的声明是正确的?(   

A.abstract final class HI{}

B.abstract private move(){}

C.protected private number;

D.public abstract class Car{}

答案:D

41. 关于被私有访问控制符private修饰的成员变量,以下说法正确的是(     )。

A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

B.可以被两种类访问和引用:该类本身、该类的所有子类

C.只能被该类自身所访问和修改

D.只能被同一个包中的类访问

答案:C

42. 下列关于for循环和while循环的说法中哪个是正确的?(    

A.while循环能实现的操作,for循环也都能实现

B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果

C.两种循环任何时候都可替换

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

答案:B

43. 阅读以下代码,输出结果应该是:(     )。

import java.io.*;

import java.util.*;

public class foo{

   public static void main (String[] args){

      String s;

      System.out.println("s=" + s);

   }

}

A.代码得到编译,并输出“s=”

B.代码得到编译,并输出“s=null”

C.由于String s没有初始化,代码不能编译通过

D.代码得到编译,但捕获到 NullPointException异常

答案:C

44. 编译运行以下程序后,关于输出结果的说明正确的是(     )。

public class Conditional{

   public static void main(String  args[ ]){

      int x=4;

      System.out.println(value  is  + ((x>4) ? 99.9:9));

   }

}

A.输出结果为:value  is  99.9

B.输出结果为:value  is  9

C.输出结果为:value  is  9.0

D.编译错误

答案:C

45. 执行完以下代码int [ ]  x = new int[10];后,以下哪项说明是正确的(    )。

A.x[9]为0

B.x[9]未定义

C.x[10]为0

D.x[0]为空

答案:A

46. 关于以下程序段,正确的说法是(    )。

String  s1=“a”+“b”;

String  s2=new  String(s1);

if(s1= =s2)

      System.out.println(“= =  is succeeded”);

if (s1.equals(s2))

      System.out.println(“.equals() is succeeded”);

A.行4与行6都将执行

B.行4执行,行6不执行

C.行6执行,行4不执行

D.行4、行6都不执行

答案:C

47. 下列哪一个关键字用于实现接口?(   

A.extends

B.implements

C.abstract

D.interface

答案:B

48. 若a的值为3时,下列程序段被执行后,c的值是多少?(    

if ( a>0 )

if ( a>3 )  c = 2;

else c = 3;

else c = 4;

A.1

B.2

C.3

D.4

答案:C

49. 下面哪一个操作符的优先级最高?(     )。

A.&&

B.||

C.!

D.( )

答案:D

50. 下列方法头中哪一个不与其他方法形成重载(overload)关系? (   

A.void mmm()

B.void mmm(int i)

C.void mmm(String s)

D.int mmm()

答案:D

51. 编译Java程序的命令是:(    )。

A.appletviewer

B.javac

C.java

D.javadoc

答案:B

52. 编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(     )。

A..byte

B..class

C..html

D..exe

答案:B

53. 执行语句int i = 1, j = ++i; 后i与j的值分别为(    )。

A.1与1

B.2与1

C.1与2

D.2与2

答案:D

54. main方法是Java应用程序执行的入口点,关于main方法的方法头以下哪项是合法的?(    )。

A.public  static  void  main()

B.public  static  void   main( String[]  args )

C.public  static int  main(String  [] arg )

D.public  void  main(String  arg[] )

答案:B

55. 下列哪个选项不是Java语言的特点?(    

A.面向对象

B.高安全性

C.平台无关

D.面向过程

答案:D

56. 下列哪个是合法的Java标识符?(   

A.Tree&Glasses

B.FirstJavaApplet

C.*theLastOne

D273.5

答案:B

57. 下面的选项中,哪一项不属于“汽车类”的行为(    )。

A.启动

B.刹车

C.减速

D.速度

答案:D

58. 下面哪一个循环会导致死循环?(   

A.for (int k = 0; k < 0; k++)

B.for (int k = 10; k > 0; k--)

C.for (int k = 0; k < 10; k--)

D.for (int k = 0; k > 0; k++)

答案:C

59. 有如下程序段,则表达式a == b与s2 == s1的结果分别是:(    )。

int a = b = 5;

String s1 = "祝你今天考出好成绩!";

String s2 = s1;

A.true与true

B.false与true

C.true与false

D.false与false

答案:A

60. 在Java中用什么关键字修饰的方法可以直接通过类名来调用?(   

A.static

B.final

C.private

D.void

答案:A

61. 若在某一个类定义中定义有如下的方法:abstract void performDial( );该方法属于(    )。

A.接口方法

B.最终方法

C.抽象方法

D.空方法

答案:C

62. 有如下程序段, 则执行完该程序段后total的值为:(    )。

int total = 0;

for ( int i = 0; i < 4; i++ ){

  if ( i == 1) continue;

  if ( i == 2) break;

  total += i;

}

A.0

B.1

C.3

D.6

答案:A

63. 如果希望某个变量只可以被类本身访问和调用,则应该使用下列哪一种访问控制修饰(    )。

A.private

B.protected

C.private  protected

D.public

答案:A

64. 在Java中,"456"属于(    )类的对象。

A.int

B.String

C.Integer

D.Number

答案:B

65. System.out.println("5" + 2);的输出结果应该是(    )。

A.52

B.7

C.2

D.5

答案:A

66. 为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(    )。

Astatic  void  method( )

Bpublic  void  method( )

Cfinal  void  method( )

Dabstract  void  method( )

答案:A

67. 下面声明数组的写法错误(    )。

Aint a[ ];

Bint[ ] a;

Cint[3][ ] a;

Dint[ ][3] a;

答案:D

68. 设x为float型变量,y为double型变量,a为int型变量,b为long型变量, c为char型变量,则表达式x+y*a/x+b/y+c的值为    类型。

Aint

Blong

Cdouble

Dchar

答案:C

69. 欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?(   

A.ArrayList myList=new Object();

B.List myList=new ArrayList();

C.ArrayList myList=new List();

D.List myList=new List();

答案:B

70. 指出正确的表达式 (   

Abyte=128;

BBoolean=null;

Clong l=0xfffL;

Ddouble=0.9239d;

答案:C

71. 运行下列程序, 会产生什么结果(     )。

public class X extends Thread implements Runnable{

   public void run(){

     System.out.println("this is run()");

   }

   public static void main(String args[]) {

     Thread t=new Thread(new X());

      t.start();

   }

}

A第一行会产生编译错误

B第六行会产生编译错误

C第六行会产生运行错误

D程序会运行和启动

答案:D

72. Java编程所必须的默认引用包为(     )。

Ajava.sys包

Bjava.lang包

Cjava.util包

D以上都不是

答案:B

73. 下面语句在编译时不会出现警告或错误的是(     )。

Afloat f=3.14;

Bchar c=c;

CBoolean b=null;

Dint i=10.0;

答案:C

74. 下面不是合法标识符的是(    )。

A2ofUS

BgiveMes

CwhataQuiz

D$d2000_

答案:A

75. 下面哪一个是合法的数组声明和构造语句(     )。

Aint[] ages = [100];

Bint ages = new int[100];

Cint[] ages = new int[100];

Dint() ages = new int(100);

答案:C

76. 下面说法不正确的是(     )。

A一个子类的对象可以接收父类对象能接收的消息;

B当子类对象和父类对象能接收同样的消息时,它们针对消息产生的行为可能不同;

C父类比它的子类的方法更多;

D子类在构造函数中可以使用super( )来调用父类的构造函数;

答案:C

77. 给出下面代码段, 哪行将引起一个编译时错误?(     )。

public class Test {

   int n = 0;int m = 0;

   public Test(int a){ m=a;}

   public static void main(String arg[]) {

    Test t1,t2;

    int j,k;j=3;k=5;

    t1=new Test();t2=new Test(k);

   }

}

A行1

B行4

C行6

D行9

答案:D

78. 下面这些类型的应用,那个不使用Java语言来编写?(    

A.JavaScript

B.Applet

C.Servlet

D.Java Swing

答案:A

79. 声明成员变量时,如果不使用任何访问控制符(public, protected, private),则以下哪种类型的类不能对该成员进行直接访问(    )。

A.同一类

B.同一包中的子类

C.同一包中的非子类

D.不同包中的子类

答案:D

80. 下列哪种异常是检查型异常,需要在编写程序时声明 (   

ANullPointerException

BClassCastException

CFileNotFoundException

DIndexOutOfBoundsException

答案:C

81. 下面哪个流类属于面向字符的输入流(    )。

A.BufferedWriter

B.FileInputStream

C.ObjectInputStream

DInputStreamReader

答案:D

82. 下面关于数组声明和初始化的语句那个有语法错误?(   

A.int a1[]={3,4,5};

B.String a2[]={"string1","string1","string1"};

C.String a3[]=new String(3);

D.int[][] a4=new int[3][3];

答案:C

83. 下面哪一行代码正确的声明了一个类方法(静态方法)?(    

A.public int method(int i)

B.protected method(int i)

C.public static method(String s)

D.protected static void method(Integer i)

答案:D

84. 下面的方法,当输入为2的时候返回值是多少?(   

public int getValue(int i) {

int result = 0;

switch (i) {

   case 1:  result = result + i;

   case 2:  result = result + i * 2;

   case 3:  result = result + i * 3;

}

return result;

}

A.0

B.2

C.4

D.10

答案:D

85. getCustomerInfo()方法如下,try中可以捕获三种类型的异常,如果在该方法运行中产生了一个IOException,将会输出什么结果(    )。

public void getCustomerInfo() {

try {

    // do something that may cause an Exception

} catch (java.io.FileNotFoundException ex) {

   System.out.print("FileNotFoundException!");

} catch (java.io.IOException ex) {

   System.out.print("IOException!");

} catch (java.lang.Exception ex) {

   System.out.print("Exception!");

}

}

A.IOException!

B.IOException!Exception!

C.FileNotFoundException!IOException!

D.FileNotFoundException!IOException!Exception!

答案:A

86. 新建一个流对象,下面哪个选项的代码是错误的?(    

A.new BufferedWriter(new FileWriter("A.txt"));

B.new BufferedReader(new FileInputStream("A.dat"));

C.new GZIPOutputStream(new FileOutputStream("A.zip"));

D.new ObjectInputStream(new FileInputStream("A.dat"));

答案:B

87. Java的集合框架中重要的接口java.util.Collection定义了许多方法。选项中哪个方法不是Collection接口所定义的?(     )

A.int size()

B.boolean containsAll(Collection coll)

C.compareTo(Object obj)

D.boolean remove(Object obj)

答案:C

88. 一个线程在任何时刻都处于某种线程状态(thread state),例如运行状态、阻塞状态、就绪状态等。一个线程可以由选项中的哪种线程状态直接到达运行状态?(     )

A.死亡状态

B.阻塞状态(对象lock池内)

C.阻塞状态(对象wait池内)

D.就绪状态

答案:D

89. 选项中哪一行代码可以替换题目中//add code here而不产生编译错误?(   

public abstract class MyClass {

    public int constInt = 5;

    //add code here

    public void method() {

    }

}

A.public abstract void method(int A );

B.value = value + 5;

C.public int method();

D.public abstract void anotherMethod() {}

答案:A

90. File类是IO包中唯一表示磁盘文件信息的对象,它定义了一些与平台无关的方法来操纵文件。通过调用File类提供的各种方法,我们能够创建、删除文件、重命名文件、判断文件的读写权限及是否存在,设置和查询文件的最近修改时间等。下面的代码片段实现的是什么功能?(    )

File file = new File("C:\\test.dat");

if (file.exists()) {

   file.delete();

}

A创建C:\test.dat。

B删除C:\test.dat。

C打开C:\test.dat文件输出流。

D移动C:\test.dat

答案:B

91. 阅读Shape和Circle两个类的定义。在序列化一个Circle的对象circle到文件时,下面哪个字段会被保存到文件中?(     )

class Shape {

   public String name;

}

class Circle extends Shape implements Serializable{

   private float radius;

   transient int color;

   public static String type = "Circle";

}

A.name

B.radius

C.color

D.type

答案:B

92. 下面哪个选项中的代码没有定义内部类,或者错误的定义了内部类?(     )

A.public class Line {

   int length;

   Class Point {//内部类代码}

}

B.public class Line {

   public Point getPoint() {

         return new Point(){//内部类代码};

   }

}

C.public class Line {

       //外部类代码

}

class Point {//内部类代码}

D.public class Line {

   public int calcLength() {

      class Point {//内部类代码}

   }

}

答案:C

93. list是一个ArrayList的对象,哪个选项的代码填写到//todo delete处,可以在Iterator遍历的过程中正确并安全的删除一个list中保存的对象?    

Iterator it = list.iterator();

int index = 0;

while (it.hasNext()){

    Object obj = it.next();

    if (needDelete(obj)) { //needDelete返回boolean,决定是否要删除

          //todo delete

    }

    index ++;

}

A.list.remove(obj);

B.list.remove(index);

C.list.remove(it.next());

D.it.remove();

答案:D

94. Java是从(     )语言改进重新设计。

A.Ada

B.C++

C.Pasacal

D.BASIC

答案:B

95. 下列语句哪一个正确(    )。

AJava程序经编译后会产生machine code

BJava程序经编译后会产生byte code

CJava程序经编译后会产生DLL

D.以上都不正确

答案:B

96. 下列说法正确的有(    )。

Aclass中的构造函数不可省略

B构造函数必须与class同名,但方法不能与class同名

C构造函数在一个对象被new时执行

D.一个class只能定义一个构造函数

答案:C

97. 提供Java存取数据库能力的包是(     )。

A.java.sql

B.java.awt

C.java.lang

D.java.swing

答案:A

98. 下列运算符合法的是(     )。

A.&&

B.<>

C.if

D.:=

答案:A

99. 执行如下程序代码后,变量c的值是(     )。

int a = 0;int c = 0;

do {

   --c;

   a = a - 1;

} while (a > 0);

A.0

B.1

C.-1

D.死循环

答案:C

100. 下列哪一种叙述是正确的(     )。

Aabstract修饰符可修饰字段、方法和类

B.抽象方法的body部分必须用一对大括号{ }包住

C.声明抽象方法,大括号可有可无

D.声明抽象方法不可写出大括号

答案:D

101. 下列语句正确的是(     )。

A.形式参数可被视为local variable

B.形式参数可被字段修饰符修饰

C.形式参数为方法被调用时,真正被传递的参数

D.形式参数不可以是对象

答案:A

102. 下列哪种说法是正确的(     )。

A.实例方法可直接调用超类的实例方法

B.实例方法可直接调用超类的类方法

C.实例方法可直接调用其他类的实例方法

D.实例方法可直接调用本类的类方法

答案:D

103. 用于设置组件大小的方法是(    )。

A.paint()

B.setSize()

C.getSize()

D.repaint()

答案:B

[解析] 可以使用setSize()方法来设置组件的大小。paint()和repaint()是与Applet显示相关的两种方法,paint()具体执行Applet的绘制,repaint()方法,主要用于Applet的重新显示,它调用update()方法实现对Applet的更新。因此,本题的正确答案是B。

104. 单击窗口内的按钮时,产生的事件是(    )。

A.MouseEvent

B.WindowEvent

C.ActionEvent

D.KeyEvent

答案:C

[解析] 当按钮被单击后,会产生ActionEvent事件,需要ActionListener接口进行监听和处理事件。因此,本题的正确答案是C。

 

105. 下列语句中,可以作为无限循环语句的是(    )。

A.for(;;){}

B.for(int i=0;i<10000;T++){}

C.while(false){}

D.do{}while(false)

答案:A

[解析] 本题中的while循环和do-while循环中当布尔表达式的值为true时,执行循环体中的语句。若某次判断其值为false,则结束循环。选项B的for循环中当i的值小于10000,则执行循环语句,当i的值大于10000时结束循环。只有选项A的for循环语句可以作为无限循环语句。因此,本题的正确答案是A。

106. 下列表达式中,类型可以作为int型的是(    )。

A."abc"+"efg"

B."abc"+'efg'

C.'a'+'b'

D.3+"4"

答案:C

[解析] 字符常量是用单引号起来的一个字符,如‘a’。用双引号起来的是字符串,如“Shanghua”。字符型数据类型能向int数据类型自动转换,而字符串不可以。选项A、B、D都含有字符串。因此,本题的正确答案是C。

107. 在switch(expression)语句中,expression的数据类型不能是(    )。

A.double

B.char

C.byte

D.short

答案:A

[解析] 表达式expresion只能返回几个类型的值:int、byte、short和Char。题目中的double是不正确的。多分支结构中,case子句的值必须是常量。而且所有case子句中的值应是不同的,default子句是任选的。当表达式的值与任一case子句中的值都不匹配时,如果有default语句,则程序执行default后面的语句;如果没有default语句,则程序不做任何操作直接跳出switch语句。

108. 已知:int[]a=new int[100];在下列给出的数组元素中,非法的是(    )。

A.a[0]

B.a[1]

C.a[99]

D.a[100]

答案:D

[解析] 本题中,int[]a=new int[100]定义了一个数组a,含有100个整型元素。在Java中,数组元素的下标是从O开始的,因此上面定义的数组实际上下标是从0~99,所以选项D错误。

109. 在方法内部使用,代表对当前对象自身引用的关键字是(    )。

A.super

B.This

C.Super

D.this

答案:D

[解析] super代表父类对象的引用;this代表当前对象的引用。因此,选择this

110. 阅读下列程序:

public class VariableUse {

   public static void main(String[] args) {

      int a;

      if (a == 8) {

         int b = 9;

         System.out.println("a=" + a);

         System.out.println("b=" + b);

      }

      System.out.println("a=" + a);

      System.out.println("b=" + b);

   }

}

    该程序在编译时的结果是(    )。

A.变量a未赋值

B.第二个System.out.println("b="+b)语句中,变量b作用域有错

C.第二个System.out.println("a="+a)语句中,变量a作用域有错

D.第一个System.out.println("b="+b)语句中,变量b作用域有错

答案:B

[解析] 程序中局部变量a定义时没有赋初值,Java会赋值一个随机值,第二个Systern.out.println("b="+b)语句中,变量b作用域有错,因为变量b是在if语句中定义的,执行完if语句时,变量b已经不存在。因此,选择B。

111. 下列不属于Swing的构件是(    )。

A.JButton

B.JLabel

C.JFrame

D.JPane

答案:D

[解析] Swing常用组件包含JLabel组件(标签)、JButton组件(按钮)、JTextField组件(单行文本)、JTextArea组件(多行文本)、JcheckBox组件(复选按钮)、JRadioButton组件(单选按钮)、JComboBox组件(下拉列表框)、JList组件(列表)、JTablc组件(表格)、JTree组件(树)等。选项D中JPane写错了。选择D。

 

112. 对鼠标单击按钮操作进行事件处理的接口是(    )。

A.MouseListener

B.WindowListener

C.ActionListener

D.KeyListener

答案:A

[解析] WindowListener是监听窗口事件的接口;ActionListener是监听按钮、文本框、列表框等组件的动作事件的接口;KeyLitener是监听键盘事件的接口。因此,本题选择A。

113. 阅读下列代码:

public class Person {

   static int arr[] = new int[10];

   public static void main(String args) {

      System.out.println(arr[9]);

   }

}

   该代码的运行结果是(    )。

A.编译时将产生错误

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

C.输出零

D.输出空

答案:C

[解析] 若类的某个成员是基本数据类型,即使没有进行初始化,Java也会确保它获得一个默认值。

114. 下列方法中,不属于类String的方法是(    )。

A.toLowerCase()

B.valueOf()

C.charAt()

D.append()

答案:D

[解析] string类的方法不包括append(),aploend()方法是StringBuffer类的方法。具体可以参考String类的函数。因此选择D。

115. 给一个short类型变量赋值的范围是(    )。

A.-128~+127

B.-2147483648~+2147483647

C.-32768~+32767

D.-1000~+1000

答案:C

[解析] 在java语言中short型变量的存储顺序是先高后低,占16bit,能表示的数据范围是:-32768~+32767。因此,本题的正确答案是C。

116. 阅读下列代码段:

    ByteArrayOutputStream bout=new ByteArrayOutputStream();

    ObjectOutputStream out=new ObjectOutputStream(hout);

    out.writeObject(this);

    out.close();

    以上代码段的作用是(    )。

A.将对象写入内存

B.将对象写入硬盘

C.将对象写入光盘

D.将对象写入文件

答案:A

[解析] 在java.io中,提供了ByteArrayInputStream、BytcArrayOutputStream和StringBufferInputStream类可直接访问内存,它们是Inputstream和OutputStream的子类。用ByteArrayOutputStream可以向字节数组(缓冲区)写入数据。在ObjectInputStream中用readObject()方法可以直接读取一个对象,ObjectOutputStream中用writeObject()方法可以直接将对象保存到输出流中。因此,本题的正确答案是A。

117. 下列语句中错误的是(    )。

A.String s[]={"how","are");

B.byte b=255;

C.String s="one"+"two";

D.int i=2+2000;

答案:B

[解析] 选项A是定义并初始化一个一维数组,选项C是定义并初始化一个字符串,选项D是定义并初始化一个整型变量。选项A、C、D是正确的。byte型变量占8bit,能表示的数据范围是:-128~+127,所以选项B是错误的。因此,本题的正确答案是B。

118. 阅读下列代码:

public class Test{

public static void main(String args[]){

          System.out.println((2<0)? 10:8);

      }

}

    其运行结果是(    )。

A.2

B.0

C.10

D.8

答案:D

[解析] 因为2<0为flase,所以条件表达式的值为8。因此,本题的正确答案是D。

119. Java类库中,将信息写入内存的类是(    )。

A.java.io.FileOutputstream

B.java.io.ByteArrayOutputStream

C.java.io.BufferedOutputstream

D.java.io.DataOutputStream

答案:C

[解析] 用FileOutputstream定义一个输出流文件;ByteArrayOutputSrream定义一个字节数组输出流;DataOutputStream定义一个数据输出流;它们都不带有缓冲功能。BuferedOutputStream生成一个缓冲输出流,在内存中开辟缓冲区。因此选择C。

120. 阅读下列代码段:

class Test implements Runnable {

   public int run() {

      int i = 0;

      while (true) {

         i++;

         System.out.println("i=" + i);

      }

   }

}

    上述代码的编译结果是(    )。

A.程序通过编译并且run()方法可以正常输出递增的i值

B.程序通过编译,调用run()方法将不显示任何输出

C.程序不能通过编泽,因为while的循环控制条件不能为“true”

D.程序不能通过编译,因为run()方法的返回值类型不是void

答案:D

[解析] 定义线程包括两种办法:

   ①扩展java.lang.Thread类。如果线程是使用独立的Runnable运行对象构造的,则调用该Runnable对象的run方法;否则,该方法不执行任何操作并返回。

   ②实现java.lang.Runncable接口。实现接口Runnable的对象创建一个线程时,启动该线程将导致在独立执行的线程中调用对象的run方法。方法run的常规协定是,它可能执行任何所需的操作。本题应该选择D。

121. 下列关于线程的说法中,正确的是(    )。

A一个线程一旦被创建,就立即开始运行

B使用start()方法可以使一个线程成为可运行状态,但是它不一定立即开始运行

C当运行状态的线程因为调用了yield()方法而停止运行,它一定被放在可运行线程队列的前面

D当因等待对象锁而被阻塞的线程获得锁后,将直接进入运行状态

答案:B

[解析] 在Java中,调用一个线程类的构造方法,便创建了一个线程,新建的线程调用start()方法将使线程的状态从New转换为Runnable。Runnable表示系统处于运行就绪状态,此时线程仅仅是可以运行,但不一定在运行中。所以选项A是错误的,选项B是正确的。yield()方法使具有与当前线程相同优先级的线程有运行的机会。如果没有同等优先级的线程是可运行状态,yeild()方法将什么也不做。yield()只是使当前线程重新回到可执行状态,所以执行yield()的线程有可能在进入到可执行状态后马上又被执行,不一定被放在可运行线程队列的前面,所以选项C是错误的。如果线程中使用synchronized来请求对象的锁,但没有获得时,进入对象锁阻塞状态,该状态下的线程当获得对象锁后,将进入可运行状态,所以选项D是错误的。因此,本题的正确答案是B。

122. 阅读下列代码:

public class Test implements Runnable {

   public void run(Thread t) {

      System.out.println("Running.");

   }

   public static void main(String[] args) {

      Thread tt = new Thread(new Test());

      tt.start();

   }

}

    代码运行结果是(    )。

A将抛出一个异常

B没有输出并正常结束

C输出"Running"并正常结束

D程序第2行将出现一个编译错误

答案:D

[解析] 接口可以作为一种引用来使用。接口类型变量(Runnable)将实现该接口的类(Test)的实例存入,通过这些变量去访问类所实现接口中的方法(run)。Test不是一个抽象类,它没有实现Runnabk中的run()方法,程序第2行将出现一个编译错误。因此,本题的正确答案是D。

123. 在匹配器(Marcher)类中,用于输入字符串与模式串比较的方法是(    )。

Astatic boolean matches()

Bboolean matcher.find()

Cint matcher.start()

Dint matcher.end()

答案:A

[解析] Marcher类用于将一个输入字符串input和模式串pattern相比较。boolean mateher.find()方法用于寻找下一个模式匹配串;int matcher.start()方法用于寻找下一个起始索引整数值;int matcher.end()方法用于返回匹配串的一个终止索引整数值;而用于输入字符串与模式串比较的方法是static boolean matches(),所以选项A正确。

124. 阅读下列代码,写出运行结果。

public class Test{

  String s="One World One Dream";

  public static void main(String args[]){

      System.out.println(s);

  }

}

    其运行结果是(    )。

Aargs

BOne World One Dream

Cs

D编译时出错

答案:D

[解析] 在一个static方法内部,随时可访问类中的static成员变量。但要访问非static成员变量,则必须首先创建一个对象,然后通过这个对象访问实倒变量。所以,在程序中不能访问变量s。因此,本题的正确答案是D。

125. 用于设置组件大小的方法是______。

A.paint()

B.setSize()

C.getSize()

D.repaint()

答案:B

[解析] 考点范围:JAVA简介

126. Java application中的主类需包含main方法,main方法的返回类型是()。

A.int

B.float

C.double

D.void

答案:D

[解析] 考点范围:JAVA简介

127. Java程序的执行过程中用到一套JDK工具,其中Java.exe是指()。

A.Java文档生成器

B.Java解释器

C.Java编译器

D.Java类分解器

答案:B

[解析] 考点范围:JAVA简介

128. 在Java中,负责对字节代码解释执行的是()。

A.垃圾回收器

B.虚拟机

C.编译器

D.多线程机制

答案:B

[解析] 考点范围:JAVA简介

129. 下列叙述中正确的是()。

A.Java语言的标识符是区分大小写的

B.源文件名与public类名可以不相同

C.源文件名其拓展名为.jar

D.源文件中public类的数目不限

答案:A

[解析] 考点范围:JAVA简介

 

130. 以下标识符中哪项是不合法的(    )。

A.BigOlLon$223

B.utfint

C.$12s

D.3d

答案:D

[解析] 考点范围:JAVA语言基础

131. 以下代码段执行后的输出结果为(    )。

int x=3;int y=8;System.out.println(y%x);

A.0

B.1

C.2

D.3

答案:C

[解析] 考点范围:JAVA语言基础

132. 以下(    )表达式是不合法的。

A.String x=Sky;int y=5; x+=y;

B.String x=Sky;int y=5; if(x==y){}

C.String x=Sky;int y=5;x=x+y;

D.String x=null ; int y=(x!=null)&&(x.length()>0)?x.length:0

答案:B

[解析] 考点范围:JAVA语言基础

133. 以下(    )不是Java的关键字。

A.TRUE

B.const

C.super

D.void

答案:A

[解析] 考点范围:JAVA语言基础

134. 设有定义int i=6;,则执行以下语句后,i的值为(    )。

i += i-1;

A.10

B.121

C.11

D.100

答案:C

[解析] 考点范围:JAVA语言基础

135. 当条件为和条件为假时,(    )控制结构可以执行不同的动作。

A.switch

B.while

C.for

D.if/else

答案:D

[解析] 考点范围:程序流程控制

136. 下面程序片段输出的是什么?(  

 int a = 3;

 int b = 1;

 if(a=b)

   System.out.println(“a =  ”+ a);

A.a = 1

B.a = 3

C.编译错误,没有输出

D.正常运行,但没有输出

答案:C

[解析] 考点范围:程序流程控制

137. 能构成多分支的语句是(   )。

A.for语句

B.while语句

C.switch语句

D.do-while语句

答案:C

[解析] 考点范围:程序流程控制

138. 下列语句序列执行后,k的值是(   )。

int m= 3,n = 6,k = 0;

while( ( m ++ ) < ( -- n ) )

     ++k;

A.0

B.1 

C.2 

D.3

答案:B

[解析] 考点范围:程序流程控制

139. 下列语句执行后,x的值是( )。

Int x = 2;

Do{

x+ = x;

}while ( x < 17 );

A.4

B.16

C.32

D.256

答案:C

[解析] 考点范围:程序流程控制

140. 完成以下代码int[ ] x = new int[ 5 ] ; 后,以下哪项说明是正确的(    )。

A.x[ 4 ]为0

B.x[ 4 ]未定义 

C.x[ 5 ]为0

D.x[ 0 ]为空

答案:A

[解析] 考点范围:数组

141. 若已定义byte[ ] x = { 1,2,3 };其中0<=k<=3,则对x数组元素错误的引用是(    )。

A.x[ 5-3 ] 

B.x[ k ]

C.x[ k+5 ]

D.x[ 0 ]

答案:C

[解析] 考点范围:数组

142. 设数组定义:int[ ]Array = new int[ 10 ];则数组的第一个的正确引用方法为(    )。

A.Array[ 1 ] 

B.Array[ 0 ]

C.Array[]

D.Array

答案:B

[解析] 考点范围:数组

143. 以下关于applecation的说明,正确的是(   

public class StaticStuff {

   static int x = 15;

   static {

      x *= 3;

   }

   public static void main(String args[]) {

      System.out.println("x = " + x);

   }

 

   static {

      x /= 3;

   }

}

A.3号行与7号行不能通过编译,因为缺少方法名和返回类型。

B.7号行不能通过编译,因为只能有一个静态初始化器。

C.编译通过,执行结果为:x = 15。

D.编译通过,执行结果为:x = 3。

答案:C

[解析] 考点范围:类和对象

144. 类 Text1 定义如下:

public class Text1 {

public float aMethod  (float a, float b) {  }

    * * *

}

将以下(   )方法插入行  * * * 是不合法的。

A.public float aMethod ( float a,float b, float c ){  }

B.public float aMethod ( float c, float d ){  }

C.public int aMethod ( int a,int b ){  }

D.public int aMethod ( int a,int b,int c ){  }

答案:B

[解析] 考点范围:类和对象

145. 以下关于构造方法的描述错误的是(  

A.构造方法的返回类型只能是void型

B.构造方法是类的一种特殊方法,它的方法名必须与类名相同

C.构造方法的主要作用是完成对类的对象的初始化工作

D.一般在创建新对象时,系统会自动调用构造方法

答案:A

[解析] 考点范围:类和对象

146. 在java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特殊性称为( 

A.隐藏

B.覆盖

C.重载 

D.java不支持此特性

答案:C

[解析] 考点范围:类和对象

147. 假设A类有如下定义,设a是A类的一个实例,下列语句调用错误的是( 

class   A {

int  i ;

static  String  s;

void  method1 {  }

static   void   method2(){  }

}

A.System.out.printLn ( a.i );

B.a.method1 (  );

C.A.method1 (  ); 

D.A.method2 (  );

答案:C

148. 设 x、y为已定义的类名,下列声明x类的对象x1的语句中正确的是(  

A.static  x  x1;

B.public  x  x1=new  x (int  123 );

C.y  x1;

D.x  x1 = x ();

答案:A

[解析] 考点范围:类和对象

149. 已知有下列类的说明,下列语句插入main函数,正确通过编译的是(  

public  class  Test {

private  float  f = 1.0f;

int  m = 12;

static  int  n = 1;

public  static  void  main (String args []) {

Test  t = new  Test ();

       //在此插入语句段

  }

}

A.t.f;

B.this.n;

C.Test.m;

D.Test.f;

答案:A

[解析]由于main函数在Test类里面声明,main函数声明的Test对象,也可以访问Test的私有域和私有方法。

150. 下面关于类的方法描述,错误的是(   

A.说明类方法使用关键字 static

B.类方法和实例方法一样均占用对象的内存空间

C.类方法能用实例和类名调用

D.类方法只能处理类变量或调用类方法

答案:B

[解析] 考点范围:类和对象的扩展

151. 下面关于包的描述中,错误的是(   

A.包是若干对象的集合

B.使用package语句创建包

C.使用import语句引入包

D.包分为有名包和无名包两种

答案:A

[解析] 考点范围:类和对象的扩展

152. 下列关于子类继承父类的成员描述中,错误的是(   

A.当子类中出现成员方法头与父类方法头相同的方法时,子类成员方法覆盖父类中的成员方法

B.方法重载是变编译时处理的,而方法覆盖是在运行时处理的

C.子类中继承父类中的所有成员都可以访问

D.子类中定义有与父类同名变量时,在子类继承父类的操作中,使用继承父类的变量;子类执行自己的操作中,使自己的定义变量

答案:C

[解析] 考点范围:类和对象的扩展

153. 下列关于继承性的描述中,错误的是(   

A.一个类可以同时生成多个子类

B.子类继承了父类中除私有的成员以为的其他成员

C.Java支持单继承和多重继承

D.Java通过接口可使子类使用多个父类成员

答案:C

[解析] 考点范围:类和对象的扩展

154. 下列关于抽象类的描述中,错误的是(   

A.抽象类是用修饰符abstract说明的

B.抽象类是不可以定义对象的

C.抽象类是不可以有构造方法的

D.抽象类通常有他的子类

答案:C

[解析] 考点范围:类和对象的扩展

155. 构造ArrayList类的一个实例,此类继承了List接口,正确的是(   

A.ArrayList myList=new Object();

B.ArrayList myList=new List

C.List myList=new ArrayList();

D.List myList=new List();

答案:C

[解析] 考点范围:常用的系统类

156. 指出下列程序运行的结果是(   

public class Example {

   String str = new String("good");

   char[] ch = { 'a', 'b', 'c' };

   public static void main(String[] srgs) {

      Example ex = new Example();

      ex.change(ex.str, ex.ch);

      System.out.println(ex.str + "and");

      System.out.println(ex.ch);

   }

   public void change(String str, char ch[]) {

      str = "test ok";

      ch[0] = 'g';

   }

}

A.good and abc

B.good and gbc

C.test and abc

D.test ok and gbc

答案:B

[解析] 考点范围:常用的系统类

157. 创建字符串s: s=new String(“xyzy”);以下(     )语句将改变s的值。

As.append(a);

Bs.concat(s);

Cs.substring(3);

D.以上语句都不对。

答案:D

[解析] 考点范围:常用的系统类

158. 关于一下程序段,正确的说法是(     

String s1 = ac + def;

String s2 = new String(s1);

if(s1.equals(s2))

    System.out.println(==succeeded);

if(s1 == s2)

    System.out.println( .equala() succeeded);

A.行4与行6都将执行

B.行6执行,行4不执行

C.行4执行,行6不执行

D.行4、行6都不执行

答案:C

[解析] 考点范围:常用的系统类

159. 关于以下代码段的说法正确的是(     

String s = abcde;

StringBuffer s1 = new StringBuffer(abcde);

if(s.equals(s1))

    s1 = null;

if(s1.equals(s))

    s = null;

A.第一行编译错误,Sting的构造方法必须明确调用

B.第三行编译错误,因为s1与s2有不同的类型

C.编译成功,但执行时在第五行有异常抛出

D.编译成功,执行过程中也没有异常抛出

答案:D

[解析] 考点范围:常用的系统类

160. 有语句String s = “hello woeld”;一下操作不合法的是(      )。

A.int I = s.length();

B.String ts = s.trim();

C.s>>>3

D.String t = s+!”

答案:C

[解析] 考点范围:常用的系统类

161. 下面说法不正确的是(    )。

A.InputStream与OutputStream类可以用来处理字节流,也就是二进制文件

B.Reader与Writer类是用来处理字符流的,也就是文本文件

C.Java中的I/O流的处理通常分为输入和输出两个部分

D.File类是输入/输出流类的子类

答案:D

[解析] 考点范围:JAVA输入输出系统

162. 要创建一个新目录,可以使用下面(    )类来实现。

A.FileInputStream

B.FileOutputStream

C.RandomaccessFile 

D.File

答案:D

[解析] 考点范围:JAVA输入输出系统

163. 下面的(    )方法能够得到一个文件的上一级目录名。

A.getParent()

B.getName()

C.getDirectory()

D.getPath()

答案:A

[解析] 考点范围:JAVA输入输出系统

164. 实现字符流的写操作类是(    ),实现字符流的读操作类是(    )。

A.FileReader

B.Writer

C.FileInputStream

D.FileOutputStream

答案:BA

[解析] 考点范围:JAVA输入输出系统

165. 要从“file.dat”文件中读出第十个字节到变量c中,下列哪个方法合适?(   

AFileInputStream in = new FileInputStream("file.dat");Int c=in.read();

BRandomAccessFile in = new RandomAccessFile("file.dat");in.skip(9);int c=in.readByte();

CFileInputStream in =new FileInputStream("file.dat");in.skip(9);int c=in.read();

DFileInputStream in=new FileInputStream("file.dat");in.skip(10);int c=in.read();

答案:C

[解析]B错误,如果把skip改为seek,则正确。即RandomAccessFile in = new RandomAccessFile("a.txt","rw");in.seek(9);int c=in.readByte();

166. 在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开始写上(    )语句。

A.import java. awt. * ; 

B.import java.applet.Applet;

C.import java.io. * ;

D.import java.awt.Graphics;

答案:C

[解析] 考点范围:JAVA输入输出系统

167. 下列流中那个不属于字符流?(   

A.InputStreamReader

B.BufferedReader

C.FileterReader 

D.FileInputStream

答案:D

[解析] 考点范围:JAVA输入输出系统

 

168. 字符流与字节流的区别在于(    )。

A.前者带有缓冲,后者没有

B.前者是块读写,后者是字节读写

C.二者没有区别,可以互换使用

D.每次读写的字节数不同

答案:D

[解析] 考点范围:JAVA输入输出系统

169. 下列关于容器的描述中,错误的是(   

A.容器是由若干个组件和容器组成

B.容器是对图形界面中界面元素的一种管理

C.容器是由一种指定宽和高的矩形范围

D.容器都是可以独立的窗口

答案:D

[解析] 考点范围:图形用户界面

170. 下列界面元素中,不是容器的是(   

A.List

B.JFrame

C.JDialog

D.JPanel

答案:A

[解析] 考点范围:图形用户界面

171. 下列关于实现图形用户界面的描述中,错误的是(   

A.放在容器中的组件首先要定义,接着要初始化

B.放在容器中的多个组件是要进行布局的,默认布局策略是FlowLayout

C.容器中所有组件都是事件组件,都可产生事件对象

D.事件处理是由监听者定义的方法来实现的

答案:B

[解析] 考点范围:图形用户界面

172. 下列关于组件类的描述中,错误的是(   

A.组件类中包含文本组件类(TextComponent)和菜单组件类(JMenuComponent)

B.标签(JLabel)和按钮(JButton)是组件类(JComponrnt)的子类

C.面板(JPanel)和窗口(JWindow)是容器类(Contairner)的子类

D.文本框(JTextField)和文本区(JTextAre)是文本组类(TextComponent)的子类

答案:A

[解析] 考点范围:图形用户界面

173. 在对下列语句的解释中,错误的是(   

but.addActionListener(this);

Abut是某种事件对象,如按钮事件对象

Bthis表示当前容器

CActionListener是动作事件的监听者

D该语句的功能是将but对象注册为this对象的监听者

答案:D

[解析] 考点范围:图形用户界面

174. 所有事件类的父类是   

AActionEvent

BAwtEvent

CKeyEvent

DMouseEvent

答案:B

[解析] 考点范围:图形用户界面

175. 所有GUI标准组件类的父类是   

AJButton

BList

CComponent

DContainer

答案:C

[解析] 考点范围:图形用户界面

176. 下列各种布局管理器中,window类,JDialog类和JFrame类的默认布局是(    )。

A.FlowLayout

B.JDialog

C.BorderLayout

D.GridLayout

答案:C

[解析] 考点范围:图形用户界面

177. 在下列各种容器中,最简单的、无边框的又不能移动和缩放的、只能包含在另一种容器中的容器是(    )。

A.JWindow

B.JDialog

C.JFrame

D.JPanel

答案:D

[解析] 考点范围:图形用户界面

178. 下列关于菜单和对话框的描述中,错误的是(   

A.JFrame容器是可以容纳菜单组件的容器。

B.菜单条中可包含若干个菜单,菜单中又可包含若干菜单项,菜单项中还可包含菜单子项。

C.对话框与JFrame一样都可作为程序的最外层容器。

D.对话框内含有菜单条,它是由JFrame弹出。

答案:BD

[解析] 考点范围:图形用户界面

179. 一个线程的run()方法代码如下:

try{

  sleep(100);

}catch(InterruptedException e) {}

假设线程没有被中断正确的是     

A.代码不会被编译,因为异常不会在线程的run()方法中捕获

B.在代码的第2行,线程将停止运行,至多100ms后恢复执行,

C.在代码的第2行,线程将停止运行,恰好在100ms后恢复执行,

D.在代码的第2行,线程将停止运行,恰好在100ms后的某个时间恢复执行

答案:C

[解析] 考点范围:线程

180. 编译和运行下列代码是的输入正确的是(    

public class MyThread implements Runnable {

   String myString = "Yes";

   public void run() {

      this.myString = "No";

   }

   public static void main(String[] args) {

      MyThread t = new MyThread();

      new Thread(t).start();

      for (int i = 0; i < 10; i++)

         System.out.print(t.myString);

   }

}

A.输出:Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes

B.输出:No No No No No No No No No No

C.输出:Yes No No No No No No No No No

D.输出不确定

答案:D

[解析] 考点范围:线程

181. 下列关于线程优先级的说法中,正确的是(     

A.线程的优先级是不能改变的

B.线程的优先级是在创建线程时设置的

C.在创建线程后的任何时候都可以设置

D.B和C

答案:D

[解析] 考点范围:线程

182. 下列方法中执行线程的方法是(    

A.run()

B.start()

C.sleep()

D.suspend()

答案:B

[解析] 考点范围:线程