1Java语言与面向对象程序设计期末复习题_第1页
1Java语言与面向对象程序设计期末复习题_第2页
1Java语言与面向对象程序设计期末复习题_第3页
1Java语言与面向对象程序设计期末复习题_第4页
1Java语言与面向对象程序设计期末复习题_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、“Java语言与面向对象程序设计”期末复习题一判断题1. 由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。 ( × )2. 注释的作用是使程序在执行时在屏幕上显示/之后的内容。 ( ×)3. Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。 ()4. java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。 (×)5. Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(× )6. 创建Vector对象时构造函数给定的是其中可以包容的元素个数,

2、使用中应注意不能超越这个数值。 (×)7. 静态初始化器是在其所属的类加载内存时由系统自动调用执行。 ()8. Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。( )9. 设String对象s=”H”(s.concat(“ello!”);后String对象s的内容为”Hello!”,所以语句输出为”Hello!”。(× )10. 在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。 (×)11. 无论Java源程序包含几个类的定义,若该源程序文件以B.java命名,编译后生成的都只有一

3、个名为B的字节码文件。 (×)12. 即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体为空。 ()13. Java的各种数据类型所占用的内存长度与具体软硬件环境有关。 (×)14. 在Java的方法中定义一个常量要用const关键字。 (×)15. Java的类不允许多重继承,但接口支持多重继承。 ()16. 所谓抽象类就是包含有抽象方法的类。 (×)17. 在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。 (×)18. 程序

4、员可以不必释放已创建的对象,因为Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。 (×)19. Java语言中的数组元素只能是基本数据类型而不能为对象类型。 (×)20. 构造函数用于创建类的实例对象,构造函数名应与类名相同,在类中必须定义构造函数,且只能定义一个构造函数。(×)21. 在Java中%是取余运算符,要求两端操作数为整型。 (× )22. Java有两类程序:Java Application和Java Applet,其中Java Applet程序只能在图形界面中工作,而Java Application程序只能在字符界面中工作

5、 。 ( ×)23. Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出System.out和标准错误输出System.err。 ()24. 一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。 ()二单项选择题1在浏览器中执行applet 程序,以下选项中的哪个方法将被最后执行( C )。A、init()B、start() C、destroy() D

6、、stop()2 Java application中的主类需包含main方法,main方法的返回类型是什么?( D )A、intB、floatC、doubleD、void3有以下方法的定义,请选择该方法的返回类型( D )。ReturnType method(byte x, float y)return (short)x/y*2;A、byteB、shortC、intD、float4设有下面两个类的定义: class Person class Student extends Person long id; / 身份证号 int score; / 入学总分 String name; / 姓名 in

7、t getScore() return score; 则类Person和类Student的关系是( B )。A、包含关系B、继承关系C、关联关系D、上述类定义有语法错误5以下哪个关键字可以用来对对象加互斥锁?( C ) A、transient B、serializeC、synchronizedD、static6在编写Java Applet程序时,需要在程序的开头写上( B )语句。A、import java.awt.* ; B、import java.applet.* ;C、import java.io.* ; D、import java.awt.event.* ;7容器Panel和Apple

8、t缺省使用的布局编辑策略是( A )A、FlowLayoutB、BorderLayoutC、GridLayoutD、CardLayout8以下声明合法的是( B )A、default String s;B、public final static native int w( )C、abstract double d;D、abstract final int hyperbolicCosine( )9以下程序段执行后将有( C )个字节被写入到文件afile中。 tryFileOutputStream fos=new FileOutputStream(“afile.txt”);DataOutputS

9、tream dos=new DataOutputStream(fos);dos.writeInt(3);dos.writeDouble(0.01);dos.close();fos.close( );catch(IOException e) A、2B、8C、12D、1610编译并运行以下程序,以下描述哪个选项是正确的( C )。1. class ATestOftoStected String toString()3.return super.toString();4.A、编译通过运行无异常B、编译通过但运行时出错C、行2出错,不能成功编译D、不能成功编译,行3出错11有以下程

10、序片段,下列哪个选项不能插入到行1。( A )1.2.public class A3./do sth 4. A、public class MainClass B、package mine;C、class ANotherClass D、import java.util.*;12在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。A、privateB、protectedC、private protectedD、public13以下哪个不是Java的关键字?( A )A、FALSEB、constC、thisD、void14关于以下application的说明,正确的是( C

11、 )。1class StaticStuff2 3static int x;4static x+=5;5public static void main(String args )6 7 System.out.println(“x=” + x);89static x/=5;10A、4行与9行不能通过编译,因为缺少方法名和返回类型B、9行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=1D、能通过编译,但程序运行结果不可预知,因为变量x没有初始化15有程序如下,关于程序的描述哪个是正确的?( C )public class Person static int arr = new

12、 int5;public static void main(String a) System.out.println(arr0); A、编译将产生错误B、编译时正确,但运行时将产生错误C、正确,输出0D、正确,输出 null16类ABC定义如下:1public class ABC2public int max( int a, int b) 34将以下哪个方法插入行3是不合法的。( B )A、public float max(float a, float b, float c) B、public int max (int c, int d) C、public float max(flo

13、at a, float b) D、private int max(int a, int b, int c) 17以下关于构造函数的描述错误的是( A )。A、构造函数的返回类型只能是void型。B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。C、构造函数的主要作用是完成对类的对象的初始化工作。D、一般在创建新对象时,系统会自动调用构造函数。18有语句String s=”hello world”; ,以下操作哪个是不合法的?( A )A、s>>>=1;B、int i=s.length();C、String ts=s.trim();D、String t=s+”!”;19

14、在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行( A )。A、init()B、start() C、destroy() D、stop()20有程序片段如下,以下哪个表示式的结果为true?( B )Float s=new Float(0.1f);Float t=new Float(0.1f);Double u=new Double(0.1);A、s=tB、s.equals(t)C、u.equals(s)D、t.equals(u)21Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( B )个比特位。A、8 B、16 C、32 D、6422以下哪项可能

15、包含菜单条(B)。A、PanelB、FrameC、AppletD、Dialog23paint()方法使用哪种类型的参数? ( A ) A、Graphics B、Graphics2D C、String D、Color24以下哪个方法用于定义线程的执行体? ( C )A、 start()B、init()C、run()D、synchronized() 25当浏览器暂时离开含applet 程序的页面时,以下选项中的哪个方法将被执行?( D )A、init()B、start() C、destroy() D、stop()26下面哪个不是Java中的容器? ( A )A、Can

16、vas B、ScrollPaneC、AppletD、Dialog 27在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( C )。A、隐藏 B、覆盖 C、重载 D、Java不支持此特性28编译Java Applet 源程序文件产生的字节码文件的扩展名为( B )。A、javaB、classC、html D、exe29下面哪个方法与applet的显示无关?( A ) A、draw() B、 update() C、repaint() D、p

17、aint()30编译并运行以下程序,以下描述哪个选项是正确的( C )1. class A2.protected boolean equals()3.return super.equals();4.A、编译通过运行无异常B、编译通过但运行时出错C、行2出错,不能成功编译D、不能成功编译,行3出错31以下自定义标识符中哪项是不合法的( A )A、constB、$doubleC、helloD、BigMeaninglessName32有如下代码段: 1) 2) if(unsafe()/do something 3) else if(safe()/do the other 4) 其中,方法unsafe

