视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
JAVA程序设计习题
2025-09-29 00:08:44 责编:小OO
文档
JAVA程序设计习题1

一、单选题

1.编译Java Application源程序文件将产生相应的字节码文件,扩展名为哪一个?

  A.java   B.class

  C.html   D.exe

  答案:B

2.下面哪一个特性不是面向对象编程主要体现的?

  A.封装性    B.继承

  C.多态     D.类

  答案:D

3.设 x = 1 , y = 2 , z = 3,则表达式y+=z--/++x的值是哪一个?

  A.3    B.3.5 

  C.4    D.5 

  答案:A

4.以下标识符中,哪个是无效的标识符?

  A.IDoLikeTheLongNameClass    B.$byte 

  C.ok                 D. const

  答案: D 

5.Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点?

A.安全性  B.多线性  C.跨平台  D.可移植

答案: B

6.Applet可以做下列哪些操作?

A.读取客户端文件            B.在客户端主机上创建新文件 

C.在客户端装载程序库        D.读取客户端部分系统变量

答案: D

7.以下声明合法的是哪一个?

A.default  String  s;            B.public  final  static  int  w( )

C.abstract  double  d;            D.abstract  final  double  hyperbolicCosine( )

答案: B

8.以下选项中循环结构合法的是哪一个?

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

9.下列关于Java语言的特点,描述错误的是哪一个?

A.Java是跨平台的编程语言                   B.Java支持分布式计算

C.Java是面向过程的编程语言                 D.Java支持多线程

答案: C

10.下述概念中不属于面向对象方法的是哪一组?

A.对象.消息    B.继承.多态      C.类.封装     D.过程调用

答案:D

11.结构化程序设计所规定的三种基本控制结构是 哪一组?

A.输入.处理.输出                       B.树形.网形.环形

C.顺序.选择.循环                       D.主程序.子程序.函数

答案: C

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

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

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

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

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

答案:D

13.编译运行以下程序后,关于输出结果的说明正确的是哪一个?

    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.99        B.输出结果为:value  is  9

C.输出结果为:value  is  9.0            D.编译错误

答案: C

14.下面代码执行后,正确的输出结果是哪一个?

public class Excmple{ 

    public static void main(String args[] ){ 

        int i=0;

        do{

            System.out.println("Doing it for i is:"+i); 

     } while(--i>0);

        System.out.println("Finish"); 

    } 

}

  A.Doing it for i is 3

  B.Doing it for i is 1

  C.Doing it for i is 2

  D.Doing it for i is 0

答案:D

15.开发与运行Java程序需要经过的三个主要步骤,以下选项中哪个不是其中的步骤 ?

  A. 编辑源程序

  B. 编译生成字节码

  C. 解释运行字节码

  D. 反编译字节码

答案:D

16.下面代码执行后,正确的输出结果是多少?

  String s1="You are hired!"; 

  System.out.println(s1.replace('h','f'));//用f把字串中的h替换了

  System.out.println(s1);

  A.    You are fired! 

You are hired! 

B.    You are fired!

You are fired!

  C.    You are hired! 

You are hired! 

D.    You are hired!

You are fired!

  答案:A

17.不是访问控制修饰符的是哪一个?

  A.public   B.private 

  C.static   D.protected 

答案:C

18.下列选项中哪一个是表达式1+2+"aa"+3的值?

A."12aa3"         B.  "3aa3"        C . “12aa"    D.  "aa3"

答案:B

19.以下程序运行时,哪一行会产生编译错误?

1)   public void modify() { 

2)      int i, j, k; 

3)      i = 100; 

4)      while ( i > 0 ) {

5)         j = i * 2; 

6)         System.out.println (" The value of j is " + j ); 

7)         k = k + 1; 

8)         i--; 

9)      } 

10)  } 

A. line 4 

B. line 6 

C. line 7 

D. line 8 

答案:C

20.关于Java基本语法机制,以下选项中哪个与C++相同?

A. 数据类型.表达式

B. 程序流控制

C. 结构化

D. 异常处理

E. 以上全是

答案:E

21.关于Java基本语法机制,以下选项中哪个与与C++不同?

