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. String 2. this 3. private 4. static

5. System.gc() 二、判断题

1. 对 2. 错 3. 错 4. 错

5. 对 三、选择题

1. A 2. D 3. B 4. C 5. A

第4章 面向对象(下)

习题

一、填空题

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

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

3. throws关键字用于对外声明方法可能发生的异常,这样调用者在调用方法时,可以

明确知道该方法有异常,并进行相关处理。( ) 4. protected修饰的类,类中的所有方法只能给子类使用。( ) 5. Object是所有类的父类。( ) 三、选择题

1. 下列符号中,哪个用于分隔throws关键字抛出的多个异常( )

A: ; B: , C: & D: |

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

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){

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. Exception 4. abstract 5. 重写 二、判断题

1. 对 2. 对 3. 对 4. 错 5. 对 三、选择题

1. B 2. C 3. C 4. C 5. C

第5章 Java API

习题

一、填空题

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

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

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

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

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

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