“Java语言程序设计”期末复习题
一.判断题
由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。 ( × ) 注释的作用是使程序在执行时在屏幕上显示//之后的内容。 ( ×) Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。 (√) java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。 (×)
5. Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。(× ) 6. 创建Vector对象时构造函数给定的是其中可以包容的元素个数,使用中应注意不能超
越这个数值。 (×) 7. 静态初始化器是在其所属的类加载内存时由系统自动调用执行。 (√) 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. 即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无
参的,函数体为空。 (√) 13. Java的各种数据类型所占用的内存长度与具体软硬件环境有关。
(×)
14. 在Java的方法中定义一个常量要用const关键字。 (×) 15. Java的类不允许多重继承,但接口支持多重继承。 (√) 16. 所谓抽象类就是包含有抽象方法的类。 (×) 17. 在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而
且一个try块之后只能对应一个catch语句。 (×) 18. 程序员可以不必释放已创建的对象,因为Java有垃圾回收机制,内存回收程序可在指
定的时间释放内存对象。 (×) 19. Java语言中的数组元素只能是基本数据类型而不能为对象类型。
(×)
20. 构造函数用于创建类的实例对象,构造函数名应与类名相同,在类中必须定义构造函数,
且只能定义一个构造函数。 (×)
21. 在Java中%是取余运算符,要求两端操作数为整型。 (× ) 22. Java有两类程序:Java Application和Java Applet,其中Java Applet程序只能在图形界
面中工作,而Java Application程序只能在字符界面中工作 。 ( ×) 1. 2. 3. 4.
共12页,第 1 页
23. Java系统的标准输入对象是System.in,标准输出对象有两个,分别是标准输出
System.out和标准错误输出System.err。 (√) 24. 一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法
是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义
run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。 (√)
二.单项选择题
1.在浏览器中执行applet 程序,以下选项中的哪个方法将被最后执行( C )。
A、init() A、int
B、start() B、float
C、destroy() D、stop() C、double
D、void
2. Java application中的主类需包含main方法,main方法的返回类型是什么?( D ) 3.有以下方法的定义,请选择该方法的返回类型( D )。
ReturnType method(byte x, float y)
{ return (short)x/y*2; }
A、byte B、short C、int D、float
4.设有下面两个类的定义:
class Person { class Student extends Person { long id; // 身份证号 int score; // 入学总分 String name; // 姓名 int getScore(){
} return score; } }
则类Person和类Student的关系是( B )。 A、包含关系 错误
A、transient
B、继承关系
C、关联关系
D、上述类定义有语法
5.以下哪个关键字可以用来对对象加互斥锁?( C )
B、serialize
C、synchronized D、static
6.在编写Java Applet程序时,需要在程序的开头写上( B )语句。
A、import java.awt.* ; C、import java.io.* ; A、FlowLayout
B、import java.applet.* ; D、import java.awt.event.* ;
D、CardLayout
7.容器Panel和Applet缺省使用的布局编辑策略是( A )
B、BorderLayout C、GridLayout
8.以下声明合法的是( B )
A、default String s; C、abstract double d;
B、public final static native int w( ) D、abstract final int hyperbolicCosine( )
9.以下程序段执行后将有( C )个字节被写入到文件afile中。
try{ FileOutputStream fos=new FileOutputStream(“afile.txt”); DataOutputStream dos=new DataOutputStream(fos); dos.writeInt(3);
共12页,第 2 页
dos.writeDouble(0.01); dos.close(); fos.close( ); }
catch(IOException e) { }
A、2 B、8 C、12 D、16
10.编译并运行以下程序,以下描述哪个选项是正确的( C )。
1. class ATestOftoString{
2. protected String toString(){ 3. return super.toString();} 4. }
A、编译通过运行无异常 C、行2出错,不能成功编译
1.
2.public class A{ 3.//do sth 4. }
B、编译通过但运行时出错 D、不能成功编译,行3出错
11.有以下程序片段,下列哪个选项不能插入到行1。( A )
A、public class MainClass{ } C、class ANotherClass{ } A、private A、FALSE
B、protected B、const
B、package mine; D、import java.util.*;
12.在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口。
C、private protected D、public C、this
D、void
13.以下哪个不是Java的关键字?( A )
14.关于以下application的说明,正确的是( C )。
1. class StaticStuff
2. { 3. static int x; 4. static { x+=5;} 5. public static void main(String args[ ]) 6. { 7. System.out.println(“x=” + x); 8. } 9. static { x/=5;} 10.}
A、4行与9行不能通过编译,因为缺少方法名和返回类型 B、9行不能通过编译,因为只能有一个静态初始化器 C、编译通过,执行结果为:x=1
D、能通过编译,但程序运行结果不可预知,因为变量x没有初始化 15.有程序如下,关于程序的描述哪个是正确的?( C )
public class Person{
static int arr[] = new int[5];
public static void main(String a[])
{ System.out.println(arr[0]); } }
A、编译将产生错误 C、正确,输出0
B、编译时正确,但运行时将产生错误 D、正确,输出 null
共12页,第 3 页
16.类ABC定义如下:
1.public class ABC{ 2. public int max( int a, int b) { } 3. 4.}
将以下哪个方法插入行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、构造函数的返回类型只能是void型。
B、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。
18.有语句String s=”hello world”; ,以下操作哪个是不合法的?( A )
A、s>>>=1; A、init()
B、int i=s.length(); C、String ts=s.trim(); D、String t=s+”!”; B、start()
C、destroy() D、stop()
19.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行( A )。 20.有程序片段如下,以下哪个表示式的结果为true?( B )
Float s=new Float(0.1f);
Float t=new Float(0.1f); Double u=new Double(0.1);
A、s==t A、8 A、Panel A、Graphics A、 start() A、init() A、Canvas
B、s.equals(t) B、16
B
B、Frame
C、u.equals(s) D、t.equals(u)
21.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( B )个比特位。
C、32 D、64 )。 C、Applet
D、Dialog D、Color D、synchronized()
22.以下哪项可能包含菜单条(
23.paint()方法使用哪种类型的参数? ( A )
B、Graphics2D C、String B、init() B、start() B、ScrollPane
C、run()
24.以下哪个方法用于定义线程的执行体? ( C )
25.当浏览器暂时离开含applet 程序的页面时,以下选项中的哪个方法将被执行?( D )
C、destroy() D、stop() C、Applet
D、Dialog
26.下面哪个不是Java中的容器? ( A )
27.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( C )。
A、隐藏 A、java
B、覆盖 C、重载 D、Java不支持此特性 B、class
C、html
D、exe
28.编译Java Applet 源程序文件产生的字节码文件的扩展名为( B )。 29.下面哪个方法与applet的显示无关?( A )
共12页,第 4 页