18、() 将抛出IOException, 请问可将以下哪项填入第1行?( D ) A、public IOException methodName() B、public void methodName() C、public void methodName() throw IOException D、public void methodName() throws IOException33类Test1、Test2定义如下:1public class Test12 public float aMethod(float a,float b) throws3 IOException 4 5 public c

19、lass Test2 extends Test167将以下哪种方法插入行4是不合法的。( A )A、 float aMethod(float a,float b) B、 public int aMethod(int a,int b)throws Exception C、 public float aMethod(float p,float q) D、 public int aMethod(int a,int b)throws IOException 34以下哪个接口的定义是正确的?( D )A、 interface B void print() ;B、 abstract interface B

20、 void print() ;C、 abstract interface B extends A1,A2 /A1、A2为已定义的接口 abstract void print() ;D、 interface B void print();35下面哪个函数是public void  aMethod().的重载函数?( D )A、void  aMethod( ).B、public int  aMethod().C、public void  aMethod ( ).D、public int  aMeth

21、od ( int m).36A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明: 1. A a0=new A();2. A  a1 =new B();3. A a2=new C();问以下哪个说法是正确的? ( D )A、只有第1行能通过编译 B、第1、2行能通过编译,但第3行编译出错C、第1、2、3行能通过编译,但第2、3行运行时出错D、第1行、第2行和第3行的声明都是正确的 37假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?( C )class Aint i;static

