Java面向对象程序设计复习题附答案.docx

上传人:b****6 文档编号:4487759 上传时间:2022-12-01 格式:DOCX 页数:25 大小:350.70KB
下载 相关 举报
Java面向对象程序设计复习题附答案.docx_第1页
第1页 / 共25页
Java面向对象程序设计复习题附答案.docx_第2页
第2页 / 共25页
Java面向对象程序设计复习题附答案.docx_第3页
第3页 / 共25页
Java面向对象程序设计复习题附答案.docx_第4页
第4页 / 共25页
Java面向对象程序设计复习题附答案.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

Java面向对象程序设计复习题附答案.docx

《Java面向对象程序设计复习题附答案.docx》由会员分享,可在线阅读,更多相关《Java面向对象程序设计复习题附答案.docx(25页珍藏版)》请在冰豆网上搜索。

Java面向对象程序设计复习题附答案.docx

Java面向对象程序设计复习题附答案

Java面向对象程序设计复习题

一、选择题

1、下列哪个是Java中的关键字(C)。

  A、run   B、Integer   C、default   D、implement

2、下面关于Java.applet.Applet和其祖先类的描述语句哪个不对(B)。

  A、Applet是Container的一种   B、Applet是Window的一种

  C、Applet是Component的一种   D、Applet是Panel的一种

3、下列类DataOutputStream的构造方法正确的是(A)。

  A、newdataOutputStream(newFileOutputStream(“out.txt”));

  B、newdataOutputStream(“out.txt”);

  C、newdataOutputStream(newwriter(“out.txt”));

  D、newdataOutputStream(newFileWriter(“out.txt”));

4、在switch(表达式)语句中,表达式的类型不能为(C)。

  A、byte   B、char   C、long   D、int

5、在接口MouseMotionListener中方法正确的是(A)。

  A、PublicvoidmouseDragged(MouseEvent)

  B、PublicbooleanmouseDragged(MouseEvent)

  C、PublicvoidmouseDragged(MouseMotionEvent)

  D、PublicbooleanMouseDragged(MouseMotionEvent)

6、下面是一些异常类的层次关系

   Java.lang.Exception

    Java.lang.RuntimeException

     Java.lang.IndexOutOfBoundsException

      Java.lang.ArrayIndexOutOfBoundsException

       Java.lang.StringIndexOutOfBoundsException

假设有一个方法X,能够抛出两个异常,ArrayIndex和StringIndex异常,假定方法X中没有try-catch语句,下面哪个答案是正确的。

(B)

  A、方法X应该声明抛弃ArrayIndexOutOfBoundsException和StringIndexOutOfBounds

   Exception。

  B、如果调用X的方法捕获IndexOutOfBoundsException,则ArrayIndexOutOfBounds

   Exception和StringIndexOutOfBoundsException都可以被捕获。

  C、如果方法X声明抛弃IndexOutOfBoundsException,则调用X的方法必须用Try-catch语句

   捕获。

  D、方法X不能声明抛弃异常。

7、现有一变量声明为booleanaa;下面赋值语句中正确的是(D)。

  A、aa=0   B、aa=True   C、aa="true"   D、aa=false

8、某类Example的main()方法参数为args,当输入数据JavaExamplecat时,args[0]的值为(A)。

  A、cat   B、Java   C、example   D、null

9、Strings1=newString(“Java”);Strings2=newString(s1)则下列哪个说法是正确的(C)。

  A、表达式s1==s2为真

  B、s1和s2是同一个对象    

  C、表达式s1.equals(s2)为真

  D、以上均不对

10、类定义如下

  classFoo{

   publicstaticvoidmain(Stringargs[]){

    Strings;

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

   }

  }

则下列结论正确的是(C)。

  A、有输出结果,且为空  B、没有输出结果

  C、编译错误       D、有输出结果,且不为空

11、下列哪个不是Java的保留字(D)。

  A、float   B、class   C、extends   D、virtual

12、下列符号中不能作为Java标识符的是(D)。

  A、abc   B、$str1   C、_pore   D、45six

13、方法methodA定义如下:

  returnTypemethodA(bytex,doubley){

   return(short)x/y*2;

  }

则返回值returnType为(C)。

  A、byte   B、double   C、short   D、int

14、如果floatf=4.2F;Floatg=newFloat(4.2F);Doubled=newDouble(4.2);则下列选项正确的是(B)。

  A、f==g   B、f==g.floatValue()   C、d==f   D、d.equals(f)

15、下列二维数组定义中错误的是(A)。

  A、inta[][]=newint[][];

  B、int[]a[]=newint[10][10];

  C、inta[][]=newint[10][10];

  D、int[][]a=newint[10][10];

16、关于下列语句哪个答案是正确的(D)。

   System.out.println(4|7);

  A、4   B、5   C、6   D、7  

17、下面哪一个AWT组件可以有菜单栏MenuBar(A)。

  A、Java.awt.Frame

  B、Java.awt.Window 

  C、Java.awt.Applet

  D、Java.awt.Panel

18、下列哪个方法用于创建并开始一个新的线程(B)。

  

  A、run();

  B、start();

  C、execute();

  D、run(Runnabler);