A. 类

B. 接口(interface)

C. 程序包(package)

D. 自动内存回收

E. 多线程

F. 以上全是

答案:F

22下面哪些是short型的取值范围。

A. -27 -- 27-1 

B. 0 -- 216-1 

C. -215 -- 215-1 

D. -231 -- 231-1

答案:C

23.下面哪些是合法的标识符。

A. $persons 

B. const

C. *point

D. this

答案:A

24.下列选项中哪些是将一个十六进制值赋值给一个long型变量。

A. long number = 345L; 

B. long number = 0345; 

C. long number = 0345L; 

D. long number = 0x345L 

答案:D

25.下面选项中哪些答案可以用来表示八进制值8。

A. 010 

B. 0x10 

C. 08 

D. 0x8

答案:A

26.main()方法的返回类型是什么?

A. int 

B. void 

C. boolean 

D. static 

答案:B

27.给出下面的代码:

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

else if (x>-3) { System.out.println("second"); }

else { System.out.println("third"); }

x的取值在什么范围内时将打印字符串"second"。

A. x > 0

B. x > -3

C. x <= -3

D. x <= 0 & x > -3

答案:D

28.下面的哪些赋值语句是不对的(  )。

A. float f = 11.1

B. double d = 5.3E12

C. double d = 3.14159

D. double d = 3.14D

答案:A 

29.给出下面的代码: 

public class Test { 

   void printValue(int m){ 

     do { System.out.println("The value is"+m); 

        } 

     while( --m > 8 ) 

   } 

   public static void main(String arg[]) { 

     int i=10; 

     Test t= new Test(); 

     t.printValue(i); 

   } 

输出将是什么? 

A. The value is 10

   The value is 8 

B. The value is 9

   The value is 8

C. The value is 10

   The value is 9

D. The value is 11

