Java语言程序设计期末复习综合练习题
一、选择题。
1. 编译Java Applet 源程序文件产生的字节码文件的扩展名为( )。 A、java B、class C、html D、exe 答:B
2. main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( )?
A、public static void main( )
B、public static void main( String args[] ) C、public static int main(String [] arg ) D、public void main(String arg[] ) 答:B
3.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。
A、static void method( ) B、public void method( ) C、final void method( ) D、abstract void method( ) 答:A
4.下列哪个是合法的Java标识符?( )
A、Tree&Glasses B、FirstJavaApplet C、_$theLastOne D、273.5 答:B 、 C
5.Java Application源程序的主类是指包含有( )方法的类。
A、main方法 B、toString方法
C、init方法 D、actionPerfromed方法
答:A
6.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。
A、8 B、16 C、32 D、64 答:B
7.设 a = 8,则表达式 a >>> 2 的值是( )。
A、1 B、2 C、3 D、4 答:B
8.若a的值为3时,下列程序段被执行后,c的值是多少?( ) c = 1;
if ( a>0 ) if ( a>3 ) c = 2; else c = 3; else c = 4; A、1 B、2 C、3 D、4 答:C
9.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( )语句。
A、import java.awt.* ; B、import java.applet.Applet ;
C、import java.io.* ; D、import java.awt.Graphics ; 答:C
10.对于构造函数,下列叙述正确的是( )。
- 1 -
A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 B、构造函数的返回类型只能是void型。
C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。 答:A C D
11.下面的是关于类及其修饰符的一些描述,正确的是:( )。
A、abstract类只能用来派生子类,不能用来创建abstract类的对象。 B、final类不但可以用来派生子类,也可以用来创建final类的对象。 C、abstract不能与final同时修饰一个类。
D、abstract方法必须在abstract类中声明,但abstract类定义中可以没
有abstract方法。
答:A C D
12. 若需要定义一个类域或类方法,应使用哪种修饰符?( )
A、static B、package C、private D、public 答:A
13.若在某一个类定义中定义有如下的方法: abstract void performDial( ); 该方法属于( )。
A、本地方法 B、最终方法 C、解态方法 D、抽象方法 答:D
14. 下列关于静态初始化器的叙述中,哪一个是正确的?( ) A、静态初始化器是在构造函数之前加上static修饰符。 B、静态初始化器是对类自身进行初始化。 C、静态初始化器在同一个类中只能有一个。
D、静态初始化器是在其所属的类加载内存时由系统自动调用执行。 答:B D
15.不使用static修饰符限定的方法称为对象(或实例)方法,下列哪一个说法是正确的?( )
A、实例方法可以直接调用父类的实例方法。 B、实例方法可以直接调用父类的类方法。 C、实例方法可以直接调用其他类的实例方法。 D、实例方法可以直接调用本类的类方法。 答:B D
16.设有下面两个类的定义:
class Person { class Student extends Person { long id; // 身份证号 int score; // 入学总分 String name; // 姓名 int getScore(){ } return score; } } 问:类Person和类Student的关系是( )。
A、包含关系 B、继承关系
C、关联关系 D、无关系,上述类定义有语法错误 答:B、
17. 设有下面的两个类定义:
- 2 -
class AA {
void Show(){ System.out.println(“我喜欢Java!”); }
class BB extends AA {
void Show(){ System.out.println(“我喜欢C++!”); }
则顺序执行如下语句后输出结果为:( ) AA a; BB b;
a.Show(); b.Show();
A、我喜欢Java! B、我喜欢C++! 我喜欢C++! 我喜欢Java! C、我喜欢Java! D、我喜欢C++! 我喜欢Java! 我喜欢C++! 答:A
18. 设有下面的一个类定义: class AA {
static void Show( ){ System.out.println(“我喜欢Java!”); } }
class BB { void Show( ){ System.out.println(“我喜欢C++!”); } }
若已经使用AA类创建对象a和BB类创建对象b,则下面哪一个方法调用是正确的:( )
A、a.Show( ) B、AA.Show( ); b.Show( ) BB.Show( ); C、AA.Show( ); D、a.Show( ); b.Show( ); BB.Show( ); 答:C
19.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( )。 A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 答:C
20. 对于构造函数,下列叙述正确的是( )。 A、构造函数也允许重载。
B、子类无条件地继承父类的无参构造函数。 C、子类不允许调用父类的构造函数。
D、在同一个类中定义的重载构造函数可以相互调用。 答:A B D
21.在使用interface声明一个接口时,只可以使用( )修饰符修饰该接口。 A、private B、protected C、private protected D、public 答:D
22.设有下面两个赋值语句:
a = Integer.parseInt(“1024”);
b = Integer.valueOf(“1024”).intValue(); 下述说法正确的是( )。
A、a是整数类型变量,b是整数类对象。
- 3 -
B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且它们的值相等。 D、a和b都是整数类型变量并且它们的值相等。 答:D
23.在Java Applet程序用户自定义的Applet子类中,常常重载( )方法在Applet的界面中显示文字、图形和其它界面元素。
A、start( ) B、stop( ) C、init( ) D、paint( ) 答:D
24.下面的语句的作用是:( )。
Vector MyVector = new Vector(100,50);
A、创建一个数组类对象MyVector,有100个元素的空间,每个元素的初值为50。 B、创建一个向量类对象MyVector,有100个元素的空间,每个元素的初值为50。 C、创建一个数组类对象MyVector,有100个元素的空间,若空间使用完时,以50
个元素空间单位递增。
D、创建一个向量类对象MyVector,有100个元素的空间,若空间使用完时,以50
个元素空间单位递增。
答:D
25.在Java中,存放字符串常量的对象属于( )类对象。 A、Character B、String C、StringBuffer D、Vector 答:B
26.在Java中,开发图形用户界面的程序需要使用一个系统提供的类库,这个类库就是( )包。
A、java.io B、java.awt
C、java.applet D、java.awt.event 答:D 27.在Java图形用户界面编程中,若显示一些不需要修改的文本信息,一般是使用( )类的对象来实现。
A、Label B、Button C、TextArea D、TextField 答:A
28. 创建一个标识有“关闭”按钮的语句是( )。
A、TextField b = new TextField(“关闭”); B、Label b = new Label(“关闭”);
C、Checkbox b = new Checkbox(“关闭”);
D、Button b = new Button(“关闭”); 答:D
29. 在编写异常处理的Java程序中,每个catch语句块都应该与( )语句块对应,使得用该语句块来启动Java的异常处理机制。
A、if – else B、switch C、try D、throw 答:C
30. 在编写Java Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程
- 4 -
序的开头写上( )语句。
A、import java.awt.* ; B、import java.applet.* ;
C、import java.io.* ; D、import java.awt.event.* ; 答:D
31.对于子类的构造函数说明,下列叙述中不正确的是( )。 A、子类无条件地继承父类的无参构造函数。
B、子类可以在自己的构造函数中使用super关键字来调用父类的含参数构造函
数,但这个调用语句必须是子类构造函数的第一个可执行语句。 C、在创建子类的对象时,将先执行继承自父类的无参构造函数,然后再执行
自己的构造函数。
D、子类不但可以继承父类的无参构造函数,也可以继承父类的有参构造函数。 答:D
二、填空题。
1. 一个复杂的应用系统必然包括有多个对象,这些对象间可能存在的关系有三种,它们是: 、 和 。 答:包含、继承、关联
2. 设x = 2 ,则表达式 ( x + + ) * 3 的值是 。 答:6
3. 若x = 5,y = 10,则x > y和x <= y的逻辑值分别为 和 。 答:false、true
4. 顺序执行以下两个语句的输出结果是: 。 String s = “我喜欢学习Java!”;
System.out.println(s.length( )); 答:10 5. 据程序的构成和运行环境的不同,Java源程序分为两大类: 程序和 程序。
答:Java Application 、 Java Applet ( 或 Application、Applet )
6. 如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac编译该源程序文件将产生 个文件名与类名相同而扩展名为 的字节码文件。 答:4、class
7. 开发与运行Java程序需要经过的三个主要步骤为 、 和 。 答:编辑源程序、编译生成字节码、解释运行字节码
8. 如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 类的子类并且存储该源程序文件的文件名必须为 。 答:Applet、MyApplet.java
9. 一个Java Application源程序文件名为MyJavaApplication.java,如果使用Sun公司的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该顺序执行如下两个命令:
- 5 -