《java程序设计》期末复习题 联系客服

发布时间 : 星期六 文章《java程序设计》期末复习题更新完毕开始阅读629528c58bd63186bcebbc55

21.下面是定义一个接口A的程序,完成程序填空.(final \public interface A {

public static _______ double PI=3.14159;

public abstract double area(double a, double b)_____ }

22.在使用interface声明一个接口时,只可以使用( d )修饰符修饰该接口。 A、private B、protected C、private protected D、public 23.关于接口的定义和实现,以下描述正确的是: (A) A. 接口定义中的方法都只有定义没有实现

B. 接口定义中的变量都必须写明final和static

C. 如果一个接口由多个类来实现,则这些类在实现该接口中的方法时应采用统一的代码

D. 如果一个类实现一个接口,则必须实现该接口中的所有方法,但方法未必声明为public.

24. 下列关于抽象类的说法四个是正确的?C

A.某个抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法; B.接口和抽象类是同一回事; C.绝对不能用抽象类去创建对象; D.抽象类中不可以有非抽象方法。

练习十二(异常处理)

1、异常是一种运行时错误,在java中,异常是以对象的方法表示的,任何异常对象都是__________类或其子类的对象。(Throwable)

2、java把它能够识别的异常分为两大类:检查的和非检查的异常。非检查的异常是Error类和______________类的实例,它代表程序不必处理严重系统错误;检查异常是

____________类的子类,它代表程序应该而且能够处理的错误。(RuntimeException、 Exception)

3、Java的异常处理模型以3种操作为基础:声明异常、抛出异常和捕捉异常。当程序语句导致错误时,包含语句的方法将创建异常对象并把它传递到系统,这个过程称为_______________,查找异常处理程序的过程称为捕捉异常。(抛出异常) 4、java中的异常处理通过5个关键字来实现:它们是try、catch、throw、throws和finally。进行异常监测的代码要放在try子句内:捕获异常需要使用______________子句;在方法中宣布可能产生的异常应使用________________关键字。(catch、throws) 5、下列说法正确的是(D )

A. try-catch-finally代码块中的finally子句只有在try子句和catch子句都执行执行之后才执行

B. 如果try代码块中出现了异常并被catch子句捕捉到,那么finally子句就不再执行了 C. 只有try代码块中没有出现异常时,finally子句才会执行

D. 不管try代码块中是否出现异常,或者catch子句是否捕捉到异常,finally子句都将被执行

6、关于异常的应用,下列说法恰当的是( B )

17

A. 在java中,使用异常很方便、很有效,因而,只要能使用异常的地方应尽量使用异常 B. 在程序中过多的使用异常,会使程序的执行效率降低

C. 异常产生后,我们只需捕获它,至于是否对异常给与处理,无所谓 D. Java中的异常全部都被预先定义好了,程序员无需自行定义异常类 7、关于异常的捕获和处理,下列说法不正确的是( D )

A. 与一个try相关的catch语句可以有多个,但一个catch子句只能捕获一种类型的异常 B. 由内部try代码块产生的异常如果没有被与该try代码块相关的catch捕获,或者被JVM捕获和处理

C. 捕获资料异常的catch子句必须出现在捕获超类异常的catch子句的前面 D. 在一个try子句中产生的异常,必须由该try子句相关的catch子句捕获和处理,否则,就会造成程序非正常终止。

8、 当方法遇到异常又不知如何处理时,下列 C 做法是正确的。

A、捕获异常 B、抛出异常 C、声明异常 D、嵌套异常 9、下列常见的系统定义的异常中,哪个是数组越界异常?a A)ArrayIndexOutOfBoundsException B)IOException

C)NullPointerException D)ArithmeticException 10.public class ThrowsDemo { static void throwMethod() {

System.out.println(\ throw new IllegalAccessException(\ }

public static void main(String args[]) { try {

throwMethod();

} catch (IllegalAccessException e) { System.out.println(\ } } }

A.编译错 B.运行错 C.编译成功,但是没有输出结果 D.以上都不是 答案:A

11. 如果一个程序段中有多个catch,则程序会按如下哪种情况执行?C A找到适合的例外类型后继续执行后面的catch. B找到每个符合条件的catch都执行一次。

C找到适合的例外类型后就不再执行后面的catch。 D对每个catch都执行一次。

12. 下列代码行在执行时会出现一个运行时错误ArrayOutOfBoundsException,同时程序的执行终止。

cstObjects[ctr].displayDetails();

要避免上面提到的运行时错误你应该采取下列哪一个行动? d a. 在finally块中写入代码。

b. 使用throw 声明来发出异常警报ArrayOutOfBoundsException并且在catch块中捕获

18

一个异常。

c. 在try 块中写入代码并且在finally块中捕获异常ArrayOutofBoundsException。 d. 在try 块中写入代码并且在catch块中捕获异常ArrayOutofBoundsException。

练习十三(杂)

一、选择题。

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 Application源程序的主类是指包含有( )方法的类。 A、main方法 B、toString方法

C、init方法 D、actionPerfromed方法 答:A

5.Java的字符类型采用的是Unicode编码方案,每个Unicode码占用( )个比特位。

A、8 B、16 C、32 D、64 答:B

6.若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

7.在编写Java Application程序时,若需要使用到标准输入输出语句,必须在程序的开头写上( )语句。

A、import java.awt.* ; B、import java.applet.Applet ; C、import java.io.* ; D、import java.awt.Graphics ; 答:C

8.对于构造函数,下列叙述不正确的是( )。

A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。 B、构造函数的返回类型只能是void型。

C、构造函数的主要作用是完成对类的对象的初始化工作。 D、一般在创建新对象时,系统会自动调用构造函数。 答:B

9.设有下面两个类的定义:

class Person { class Student extends Person

19

{

long id; // 身份证号 int score; // 入学总分 String name; // 姓名 int getScore(){ } return score; } } 问:类Person和类Student的关系是( )。

A、包含关系 B、继承关系

C、关联关系 D、无关系,上述类定义有语法错误 答:B、

10. 设有下面的两个类定义: 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

11. 设有下面的一个类定义: 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

12.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( )。

A、隐藏 B、覆盖 C、重载 D、Java不支持此特性 答:C

13.在Java中,存放字符串常量的对象属于( )类对象。 A、Character B、String C、StringBuffer D、Vector

20