19、如果有Booleana=newBoolean(“yes”),则a.booleanValue()值为(D)。

  A、yes   B、“yes”   C、true   D、false   

20、以下类DataOutputStream的构造方法正确的是(C)。

  A、newdataInputStream(“in.txt”);

  B、newdataInputStream(newfile(“in.txt”));

  C、newdataInputStream(newFileInputStream(“in.txt”));

D、newdataInputStream(newFileWriter(“in.txt”));

21、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。

  A、.Java   B、.class   C、.html   D、.exe

22、设x=1,y=2,z=3,则表达式y+=z--/++x的值是(A)。

  A、3   B、3.5   C、4   D、5

23、在Applet表面输出文字时,可以选择不同的颜色,但是忘记了设置颜色的方法,应该首先在哪个类里面寻找(D)。

  A、Java.awt.Applet

  B、Java.awt.Panel

  C、Java.applet.Applet

  D、Java.awt.Component

24、类Cycle的main()方法为:

  publicstaticvoidmain(Stringargs[]){

    System.out.println(args[0]);

   }

则运行时如果命令行语句为JavaCycleonetwothree,则输出结果为(B)。

  A、Cycle   B、one   C、two   D、three

25、下面哪一个是Thread类中的静态方法(D)。

  A、start()   B、stop()   C、run()   D、sleep(longm)

26、关于下列语句哪个答案是正确的(A)。

  if(5&7&&5|2)System.out.println(“true”);

  A、不能编译成功       B、可以编译成功,输出true

  C、可以编译成功,但无输出  D、以上均不对

27、声明公用的abstract方法的正确格式是(C)。

  A、publicabstractvoidadd(){}

  B、publicabstractadd();

  C、publicabstractvoidadd();

  D、publicvirtualadd();

28、下列程序结果正确的是(B)。

  publicclassTest{

   publicstaticvoidmain(Stringargs[]){

    Ada1=newAd();

    System.out.println(a1.add

(1));

    Ada2=newAd();

    System.out.println(a2.add

(2));

   }

  }

  classAd{

   staticinttotal=10;

    publicintadd(inti){

     total=total+i;

     returntotal;

    }

   }

  A、11,12   B、11,13   C、11,11   D、12,12