   The value is 10

答案:C

30.下面的哪些声明是合法的?

A. long l = 4990;

B. int  i = 4L;

C. float f = 1.1;

D. double d = 34.4D;

答案:A

31.以下选项中的变量都已正确定义,不合法的表达式是哪个?

A. a >= 4 == b<1

B. 'n'-3

C. ‘a’=8

D. 'A'%6

答案:C

32.下列程序段执行后c的结果是多少?

int a = 9, b = 11, c;

c= a != b ? a+b : a-b;

A. –2        B. 20        C. 11        D. 9

答案:B

33.下列程序段执行后y的结果是哪个?

int  x1 = 9,  x2 = 6,  y;

y =(++x1 != x2 ++ )? (x1+x2) :(x1- x2);

A. 15        B. 9        C. 17        D. 3

答案:C

34.有一声明语句为boolean t; 下面赋值语句中t的值为false的是哪个?

A. t=5>3;

B. t=!false;

C. t=(true|false);

D. t=(2==3)?true:false;

答案:D

35.设a.b.c.d 为已赋值的 int 型变量,下列表达式的结果属于非逻辑值的是哪个?

A. a!=b & c%d < a        

B.  a++ = =a+b+c+d  

C.  ++a*b--+d

D. a+b>=c+d

答案:C

36.若有定义int  a = 2; 则执行完语句 a -= a * a; 后,a的值是多少?

A.  0        B.  4        C.  -2        D.  -4

答案:C

37.下列程序段执行后 b3 的结果是多少?

boolean  b1=true, b2=true, b3;

b3= !b1 ? b1 :!b2;

A.  0        B.  1        C.  true        D.  false

答案:D

38.设有定义  int  i=123;  long  j=456;  下面赋值不正确的语句是哪一个?

A.  j=i;        B.  j=(long)i;        C.  i=(int)j;        D.  i=j;

答案:D

39.下列程序段执行后t5的结果是多少?

int  t1 = 9, t2 = 11, t3=8;     

int  t4,t5;

t4 = t1 > t2 ? t1 : t2+ t1;

t5 = t4 > t3 ? t4 : t3;

A.  8        B.  20        C.  11        D.  9

答案:B

40.执行下面程序段后,b, x, y的值分别是多少?

int  x=6,y=8;       

boolean  b;

b=x>y&&++x==--y;

A. true , 6, 8        B. false , 7, 7        C. true, 7, 7        D. false, 6, 8 

答案:D

41.执行下列程序段后,m,x,y的值分别是多少?

int  x=2,y=4; 

boolean  m; 

m=++x>y--;

A. true , 2,4        B. false , 3, 3        C.  true, 3, 3        D.  false, 2,4

答案:B

 

42.下面语句序列执行后,a的值是多少?

int a=13;       a%=a/5;

A.  3        B.  13        C.  169        D.  1

答案:D

43.若有定义int  a = 2;则执行完语句a += a -= a * a; 后,a的值是多少?

A.  -4        B.  0        C.  4         D.  8

答案:B

44.下列语句序列执行后,x 的值是多少?

int a=3, b=4, x=5;

if ( ++aA. 3         B. 4         C.  5        D.  6

答案:C 

45.下列语句序列执行后,k 的值是多少?

int i=6, j=8, k=10, n=5, m=7;

if( iA.  9        B.  10        C.  11        D.  12

答案:A

46.应用程序的main方法中有以下语句,则输出的结果是哪个?

String  s1="Abc",s2="abc";

boolean  b1=s1.equals(s2);    

System.out.println(b1);

A.  false        B. true        C.  1        D.  0

答案:A

47.下面程序段执行后b的值是多少?

String str = "java";

boolean b = str  instanceof  String; 

A.  0        B.  true        C.  1        D.  false

答案:B

48.应用程序的main方法中有以下语句,则输出的结果是多少?

String  s1=new String("AAA");

String  s2=new String("AAA"); 

boolean b1=s1.equals(s2);

boolean b2=(s1==s2); 

System.out.print(b1+"   "+b2);           

A. true  false        B.  false  true        C.  true  true        D. false  false

答案:A

49.对于一个三位的正整数 n,取出它的十位数字k(k为整型)的表达式是哪个?

A.  k = n / 10 % 10        B.  k = ( n - n / 100 * 100 )%10

C.  k = n % 10            D.  k = n / 10

答案:A

50.下列语句执行后,变量a.c的值分别是多少?

int x=182;  

int a,c; 

c=x/100; 

a=x%10; 

A.  1,2        B.  2,1        C.   1.82, 2        D.   100,82 

答案:B

51.下面哪个表达式的值是x和y的最大值?

A. x>y?y:x B. xy?(x+y):(x-y) D. x==y?y:x;

答案:B

52.以下是应用程序中定义的静态方法printBinary,若在其main方法中有方法调用语句printBinary(2),则输出的结果是哪个?

static void printBinary(int i) {

System.out.print(i + "的2进制数表示为:\");

for (int j = 31; j >=0; j- -)

if(((1 << j) & i) != 0) System.out.print("1");

else

       System.out.print("0");

  System.out.println();//换行

}

A.  00000000000000000000000000000001

B.  00000000000000000000000000000010

C.  00000000000000000000000000001111

D.  00000000000000000000000000000000

答案:B

53.应用程序的main方法中有以下语句,则输出的结果是哪个?

String s1="0.5",s2="12"; 

double x=Double.parseDouble(s1);

int  y=Integer.parseInt(s2);

System.out.println(x+y);

A.  12.5        B.  120.5        C.  12        D.  “12.5” 

答案:A

54.下面的程序段执行后输出的结果是哪个?

StringBuffer buf=new StringBuffer("Beijing2008");

buf.insert(7,"@");

System.out.println(buf.toString());

A.  Beijing@2008        B.  @Beijing2008

C.  Beijing2008@        D.  Beijing#2008

答案:A

55.以下选项中,合法的赋值语句是哪个?

A.  a = = 1;             B.  ++ i;  

C.  a=a + 1= 5;        D.  y = int ( i );

答案:B

56.若所用变量都已正确定义,以下选项中,非法的表达式是哪个?

A.  a!= 4||b==1        B.  'a' % 3  

C.  'a' = 1/2            D.  'A' + 32

答案:C

57.现有一变量声明为boolean aa;下面赋值语句中正确的是哪个?

   A. aa=false;         B. aa=False;        C. aa="true";        D. aa=0;

答案:A

58.读程序,哪段程序返回false?

String s= "hello"; 

String t = "hello"; 

char c[] = {´h´,´e´,´l´,´l´,´o´} ; 

A. s.equals(t); 

B. t.equals(c); 

C. s==t; 

D. t==c;

答案:B

59.有如下定义:

    Person p;

    Teacher t;

    Student s;

其中,类Teacher和Student都是类Person的子类,p,t和s都是非空值。执行以下语句的结果是什么?

if ( t instanceof Person) {  s = (Student)t;  }

A. 将构造一个Student对象。

B. 表达式合法。

C. 编译时非法。

D. 编译时合法而在运行时可能非法。

答案:C

60.读程序,以下哪个表达式返回值为true?

    public class Sample{

       long length;

       public Sample(long l){ length = l; }

       public static void main(String arg[]){

          Sample s1, s2, s3;

          s1 = new Sample(21L);

          s2 = new Sample(21L);    

          s3 = s2;

          long m = 21L;

       }

    }

A. s1 == s2;

B. s2 == s3;

C. m == s1;

D. s1.equals(m).

答案:B

61.以下抽象类的定义中哪一个是正确的?

A. class Test{ abstract void growl();}

B. abstract Test{ abstract void growl();}

C. abstract class Test{ abstract void growl();}

D. abstract class Test{ 

abstract void growl(){

System.out.println(“grow1”);

}

}

答案:C

62.以下对Test类的定义中,哪种定义使Test类不能有子类?

A. class Test{ }

B. abstract final class Test{ }

C. class Test{ final;}

D. final class Test{ }

答案:D

63.读程序,当编译运行以下程序时会发生什么?

class Test{

    public static void main(String args[]){

        CellPhone cell=new CellPhone();

        cell.emergency();

    }

}

class Phone{

    final void dial110(){

        //...

    }

}

class CellPhone extends Phone{

    void emergency(){

        dial110();

    }

A. 这段程序不能被编译,因为Phone类没有被声明为final类。

B. 这段程序不能被编译,因为一个父类中的final的方法不能在子类中引用。

C. 这段程序可以被编译,但是在运行时会出现“NoSuchMethodException”的异常。

D. 这段程序可以正常编译运行。

答案:D

.以下访问控制修饰符中允许不在同一个包中的子类访问父类?

A. public

B. private 

C. protected

D. 缺省访问模式

答案:C

65.以下访问控制修饰符中仅允许同包中进行访问,不允许不同包访问。

A. public

B. private 

C. protected

D. 缺省访问模式

答案:D

66.以下访问控制修饰符中仅允许同类中进行访问。

A. public

B. private 

C. protected

D. 缺省访问模式

答案:B

67.以下访问控制修饰符中访问权限最大的是哪一个?

A. public

B. private 

C. protected

D. 缺省访问模式

答案:A

68.以下哪一个修饰符当用于一个方法前时,必须也用在类前?

A. public

B. final

C. static

D. abstract

答案:D

69.读程序,选择正确的运行结果

class Test709{

    public static void main(String args[]){

        SubClass ref1=new SubClass(5);

        SubClass ref2=new SubClass(10);

        System.out.println(ref1.add(ref2));

    }

}

class AClass{

    private int x;

    AClass(int x){

        this.x=x;

    }

}

class SubClass extends AClass{

    SubClass(int x){

        super(x);

    }

    int add(AClass ref){

        return x+ref.x;

    }

}

A. 有编译错误。

B. 编译通过,但有运行错误。

C. 有编译错误,但可以运行。

D. 可以编译和运行,结果为15。

答案:A

70.读程序,选择正确的运行结果

class Test710{

    public static void main(String args[]){

        AClass ref1=new AClass(5);

        AClass ref2=new AClass(10);

        ref1.getAddShow(ref2);

    }

}

class AClass{

    private int x;

    AClass(int x){

        this.x=x;

    }

    void getAddShow(AClass ref){

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

    }

}

A. 有编译错误。

B. 有运行错误。

C. 可以编译和运行,结果为5。

D. 可以编译和运行,结果为10。

答案:D

71.读程序,选择正确的运行结果

class Test711{

    public static void main(String args[]){

        AClass ref1=new AClass(5);

        AClass ref2=new AClass(10);

        System.out.println(ref1.add(ref2));

    }

}

class AClass{

    private int x;

    AClass(int x){

        this.x=x;

    }

    int add(AClass ref){

        return ref.x+x;

    }

}

A. 有编译错误。

B. 有运行错误。

C. 可以编译和运行,结果为5。

D. 可以编译和运行,结果为15。

答案:D

72.读程序,选择正确的运行结果

class Test712{

    public static void main(String args[]){

        SubClass ref1=new SubClass(5);

        SubClass ref2=new SubClass(10);

        System.out.println(ref1.add(ref2));

    }

}

class AClass{

    protected int x;

    AClass(int x){

        this.x=x;

    }

}

class SubClass extends AClass{

    SubClass(int x){

        super(x);

    }

    int add(AClass ref){

        return  ref.x + x;

    }

}

A. 有编译错误。

B. 有运行错误。

C. 可以编译和运行,结果为5。

D. 可以编译和运行,结果为15。

答案:D

73.读程序,如何修改程序,使得在fun()方法中可以正确的访问成员变量m?

class Test713{

    private int m;

    public static void fun(){

         //...

    }

}

A. 将“private int m”改为“protected int m”

B. 将“private int m”改为“public int m”

C. 将“private int m”改为“static int m”

D. 将“private int m”改为“int m”

答案:C

74.以下修饰符中哪一个是定义常量的?

A. public

B. final

C. static

D. abstract

答案:B

75.以下修饰符中哪一个用来定义类后,该类不能有子类?

A. public

B. final

C. static

D. abstract

答案:B

76.以下关于本地方法的声明中哪一个是正确的?

A. public native void test();

B. public native void test(){}

C. public void native test()

D. public native test(){}

答案:A

77.读程序,以下描述中正确的是哪一个?

public class Test {

    private int x;

    public static void main(String args[]){

        x=2;

    }

}

A. 将“private int x”修改为“public int x”,则x=2语句合法。

B. 将“private int x”修改为“static int x”,则x=2语句合法。

C. 将“private int x”修改为“final int x”,则x=2语句合法。

D. 程序可以正常编译和运行。

答案:B

78.读程序,以下运行结果描述正确的是哪一个?

private class Test{

    Test(){

        int i=100;

        System.out.println(i);

    }

}

public class Test721 extends Test{

    static int i=200;

    public static void main(String args[]){

        Test721 t=new Test721();

        System.out.println(i);

    }

}

A. 运行结果为:100。

B. 运行结果为:200。

C. 运行结果为:100和200。

D. 编译出错,Test类不能用private修饰。

答案:D

79.读程序,以下运行结果描述正确的是哪一个?

class Test{

    public final void amethod(){

        System.out.println("in amethod()!");

    }

}

public class Test722 extends Test{

    public static void main(String args[]){

        Test t=new Test();

        t.amethod();

    }

}

A. 编译出错,Test类应是public修饰的类。

B. 编译出错,amethod()方法是final的,在Test722类中不能直接调用。

C. 编译通过,但是运行出错。

D. 运行结果为:“in amethod()!”。

答案:D

80.共有成员变量MAX_LENGTH是一个int型值,其值保持常数值100。使用一个语句声明定义这个成员变量。

A. public int MAX_LENGTH=100; 

B. final int MAX_LENGTH=100; 

C. final public int MAX_LENGTH=100; 

D. public final int MAX_LENGTH=100; 

答案:D

81.给出下面的代码:

if (x>10) { System.out.println("first"); } 

else if (x>0) { System.out.println("second"); } 

else { System.out.println("third"); } 

x的取值在什么范围内时将打印字符串"second"? 

A. x > 10 | x < 0

B. x <= 10 & x > 0

C. x <=0 

D. x > 0

答案:B

82.执行以下程序,输出是什么?

public class Test401 { 

    void printValue(int m){ 

        do { 

            System.out.println("The value is "+m); 

     } while( --m > 10) ;

    } 

    public static void main(String args[]) { 

        int i=10; 

        Test401 t= new Test401(); 

        t.printValue(i); 

    } 

}

A. The value is 8 

B. The value is 9 

C. The value is 10 

D. The value is 11 

答案:C 

83.执行以下程序,哪一行将出错?

1)  String str = null; 

2) if ((str != null) && (str.length() > 10)) {

3)     System.out.println("more than 10"); 

4)  } 

5) else if ((str != null) & (str.length() < 5)) {

6)     System.out.println("less than 5"); 

