java章节习题及期末考试题答案 下载本文

private String name;

Demo(String name){this.name = name;} private static void show(){ System.out.println(name) }

public static void main(String[] args){ Demo d = new Demo(“lisa”); d.show(); } }

A: 输出lisa B: 输出null C: 输出name

D: 编译失败,无法从静态上下文中引用非静态变量name 3. 下面关于构造方法的调用,正确的是( )

A: 构造方法在类定义的时候被调用 B: 构造方法在创建对象的时候被调用 C: 构造方法在调用对象方法时被调用 D: 构造方法在使用对象的变量时被调用

4. 下列关于成员变量默认值的描述中,错误的是( )

A: byte类型的数据默认值是0 B: int类型的数据默认值是0 C: long类型的数据默认值是0 D: float类型的数据默认值是0.0f

5. “隐藏对象的属性和实现细节,仅对外提供公有的方法”描述的是面向对象的哪个

特征( ) A: 封装 B: 继承 C: 多态

D: 以上都不是

答案

一、

1. 2. 3. 4. 5. 二、

1. 2. 3. 4.

填空题 String this private static

System.gc() 判断题 对 错 错 错

5. 三、

1. 2. 3. 4. 5. 对

选择题 A D B C A

第4章 面向对象(下)

习题

一、

1. 2. 3. 4. 5. 二、

1. 2. 3. 4. 5. 三、

1.

填空题

RuntimeException类及其子类都是【 】异常。 throw关键字用于在方法中声明抛出异常的【 】。 自定义异常需要继承【 】类。 定义一个抽象类的关键字是【 】。 final修饰的方法,不能被子类【 】。 判断题

RuntimeException类及其子类用于表示运行时异常。( ) Java中的异常类都继承自java.lang.Throwable类。( )

throws关键字用于对外声明方法可能发生的异常,这样调用者在调用方法时,可以明确知道该方法有异常,并进行相关处理。( ) protected修饰的类,类中的所有方法只能给子类使用。( ) Object是所有类的父类。( ) 选择题

下列符号中,哪个用于分隔throws关键字抛出的多个异常( ) A: ; B: , C: & D: |

下面程序运行的结果是( )

class Demo{

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

int x = div(1,2);

}catch(Exception e){

System.out.println(e);

}

System.out.println(x)

}

public static int div(int a,int b){

2.

return a / b ;

} }

A: 输出1 B: 输出0 C: 输出0.5 D: 编译失败

3. 以下关于编译异常说法正确的是( )

A: 编译异常就是指Exception以及其子类 B: 编译异常如果产生,可以不用处理

C: 编译异常如果产生,必须处理,要么捕获,要么抛出 D: 编译异常指的就是Error

4. 下列关于protected的说法中,正确的是( )

A: protected修饰的方法,只能给子类使用

B: protected修饰的类,类中的所有方法只能给子类使用

C: 如果一个类的成员被protected修饰,那么这个成员既能被同一包下的其它类访问,也能被不同包下该类的子类访问。 D: 以上都不对

5. 下列关于对象的类型转换的描述,说法错误的是( )

A: 对象的类型转换可通过自动转换或强制转换进行

B: 无继承关系的两个类的对象之间试图转换会出现编译错误 C: 由new语句创建的父类对象可以强制转换为子类的对象

D: 子类的对象转换为父类类型后,父类对象不能调用子类的特有方法

答案

一、

1. 2. 3. 4. 5. 二、

1. 2. 3. 4. 5. 三、

1. 2. 3. 4. 5.

填空题 运行时 实例对象 Exception abstract 重写 判断题 对 对 对 错 对

选择题 B C C C C

第5章 Java API

习题

一、

1. 2. 3. 4. 5. 二、

1. 2. 3. 4. 5. 三、

1.

填空题

在程序,获取字符串长度的方法是【 】。 StringBuffer类的默认容量是【 】个字符。

Math类中,用于获取一个数的绝对值的方法是【 】。 String类中,将字符串转换为字符数组的方法是【 】。 Random类的【 】方法可以随机生成Int类型的随机数。 判断题

switch语句不支持字符串类型。( )

String类的append()方法可以将数组元素和空格连接成字符串。( ) ceil()和floor()方法返回的都是double类型的数。( ) Random类的nextInt( )方法会生成一个int类型的随机数。( ) JAVA中拆箱是指将基本数据类型的对象转为引用数据类型。( ) 选择题

阅读下面的代码,输出结果是( )

public static void main(String[] args) { Random random1 = new Random(10); Random random2 = new Random(10); for(int i=0;i<5;i++){

System.out.print(random1.nextInt(5)); }

System.out.println(); for(int i=0;i<5;i++){

System.out.print(random2.nextInt(5)); } }

A: 3030130301 B: 5048132680 C: 3268023579 D: 1111111111

2. 下面哪个方法可以实现获取字符在某个字符串中第一次出现的索引( )

A: charcharAt(intindex) B: intindexOf(intch) C: intlastIndexOf(intch)

D: booleanendsWith(Stringsuffix)

3. 假如indexOf()方法未能找到所指定的子字符串,那么其返回值为( )

A: false B: 0 C: -1