29、基于Java.awt.Frame的一个程序中包含一个Panel,Panel其中包含一个Label,在Frame和Panel中分别有下面的一些语句,

  //Frame里面的语句

  setFont(newFont("Serif",Font.ITALIC,18);

  setBackground(Color.cyan);

  //Panel中的语句

  setBackground(Color.white);

  setForeground(Color.magenta);

请问Label用什么颜色和字体显示(A)。

 A、Background=white;foreground=magenta;font=SerifItalicstyle,18point

 B、Background=cyan;foreground=black;font=SerifItalicstyle,18point

 C、Background=cyan;foreground=black;font=systemdefaultstyleforlabels

 D、Background=white;foreground=magenta;font=systemdefaultstyleforlabels

30、语句for(intx=0,y=0;(y!

=0)&&(x<4);x++)的执行次数是(B)。

A、无限次   B、一次也不执行   C、执行4次   D、执行3次

二、判断题

1、abstract是抽象修饰符,可以用来修饰类及其属性和方法。

(对)

2、Java支持多线程机制。

(对)

3、一个Java源程序文件中允许有多个公共类。

(错)

4、重载的方法可以通过它们的返回值类型的不同来区分。

(错)

5、子类要调用父类的方法,必须使用super关键字。

(错)

6、子类拥有的成员数目一定大于等于父类拥有的成员数目。

(错)

7、一个catch块也可以区分处理多个不同类型的异常,只要它们是该catch语句块异常参数的子类或其本身。

(对)

8、程序中一旦执行了catch语句块,则不会执行finally语句块。

(错)

9、新建一个Frame对象,则其将立即显示在屏幕上。

(错)

10、一个正在执行的线程使用yield()方法将处理器让给其它同优先级的其它线程。

(对)

11、Java中的的字符使用的是16位的Unicode编码。

(对)

12、for语句中的循环体不能为空。

(错)

13、Java仅支持类间的单重继承。

(对)

14.接口是由常量和抽象方法组成的特殊类。

(对)

15、构造函数的方法名可由编程人员任意命名。

(错)

16、使用静态属性必须以类名做前缀。

(错)

17、类的私有属性和私有方法可以被其子类访问。

(错)

18、使用了FlowLayout布局管理器,不能改变组件的高度。

(对)

19、Java.lang.RuntimeException及其子类的异常可以不捕获。

(对)

20、当用户在TextField中改变光标的位置时,会产生一个TextEvent事件。

(错)

31、Java程序是由若干类定义组成的,类定义包括定义类头和定义类体。

(对)

32、类Class1中的属性被private修饰符修饰为私有变量,所以方法不能访问它。

(错)

34、引用一个类的属性或调用其方法,必须以这个类的对象为前缀。

(错)

35、与未加访问控制符的缺省情况相比,public和protected修饰符扩大了类及其属性和方法的被访问范围,private修饰符则缩小了这种范围。

(对)

36、子类要调用父类的方法,必须使用super关键字。

(错)

37、因为Java不支持多重继承,所以定义类时implements关键字后面只能说明一个接口名。

(错)

38、挂起、阻塞或等待的线程都能恢复执行,但停止的线程不能复生。

(对)

39、如果一个方法在运行过程中产生异常,则方法会终止,但整个应用不一定终止。

(对)

40、接口Java.lang.runnable中只有一个run()方法。

(对)

三、程序阅读题

1.阅读下面的程序代码,并回答问题。

Strings1=newString("abcde");

Strings2=newString("abcde");

booleanb1=s1.equals(s2);

booleanb2=s1==s2;

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

(1)程序段执行后,在命令行的输出结果如何?

(2)解释输出

(1)的结果的原因?

(1)truefalse

(2)equals方法比较两个字符串的内容是否相等;运算符“==”判断两个对象是否指向同一个引用,即是否为同一个对象。

2.阅读下面的程序代码,并回答问题。

importjava.io.*;

publicclassTest{

publicstaticvoidmain(Stringargs[])throwsIOException{

BufferedReaderbuf=newBufferedReader(

newInputStreamReader(System.in));

while(true){

Stringstr=buf.readLine();

if(str.equals("quit"))

break;

intx=Integer.parseInt(str);

System.out.println(x*x);

}

}

}

编译运行上面的程序:

(1)从键盘输入10,回车后输出的结果如何?

(2)从键盘输入exit,回车后程序能正确执行吗?

为什么?

(1)100

(2)不能;因为方法Integer.parseInt(str)不能将字符串“exit”转化为整数,抛出异常。

3.阅读下面的程序代码

importjava.io.*;

   publicclassTest{

    publicstaticvoidmain(Stringargs[]){

     inti,s=0;

     inta[]={10,20,30,40,50,60,70,80,90};

     for(i=0;i

      if(a[i]%3==0)

       continue;

      s+=a[i];

     }

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

    }

   }

程序执行后,在命令行的输出结果是什么?

270

4.阅读下面的程序代码

importjava.util.*;

publicclassExample9_14{

publicstaticvoidmain(Stringargs[]){

Strings="市话费:

28.89元,长途话费:

128.87元,上网费:

298元。

";

Stringdelim="市话长途话上网费元:

";

StringTokenizerfenxi=newStringTokenizer(s,delim);//用delim中的字符的任意组合作为分隔标记

doubletotalMoney=0;

while(fenxi.hasMoreTokens()){

doublemoney=Double.parseDouble(fenxi.nextToken());

System.out.println(money);

totalMoney+=money;

}

System.out.println("总费用:

"+totalMoney+"元");

}

}

程序执行后,在命令行的输出结果是什么?

市话费:

28.89元

长途话费:

128.87元,

上网费:

298元。

总费用:

455.76元

 

5.阅读下面的程序代码

importjava.util.*;

classStudentimplementsComparable{

intenglish=0;

Stringname;

Student(intenglish,Stringname){

this.name=name;

this.english=english;

}

publicintcompareTo(Objectb){

Studentst=(Student)b;

return(this.english-st.english);

}

}

publicclassExample13_8{

publicstaticvoidmain(Stringargs[]){

TreeSetmytree=newTreeSet();

Studentst1,st2,st3,st4;

st1=newStudent(90,"赵一");

st2=newStudent(66,"钱二");

st3=newStudent(86,"孙三");

st4=newStudent(76,"李四");

mytree.add(st1);

mytree.add(st2);

mytree.add(st3);

mytree.add(st4);

Iteratorte=mytree.iterator();

while(te.hasNext()){

Studentstu=te.next();

System.out.println(""+stu.name+""+stu.english);

}

}

}

程序执行后,在命令行的输出结果是什么?

钱二66

李四76

孙三86

赵一90

6.写出下面的程序编译、运行后的结果。

publicclassTest{

publicstaticvoidmain(Stringargs[]){

newStudent("Tom",'m',90,88);

newStudent("Jack",'m',66,89);

newStudent("Mary",'f',76,86);

System.out.println("name\tsex\tchinese\tenglish");

Student.print();

}

}

classStudent{

protectedStringname;

protectedcharsex;

protectedintchinese;

protectedintenglish;

protectedStudentnext;

staticStudentlist;

Student(Stringname,charsex,intchinese,intenglish){

this.name=name;

this.sex=sex;

this.chinese=chinese;

this.english=english;

this.next=list;

list=this;

}

staticvoidprint(){

Studentfriend=list;

if(friend==null)

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

else{

do{

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

friend=friend.next;

}while(friend!

=null);

}

}

publicStringtoString(){

returnnewString(name+"\t"+sex+"\t"+chinese+"\t"+english);

}

}

7.写出以下程序的功能。

importjava.io.*;

publicclassTestFile

{

publicstaticvoidmain(Stringargs[])throwsException

{

BufferedReaderbr=newBufferedReader(

newInputStreamReader(System.in));

BufferedWriterbw=newBufferedWriter(newFileWriter(“input.txt"));

Strings;

while

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1