《Java语言与面向对象程序设计.doc》由会员分享,可在线阅读,更多相关《Java语言与面向对象程序设计.doc(12页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、“Java语言与面向对象程序设计”期末复习题一判断题1. 由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。 ( )2. 注释的作用是使程序在执行时在屏幕上显示/之后的内容。 ( )3. Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。 ()4. java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。 ()5. Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。( )6. 创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超越这个数值。 ()7. 静态初始
2、化器是在其所属的类加载内存时由系统自动调用执行。 ()8. Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。( )9. 设String对象s=”H”,运行语句System.out.println(s.concat(“ello!”);后String对象s的内容为”Hello!”,所以语句输出为”Hello!”。( )10. 在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。 ()11. 无论Java源程序包含几个类的定义,若该源程序文件以B.java命名,编译后生成的都只有一个名为B的字节码文件。 ()12. 即使
3、一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体为空。 ()13. Java的各种数据类型所占用的内存长度与具体软硬件环境有关。 ()14. 在Java的方法中定义一个常量要用const关键字。 ()15. Java的类不允许多重继承,但接口支持多重继承。 ()16. 所谓抽象类就是包含有抽象方法的类。 ()17. 在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。 ()18. 程序员可以不必释放已创建的对象,因为Java有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。 (
4、)19. Java语言中的数组元素只能是基本数据类型而不能为对象类型。 ()20. 构造函数用于创建类的实例对象,构造函数名应与类名相同,在类中必须定义构造函数,且只能定义一个构造函数。()21. 在Java中%是取余运算符,要求两端操作数为整型。 ( )22. Java有两类程序:Java Application和Java Applet,其中Java Applet程序只能在图形界面中工作,而Java Application程序只能在字符界面中工作 。 ( )23. Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出System.out和标准错误输出System
5、.err。 ()24. 一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。 ()二单项选择题1在浏览器中执行applet 程序,以下选项中的哪个方法将被最后执行( C )。A、init()B、start() C、destroy() D、stop()2 Java application中的主类需包含main方法,main方法的返回类型是什么?( D )A、intB、floatC、doubleD
6、、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; / 姓名 int getScore() return score; 则类Person和类Student的关系是( B )。A、包含关系B、继承关系C、关联关系D、上述类定义有
7、语法错误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和Applet缺省使用的布局编辑策略是( A )A、FlowLayoutB、BorderLayoutC、GridLayoutD、CardLayout8以下声明合法的是( B
8、 )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”);DataOutputStream dos=new DataOutputStream(fos);dos.writeInt(3);dos.writeDouble(0.01);dos.cl
9、ose();fos.close( );catch(IOException e) A、2B、8C、12D、1610编译并运行以下程序,以下描述哪个选项是正确的( C )。1. class ATestOftoString2.protected String toString()3.return super.toString();4.A、编译通过运行无异常B、编译通过但运行时出错C、行2出错,不能成功编译D、不能成功编译,行3出错11有以下程序片段,下列哪个选项不能插入到行1。( A )1.2.public class A3./do sth 4. A、public class MainClass B
10、、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 )。1class StaticStuff2 3static int x;4static x+=5;5public static void main(Strin
11、g 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 int5;public static void main(String a) System.out.println(arr0); A、编译将产生错误B、编译时
12、正确,但运行时将产生错误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(float a, float b) D、private int max(int a, int b, int c) 17以下关于构造函数的描述错误的是( A )。A、构造函数的返回
13、类型只能是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在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行( A )。A、init()B、start() C、destroy() D、stop()20有程序片段如下,以下哪个表示式的结果为
14、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以下哪项可能包含菜单条(B)。A、PanelB、FrameC、AppletD、Dialog23paint()方法使用哪种类型的参数? ( A ) A、Graphics B、Graphics2D C、Strin
15、g 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、CanvasB、ScrollPaneC、AppletD、Dialog27在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( C )。A、隐藏 B、覆
16、盖 C、重载 D、Java不支持此特性28编译Java Applet 源程序文件产生的字节码文件的扩展名为( B )。A、javaB、classC、html D、exe29下面哪个方法与applet的显示无关?( A )A、draw()B、update()C、repaint()D、paint()30编译并运行以下程序,以下描述哪个选项是正确的( C )1. class A2.protected boolean equals()3.return super.equals();4.A、编译通过运行无异常B、编译通过但运行时出错C、行2出错,不能成功编译D、不能成功编译,行3出错31以下自定义标识符
17、中哪项是不合法的( A )A、constB、$doubleC、helloD、BigMeaninglessName32有如下代码段: 1) 2) if(unsafe()/do something 3) else if(safe()/do the other 4) 其中,方法unsafe() 将抛出IOException, 请问可将以下哪项填入第1行?( D ) A、public IOException methodName() B、public void methodName() C、public void methodName() throw IOException D、public void
18、 methodName() throws IOException33类Test1、Test2定义如下:1public class Test12 public float aMethod(float a,float b) throws3 IOException 4 5 public class 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(f
19、loat p,float q) D、 public int aMethod(int a,int b)throws IOException 34以下哪个接口的定义是正确的?( D )A、 interface B void print() ;B、 abstract interface B void print() ;C、 abstract interface B extends A1,A2 /A1、A2为已定义的接口 abstract void print() ;D、 interface B void print();35下面哪个函数是publicvoid aMethod().的重载函数?( D
20、)A、void aMethod().B、publicint aMethod().C、publicvoid aMethod ( ).D、publicint aMethod(intm).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类的一个实例,下列语句
21、调用哪个是错误的?( C )class Aint i;static 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
22、中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实现一个接口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 (i
23、nt i=0;i=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=new B(5); System.out.println(b1=b2);System.out.prin
24、tln(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();System.out.println(s);运行以上程序,若从键盘输入: Hello则输出结果为 Hello
25、 。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(inputFile); FileWriter out = new FileWriter(outputFile); int c; while (c = in.re
26、ad() ) != -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=a & c=A & c=Z)upper+;System.out.println(upper+”,”+lower);6以下程序段的输出结果为 1 2 3 4 5 8 9 。public cl
27、ass C public static void main(String args ) int i , j ;int a = 2,1,4,8,9,5,3; for ( i = 0 ; i a.length-1; i + ) int k = i; for ( j = i ; j a.length ; j+ ) if ( ajak ) k = j; int temp =ai; ai = ak; ak = temp; for ( i =0 ; ia.length; i+ ) System.out.print(ai+ ); System.out.println( ); 7写出以下程序的运行结果。 no
28、1 no2 no3 import java.util.*; no1 no3public class Vec public static void main(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.h
29、asMoreElements() System.out.print(e.nextElement()+ ); System.out.println(); v.removeElement(no2 ); for(int i = 0; i y) return x;else return y;14写出以下程序的运行结果。 5.0class MyException extends Exception Caught negativepublic String toString( )return negative; public class ExceptionDemopublic static void my
30、Sqrt(int a) throws MyExceptionif( a0 )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=hel
31、lo;String s2= 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.println( br.readLine(); catch(IOException e)17写出以下程序的运行结果。2 4 6 8import j