|
第 1 页 (共 4 页)
学习中心/函授站_
姓 名 学 号
西安电子科技大学网络与继续教育学院
2019 学年下学期
《JAVA 程序设计》期末考试试题
(综合大作业)
题号 一 二 三 四 总分
题分 40 24 20 16
得分
考试说明:
1、大作业试题于2019 年10 月17 日公布,2019 年10 月18 日至2019 年11 月3 日
在线上传大作业答卷(最多上传10 张图片,一张图片对应一张A4 纸答题纸),要求拍照清晰、
上传完整;
2、考试必须独立完成,如发现抄袭、雷同均按零分计;
3、资料须用《西安电子科技大学网络与继续教育学院标准答题纸》手写完成,要
求字迹工整、卷面干净。
一、选择题(4 分/题,共 10 个,共 40 分)
1. 下列运算结果为 1 的是( )
(A) 8>>1
(B) 4>>>2
(C) 8<<1
(D) 4<<<2
2. 以下对封装的描述正确的是( )
(A) 只能对一个类中的方法进行封装,不能对属性性进行封装
(B) 如果子类继承了父类,对于父类中进行封装的方法,子类仍然可以直接调用
(C) 封装的意义不大,因此在编码时尽量不要使用
(D) 封装的主要作用在于对外隐藏内部实现细节,增强程序的安全性
3. 在 Java 语言中,下列哪个变量名是不正确的( )
(A) large (B) 2much
(C) $money (D) _postCode
4. 下列哪个说法是错误的( )
(A) 程序员可以定义新的异常类
第 2 页 (共 4 页)
(B) Exception 可以用 try/catch 进行捕获处理
(C) Exception 可以递交给上一级调用方处理
(D) 类似像 IOException 等异常, 程序可以忽略不进行捕获和处理
5. 接口和抽象类描述错误的有( )。
(A) 抽象类没有构造函数
(B) 接口没有构造函数
(C) 抽象类不允许多继承
(D) 接口可以继承多个接口
6. 哪个关键字可以对对象加互斥锁( )
(A) transient
(B) synchronized
(C) serialize
(D) static
7. 下列程序片断用的是什么机制( )
class Cat{
String name;
int age;
Cat (){}
Cat (String n, int a){name=new String(n); age=a;}
Cat (String n){ name=new String(n);}
}
(A)方法的覆盖 (B)构造函数重载
(C)多态 (D)这是错误的代码
8. 在使用 super 和 this 关键字时,以下描述正确的是( )
(A) 在子类构造方法中使用 super()显示调用父类的构造方法,super()必须写在子类构造方
法的第一行,否则编译不通过
(B) super()和 this()不一定要放在构造方法内第一行
(C) this()和 super()可以同时出现在一个构造函数中
(D) this()和 super()可以在 static 环境中使用,包括 static 方法和 static 语句块
9. 下列情况中,不会使线程返回所持有的对象锁的是( )
(A) 当 synchronized()语句块执行完毕
(B) 当调用了线程的 suspend()方法
(C) 当在 synchronized()语句块中出现异常(exception)
(D) 当持有锁的线程调用该对象的 wait()方法
10. 下列代码执行结果是什么( )
String s1 = "ccc";
s1.concat("fff");
System.out.println(s1);
(A) The string "ccc".
(B) The string "cccfff".
(C) The string "fff".
(D) The string "fffccc"
二、简答题(8 分/题,共 3 个,共 24 分)
1. 请你列举 Java 语言的特点。(8 分)
第 3 页 (共 4 页)
2. 请简述 String 和 StringBuffer 的联系和区别。(8 分)
3. 请尽可能多地写出你所知道的 Object 类的方法。(8 分)
三、读程题 ( 5 分/题,共 4 个,共 20 分)
1. 请写出以下程序的输出结果。
public class Demo{
public static void main(String[] args) {
Integer a = new Integer(1);
Integer b = new Integer(2);
if(a==b)
System.out.println(“true”);
else
System.out.println(“false”);
}
}
2. 下列程序编译运行后输出什么?
class Book {
private int getPrice() {
return 30;
}
}
class Demo extends Book {
public int getPrice() {
return 11;
}
public static void main(String[] args) {
int a = new Demo().getPrice();
System.out.println(a);
}
}
3. 下列程序输出什么?
class J {
static void swap(String s0, String s1) {
String s = s0;
s0 = s1;
s1 = s;
}
public static void main(String args[]) {
String[] s = { "1", "2" };
swap(s[0], s[1]);
System.out.println(s[0] + s[1]);
}
}
4. 读程序,写出正确的运行结果。
第 4 页 (共 4 页)
public class Test {
public static void main(String[] args) {
int x=1;
switch(x){
case 0: System.out.print("1");
case 1: System.out.print("2");
case 2: System.out.print("3");
default:System.out.print("4");
}
}
四. 阅读程序,回答问题。(16 分)
import java.io.*;
public class FileIO {
public static void main(String[] argvs) {
try{
BufferedReader in = new BufferedReader(new FileReader("in.txt"));
PrintWriter out =
new PrintWriter(new BufferedWriter(new FileWriter("outp.txt")));
String s;
int i=1;
while((s=in.readLine())!=null) {
out.println("line "+ i +"="+s);
i++;
}
in.close();
out.close();
}catch(FileNotFoundException e) {
System.err.println("cannot open in.txt");
}catch(IOException e) {
System.err.println("IO exception");
}
}}
(1)说出这段程序的功能?(4 分)
(2)如果在当前运行目录下存在一个文件 in.txt,则这个程序输出什么?(4 分)
In.txt 文件 的内容如右图 :
(3)如果在当前运行目录下没有文件 in.txt,则这个程序输出什么? (4 分)
(4)怎样编译程序?怎样运行程序?(4 分)
first
second
third |
|