7)  } 

8)  else { System.out.println("end"); } 

A. 第1行

B. 第2行

C. 第5行

D. 第8行

答案:C

84.执行以下程序,运行结果是什么?

public class Person{ 

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

    public static void main(String a[]) { 

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

    } 

}

A. 编译时将发生错误。 

B. 编译正确,但是运行时出错。 

C. 输出为0。 

D. 输出为null 

答案:C

85.执行以下程序,运行结果是什么?

public class Person{ 

    int arr[] = new int[10]; 

    public static void main(String a[]) { 

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

    } 

}

A. 编译时将发生错误。 

B. 编译正确,但是运行时出错。 

C. 输出为0。 

D. 输出为null 

答案:A

86.哪个表达式是声明一个含有10个String对象的数组?

A. char str[]=new char [10]; 

B. char str[10]; 

C. String str[]=new String[10]; 

D. String str[10]; 

答案:C

87.现有整型数组a,它有10个元素,为了打印输出它的第9个数组元素,下面正确的代码是哪个?

A.     System.out.println(a[10]);

B.  System.out.println(a[9]);

C.  System.out.println(a[a.length-1]);

D.     System.out.println(a[8]);

答案:D

88.为了定义三个整型数组a1.a2.a3,下面声明正确的语句是哪组?