22、String s;void method1() static void method2() A、System.out.println(a.i);B、a.method1(); C、A.method1(); D、A.method2()38下列哪些语句关于Java内存回收的说明是正确的? ( B )A、程序员必须创建一个线程来释放内存B、内存回收程序负责释放无用内存C、内存回收程序允许程序员直接释放内存D、内存回收程序可以在指定的时间释放内存对象39以下关于继承的叙述正确的是( A )。A、在Java中类只允许单一继承B、在Java中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实

23、现一个接口D、在Java中接口只允许单一继承40在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上( D )语句。A、import java.awt.* ; B、import java.applet.* ;C、import java.io.* ; D、import java.awt.event.* ;三程序阅读题1阅读以下程序:class A public static void main(String args) String s,s1=""char c;s=args0;for (int i=0;i<s.length();

24、i+)c=s.charAt(i);if(c>='a' && c<='z')s1=s1+Character.toUpperCase(c);else s1=s1+Character.toLowerCase(c);System.out.println(s1); 若在dos命令行输入:java A hELLO,则输出为 Hello 。2写出以下程序的运行结果。 public class EqualOrNot public static void main(String args) falseB b1=new B(5); falseB b2=n

25、ew B(5); System.out.println(b1=b2);System.out.println(b1.equals(b2);class B int x;B( int y) x=y; 3阅读以下程序:import java.io.*;public class ReadLineTestpublic static void main(String args)BufferedReader b=new BufferedReader (new InputStreamReader(System.in);String s;System.out.flush();s=b.readLine();Syst

26、em.out.println(s);运行以上程序,若从键盘输入: Hello<回车>则输出结果为 Hello 。4写出以下程序的功能。复制文件a.txt到文件b.txtimport java.io.*;public class C public static void main(String args) throws IOException File inputFile = new File(“a.txt"); File outputFile = new File(“b.txt"); FileReader in = new FileReader(inputFil

27、e); FileWriter out = new FileWriter(outputFile); int c; while (c = in.read() ) != -1) out.write(c); in.close(); out.close(); 5写出以下程序的功能。计算命令行参数串大小写字母的个数并在屏幕上显示结果class Test public static void main(String args) String s;char c;int upper,lower;upper=lower=0;s=args0;for (int i=0;i<s.length();i+)c=s.c

28、harAt(i);if(c>='a' && c<='z')lower+;if(c>='A' && c<='Z')upper+;System.out.println(upper+”,”+lower);6以下程序段的输出结果为 1 2 3 4 5 8 9 。public class C public static void main(String args ) int i , j ;int a = 2,1,4,8,9,5,3; for ( i = 0 ; i < a.len

29、gth-1; i + ) int k = i; for ( j = i ; j < a.length ; j+ ) if ( aj<ak ) k = j; int temp =ai; ai = ak; ak = temp; for ( i =0 ; i<a.length; i+ ) System.out.print(ai+" "); System.out.println( ); 7写出以下程序的运行结果。 no1 no2 no3 import java.util.*; no1 no3public class Vec public static void m

30、ain(String args) String s; s=new String2; s0=new String("no1"); s1=new String("no2"); Vector v = new Vector(); for(int i = 0; i <2; i+) v.addElement(si); v.insertElementAt(new String("no3"),2); Enumeration e = v.elements(); while(e.hasMoreElements() System.out.print(

31、e.nextElement()+" "); System.out.println(); v.removeElement("no2" ); for(int i = 0; i < v.size() ; i+) System.out.print(v.elementAt(i) +" "); System.out.println(); 8写出以下程序的运行结果。class StaticTest static int x=1;int y;StaticTest()y+; x=2public static void main(String ar

32、gs ) st.y=1 StaticTest st=new StaticTest(); st.y=1 System.out.println("x=" + x); System.out.println("st.y=" + st.y); st=new StaticTest(); System.out.println("st.y=" + st.y); static x+;9写出以下程序的运行结果。 x=0 class StaticStuff x=5 x=2static int x;static System.out.println(&quo

33、t;x=" + x); x+=5; public static void main(String args ) System.out.println("x=" + x);static System.out.println("x=" + x);x%=3; 10以下程序段的输出结果为 int , int 。class Cruncher void crunch( int i ) System.out.print(“int”); void crunch(String s) System.out.print(“String”); public stati

34、c void main(String args )Crunchercrun=new Cruncher ( );char ch=h;int i=12;crun.crunch(ch);System.out.print(“,”);crun.crunch(i); 11阅读以下程序,输出结果为 hellojava 。import java.io.*;public class TestString public static void main(String args ) StringC s = new StringC ("hello","java"); Syste

35、m.out.println(s); class StringC String s1; String s2; StringC( String str1 , String str2 ) s1 = str1; s2 = str2; public String toString( ) return s1+s2;12阅读以下程序,写出输出结果。 in Second class class First in Second classpublic First()aMethod();public void aMethod()System.out.println(“in First class”);public

36、 class Second extends Firstpublic Second()aMethod(); public void aMethod()System.out.println(“in Second class”);public static void main(String args)new Second( );13写出以下程序的运行结果。 26public class Apublic static void main(String args) System.out.println( test(15,26,4) );static int test(int x, int y, int

37、z)return test( x, test(y,z) );static int test(int x,int y)if(x>y) return x;else return y;14写出以下程序的运行结果。 5.0class MyException extends Exception Caught negativepublic String toString( )return "negative" public class ExceptionDemopublic static void mySqrt(int a) throws MyExceptionif( a<

38、0 )throw new MyException();System.out.println(Math.sqrt(a); public static void main( String args )trymySqrt(25 );mySqrt(-5 );catch( MyException e )System.out.println("Caught "+e); 15写出以下程序的运行结果。 s1=s2class StringTest1public static void main(String args) String s1="hello"String s2

39、= "hello"if(s1=s2)System.out.println("s1=s2");elseSystem.out.println("s1!=s2");16写出以下程序的功能。从键盘输入一行字符,显示到屏幕上import java.io.*;public class ReadStringpublic static void main(String args)BufferedReader br=new BufferedReader (new InputStreamReader(System.in); try System.out.

40、println( br.readLine(); catch(IOException e)17写出以下程序的运行结果。2 4 6 8import java.io.*;public class UseLabelpublic static void main(String args)Loop: for(int i=2; i<10; i+) if( i%2!=0)continue Loop; System.out.print(i+" "); 18写出以下程序的运行结果。 in First class First in Second First() ln ("in F

41、irst"); public class Second extends First Second() ln("in Second"); public static void main(String args) Second mine= new Second(); 19写出以下程序的运行结果。 1import java.io.*;public class ATest public static void main(String args) Sub sb = new Sub( ); System.out.println(sb.method1( ); class Super int x=1 , y=2 ; int method1() return x<y?x:y; class Sub extends Super int mothod1( ) retur

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论