2024年3月28日发(作者:)
2013—2014 学年第 2 学期 Java程序设计课程考试卷(期中考试)
北华航天工业学院2013—2014学年第 2 学期
《
Java程序设计》期中考试卷
考核形式:开卷、闭卷 班级: 姓名: 学号:
题号
得分
一
二
三
四
五
六
七
八
九
十
十一
总分
一、填空(每空1分,共15分)
1.Java源程序的扩展名是 .java ,经过编译后的程序的扩展名是 .class 。
2.Java程序分为两种,分别是 Java Application 和 Java Applet 。
3.类是在一组对象的基础上,通过抽象和概括获得的一个概念,其内部封装了该类对象共有的 方法
和 属性 。
4.Java的编译器是 javac ,解释器是 java 。
5.int x=5,y=3,z=2;boolean f=x++>--y||z-->y;则f的值是 true ,y的值是 2 。
6.顺序执行下面两个语句,输出的结果是: 9 。
String s= “欢迎学习JAVA!”;
n(S.1ength( ));
7.在Java类的内部嵌套定义的类称为 内部类 。
8.面向对象编程的三大特性是 封装性 . 继承性 . 多态性 。
二.单选(每题2分,共30分)
1.Java Application合法的程序入口点是( B )。
A .public static void main(){}
B .public static void main(String [] args) {}
C.public static int main(String [] args) {}
D. public void main(String args[]){}
2.下列标识符中,正确的是( B )。
A.class B.$_Money C.$-money D.2-Foward
3.下列哪个概念是面向对象和面向过程程序设计所共有的( B )。
A.继承 B.流程控制 C.抽象 D.封装
4.关于继承的说法正确的是:( B )
A.子类将继承父类所有的属性和方法。
B.子类将继承父类的非私有属性和方法。
C.子类只继承父类public方法和属性。
D.子类只继承父类的方法,而不继承属性。
共
12
页 第
1
页
2013—2014 学年第 2 学期 Java程序设计课程考试卷(期中考试)
5.以下关于构造函数的描述错误的是( A )。
..
A.构造函数的返回类型只能是void型。
B.构造函数必须与类名相同。
C.构造函数的主要作用是完成对类的对象的初始化工作。
D.一般在创建新对象时,系统会自动调用构造函数。
6.以下说法错误的是( C )。
..
A.super关键字不仅可以调用父类的构造方法,也可以调用父类的其它成员。
B. super()关键字调用父类构造方法时,默认写在子类构造方法的第一行,如果父类定义有参数的构造方
法而没有定义无参数的构造方法,则会报错。
C.super()关键字调用父类构造方法时,默认写在子类构造方法的第一行,如果父类没有定义构造方法,
则会报错。
D.super()关键字调用父类构造方法时,默认写在子类构造方法的第一行,如果父类定义了无参数的构造
方法,则不会报错。
7.函数public void aMethod(){...}的重载函数是( C )。
A.void aMethod( ){...}
B.public int aMethod ( int m){...}
C.public void aMethod ( int n){...}
D.public int aMethod(int a){...}
8.以下关于接口的定义,正确的是( B )。
A.interface B
{ void print() { } ;}
B.abstract interface B
{ void print() ;}
C.interface B
{ void print(){};}
D.abstract interface B extends A1,A2 //A1,A2为已定义的接口
{ abstract void print(){ };}
9.有以下程序片段,下列选项不能放入(1)位置的是( D )。
(1)
public class Interesting{
//do sth
}
A.import .*; B.package mypackage;
C.class OtherClass{ } D.public class MyClass{ }
10.程序代码如下,则(1)处不能使用的语句是( C )。
共
12
页 第
2
页
2013—2014 学年第 2 学期 Java程序设计课程考试卷(期中考试)
public class A {
}
A.n(a.i);B.1(); C.1(); D.2()
11.以下说法错误的是 ( B )。
..
A.JAVA的RuntimeException异常,程序员可以不处理,抛给JVM处理。
B.JAVA的异常是对客观世界存在的问题进行封装,当问题发生生的时候,以对象的形式抛出,程序员必
须对抛出的异常进行处理,否则可能会对系统有较大破坏或有较坏的预期结果。
C.异常处理需要有针对性,不写处理语句,或是只打印简单的异常信息都是不合适的。
D.异常是指运行时发生的意外情况。
12.有如下代码段:
1)
2) { if(unsafe()){//do something…}
3) else if(safe()){//do the other…}
4) }
其中,方法unsafe() 将抛出IOException, 能填入第1行的选项是( C )。
A.public IOException methodName()
C.public void methodName()
C.public void methodName() throws IOException
D.public void methodName() throw IOException
13.关于输入/输出流的说法,错误的是( D )
..
A.InputStream是一个抽象类,是所有输入流的父类,该类定义了自字节输入流的共性操作,它有很多
子类完成字节流的相关输入工作,如FileInputStream和SequenceInputStream类。
B.字节流和字符流都有缓冲流,它们的主要功能是增设缓冲区,提高数据的读写效率。
C.一个对象若想串行化,用于创建对象的类,需要实现Serializable接口。
D.一个实现Serializable接口,则对象中的所有成员在串行化后,必须永久保存下来。
14.下列说法错误的是( A )
..
A.JAVA中所有的类对象都可以实现串行化。
B.DataInputStream可以向其指向的文件中直接写入基本数据类型的数据,如double ,int。
共
12
页 第
3
页
int i;
static String s;
void method1() { }
static void method2() { }
public static void main(String[] args) {
}
A a=new A();
(1)
2013—2014 学年第 2 学期 Java程序设计课程考试卷(期中考试)
C.RandomAccessFile可以实现文件的随机访问。
D.FileWriter类在向文件写入数据后,需要调用flush()或close()方法才能将数据写入到文件中。
15.下列说法错误的( D )
..
A.缓冲流向文件写输入数据时,不建议通过write(“rn”)这种方式来实现换行,因为只Windows平台下
的换行,Linux平台下不支持,这样的结果是程序的可移植性降低。
B.SequenceInputStream可以将多个流合并,如果要将多个文件合并,使用该流会简化问题。
C.InputStreamReader是一个字符流,它可以将字节流转换为字符流,典型的应用如将这个标
准输入转换为字符流。
D.使用各种流不需要进行异常处理。
三.判断题(每题1分,共5分)
1.无论Java源程序包含几个类的定义,若该源程序文件以命名,编译后生成的就只有一个名为A
的字节码文件。 ( × )
2.Java的各种数据类型所占用的内存长度与具体软硬件环境无关。 ( √ )
3.即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体
为空。 ( √ )
4.在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之
后只能对应一个catch语句。 ( × )
( × ) 5.Java中类的层次与包的层次无关。
四.程序阅读题(每题2分,共20分)
1.写出运行结果。
class TwoObjects {
}
答案如下:
true
false
true
2.写出运行结果。
public static void main(String[] args) {
}
String s1="Hello";
String s2="Hello";
n(s1==s2);
s1=new String("Hello");
s2= new String("Hello");
n(s1==s2);
n((s2));
共
12
页 第
4
页
2013—2014 学年第 2 学期 Java程序设计课程考试卷(期中考试)
class First {
First() {
n("in First");
}
First(int i) {
n(i + "in First");
}
}
public class Second extends First {
Second() {
n("in Second");
}
Second(int i) {
n(i +" in Second");
}
public static void main(String[] args) {
Second mine = new Second(5);
}
}
答案如下:
in First
5 in Second
3.写出运行结果。
class F508 {
int fun(int i, int j) {
n(i+j);
return i + j;
}
}
class S508 extends F508 {
int fun(int i, int j){
n(i*j);
return i*j;
}
double fun(double i, int j) {
n(i+j);
return i+j;
}
共
12
页 第
5
页
2013—2014 学年第 2 学期 Java程序设计课程考试卷(期中考试)
}
class A508 {
public static void main(String[] args) {
F508 f = new F508();
(2,5);
S508 s = new S508();
(2,5);
(2.2,5);
f = s;
(2,5);
}
}
答案如下:
7
10
7.2
10
4.写出运行结果。
public class TryCatchFinally {
static void Proc(int sel) {
try {
if (sel == 0) {
n("no Exception ");
return;
} else if (sel == 1) {
int i = 0;
int j = 4 / i;
}
} catch (ArithmeticException e) {
n("Catch");
} catch (Exception e) {
n("Will not be executed");
} finally {
n("finally");
}
}
public static void main(String args[]) {
Proc(0);
Proc(1);
共
12
页 第
6
页
发布评论