A. intArray [] a1,a2;

int a3[]={1,2,3,4,5}; 

B. int [] a1,a2;

int a3[]={1,2,3,4,5};

C. int a1,a2[];

  int a3={1,2,3,4,5}; 

D. int [] a1,a2;

int a3=(1,2,3,4,5);

答案:B

.读程序,以下运行结果描述中哪一个是正确的?

public class Test {

    public static void main(String args[]){

        static int x[]=new int [15];

        System.out.println(x[5]);

    }

}

A. 有编译错误。

B. 有运行错误。

C. 可以编译和运行,结果为0。

D. 可以编译和运行,结果为null。

答案:A

90.读程序,以下运行结果描述正确的是哪一个?

abstract class Test{

    static int i;

    abstract void amethod();

}

public class Second extends Test{

    public static void main(String args[]){

        int[] a=new int[5];

     for(int i=0;i            System.out.println(a[i]);

    }

}

A. 编译出错,a数组必须在使用前先初始化。

B. 编译出错,Second类继承Test类后,必须重写amethod()方法,否则也应修饰为abstract类。

C. 编译出错,Test类必须修饰为public类。

D. 程序可以正常编译和运行。

答案:B

91.第10行的声明将调用哪一行的方法?

1)  class Person { 

2)     public void printValue(int i, int j) {/*…*/ } 

3)     public void printValue(int i){/*...*/ } 

4)  } 

5)  public class Teacher extends Person { 

6)     public void printValue() {/*...*/ } 

7)     public void printValue(int i) {/*...*/} 

8)     public static void main(String args[]){ 

9)        Person t = new Teacher(); 

10)       t.printValue(10); 

11)    } 

12) } 

A. 第2行 

B. 第3行

C. 第6行

D. 第7行

答案:D

92.读程序,以下描述哪一个正确?

class Base{}

class Sub extends Base{}

class Sub2 extends Base{}

public class Test{

    public static void main(String args[]){

        Base b = new Base();

        Sub s = (Sub) b;

    }

}

A. 编译出错。

B. 编译通过,运行时出错。

C. 编译出错,但可以继续运行。

D. 程序正常编译和运行。

答案:B

93.关于垃圾收集的哪些叙述是对的。 

A. 程序开发者必须自己创建一个线程进行内存释放的工作。 

B. 垃圾收集将检查并释放不再使用的内存。 

C. 垃圾收集允许程序开发者明确指定并立即释放该内存。 

D. 垃圾收集能够在期望的时间释放被java对象使用的内存。 

答案:B

94.下面的哪些表达式可以加到构造方法中的“// 调用两个参数的重载的构造方法”处?

class Person { 

String name, department; 

int age; 

public Person(String n){ name = n; } 

public Person(String n, int a){ name = n; age = a; } 

public Person(String n, String d, int a) { 

// 调用两个参数的重载的构造方法,以便实现”name=n,age=a”

department = d; 

A. Person(n,a); 

B. this(Person(n,a)); 

C. this(n,a); 

D. this(name,age);

答案:C

95.不符合方法重写规则的是哪个? 

A. 方法重写发生在类继承时。

B. 子类可以重写一个父类中已有的方法。

C. 重写的方法与被重写的方法返回值类型必须一致。

D. 重写的方法与被重写的方法参数列表必须不同。

答案:D

96.不符合方法重载规则的是哪个? 

A. 重载的方法方法名相同。

B. 重载的方法的访问控制修饰符必须相同。

C. 重载的方法中返回值可以不同

D. 重载的方法中如果参数个数相同,则参数类型必须不同。

答案:B

97.读程序,运行结果为多少?

class Parent {

    String one, two;

    public Parent(String a, String b){

        one = a;

        two = b;

    }

    public void print(){ System.out.println(one); }

}

class Child extends Parent {

    public Child(String a, String b){

        super(a,b);

    }

    public void print(){ 

        System.out.println(one + " to " + two);

    }

    public static void main(String arg[]){

        Parent p = new Parent("south", "north");           

        Parent t = new Child("east", "west");

        p.print();

        t.print();

    }

}

A. south

   east to west

B. south

   east

C. south to north

   east to west

D. south to north

   east

答案:A

98.读程序,哪一行将产生错误?

    1)  class Parent {

    2)     private String name;

    3)     public Parent(){}

    4)  }

    5)  public class Child extends Parent {

    6)     private String department;

    7)     public Child() {}

    8)     public String getValue(){ return name; }

    9)     public static void main(String arg[]) {

    10)       Parent p = new Parent();

    11)    }

    12) }

A. 第2行

B. 第6行

C. 第8行

D. 第10行

答案:C

99.读程序,下面的哪些表达式可以加入printValue()方法的“//同父类中…”部分,并满足注释中的要求?

class Person {

    String name,department;

    public void printValue(){ 

        System.out.println("name is "+name);

        System.out.println("department is "+department);

    }

}

public class Teacher extends Person {

    int salary;

    public void printValue(){

        //同父类中printValue()方法的内容,需要显示name和 department的值。

        System.out.println("salary is "+salary);

    }

}

A. printValue();

B. this.printValue();

C. person.printValue();

D. super.printValue().

答案:D

100.读程序,判断在编译时哪行将出错?

1) public class Test {

2)    int m, n;

3)    public Test() {}

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

5)    public static void main(String arg[]) {

6)       Test t1,t2;

7)       int j,k;

8)       j=0; k=0;

9)       t1=new Test();

10)      t2=new Test(j,k);

11)    }

12) }

A. 第3行

B. 第4行

C. 第9行

D. 第10行

答案:D

101.以下的哪个Java源文件代码片断是错误的?

A.  package testpackage; 

public class Test{//do something...} 

B.  import java.io.*; 

package testpackage; 

public class Test{// do something...} 

C.  import java.io.*; 

class Person{// do something...} 

public class Test{// do something...} 

D.  import java.io.*; 

import java.awt.*; 

public class Test{// do something...} 

答案:B

102.以下哪个类是所有类的根父类?

A. Exception

B. Object

C. System

D. Class

答案:B

103.下列语句序列执行后,num的值是多少?

Random rd1=new Random();

int num=rd1.nextInt(36)+1;

A.  37        B.  35        C.  1~36之间的随机整数        D.  0

答案:C

104.运行程序,结果为以下哪个值?

class Tester{

    int var;

    Tester(double var){

        this.var=(int)var;

    }

    Tester(int var){

        this("hello");

    }

    Tester(String s){

        this();

        System.out.println(s);

    }

    Tester(){

        System.out.println("Good-bye");

    }

    public static void main(String args[]){

        Tester t = new Tester(5);

    }

}

A. “hello”

B.  5

C. hello

Good-bye

D. Good-bye

 hello

答案:D

105.运行程序,结果是什么?

class A{

    int i;

    A(int i){

        this.i=i*2;

    }

}

class B extends A{

    public static void main(String args[]){

        B b=new B(2);

    }

    B(int i){

        System.out.println(i);

    }

}

A. 编译不通过,由于A类没有无参构造方法。

B. 编译通过,但不能运行。

C. 运行通过,i=2。

D. 运行通过,i=4。

答案:A

106.运行以下程序的结果是什么?

abstract class Test701 implements Runnable{

}

class Deposit extends Test701{

    protected void process(){

        addAmount();

    }

    void undo(int i){

        System.out.println("Undo");

    }

}

A. 这段程序不能编译,因为程序中没有main()主方法。

B. 这段程序不能编译,因为Deposit类没有实现run()方法,必须是abstract抽象类。

C. 这段程序不能编译,因为参数i在undo()方法中没有使用。

D. 可以成功编译。

答案:B

107.以下哪个修饰符通常用来对对象的加锁,且对对象的访问是排他的?

A. transient 

B. synchronized 

C. serialize 

D. static 

答案:B

108.以下有关线程的哪些叙述哪些是错误的?

A. 一个线程被刚被创建时,并没有立即开始运行。

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

C. 当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。

D. 一个线程可能因为不同的原因停止并进入就绪状态。

答案:C

109.方法resume()负责恢复哪些线程的执行。

A.    通过调用stop()方法而停止的线程。

B.    通过调用sleep()方法而停止运行的线程。

C.    通过调用wait()方法而停止运行的线程。

D.    通过调用suspend()方法而停止运行的线程。

答案:D

110.以下哪一个方法用于定义线程的运行体。

A. start()

B. init()

C. run()

D. main()

答案:C

111.当Frame的大小被改变时Frame中的按钮的位置可能被改变时使用的哪一个布局管理器? 

A. BorderLayout 

B. FlowLayout 

C. CardLayout 

D. GridLayout 

答案:B

112.以下哪一种布局管理器将容器划分为固定的网格进行布局?

A. BorderLayout 

B. FlowLayout 

C. CardLayout 

D. GridLayout 

答案:D

113.在HTML网页文件中嵌入一个小应用程序,以下代码正确的是哪个?

A.

B.

C.

D.

答案:C

114.以下是一个关于设置了适当字符间距的TextField的表达式,哪一个是正确的描述?

TextField t = new TextField("they are good",40); 

A. 被显示的字符串可以使用多种字体。

B. 一行中最大的字符数是40。

C. 显示的宽度必须是40个字符。

D. 用户可以编辑字符。 

答案:D

115.一个按钮放在一个窗体中,在窗体改变时只影响按钮的高度而宽度不受影响,应该使用哪个布局管理器?

A. BorderLayout的North或South区域

B. BorderLayout的East或West区域

C. FlowLayout

D. CardLayout

答案:B

116.下面哪个不是InputStream类中的方法?

A. int read(byte[])

B. void flush()

C. void close()

D. int available()

答案:B

117.下面哪个类同时实现了DataInput和DataOutput接口?

A. DateInputStream

B. DataOutputStream

C. RamdomAccessFile

D. DateIOStream

答案:C

118.下面哪个不是FilterInputStream的子类

A. DataInputStream

B. BufferedInputStream

C. PushbackInputStream

D. FileInputStream

答案:D

119.以下哪个类可以作为FilterInputStream类的构造方法的参数?

A. FileInputStream

B. File

C. InputStream

D. RandomAccessFile

答案:C

120.以下哪个类不可以作为File类的构造方法的参数?

A. File

B. String

C. char[]

D. URL

答案:C下载本文

显示全文
专题