21年12月西南大学课程考试 (0837)《面向对象程序设计》机考(资料)


西南大学培训与继续教育学院课程考试试题卷
课程名称【编号】:(0837)《面向对象程序设计》
       
考试时间:150分钟
       
:100分 一、
(本大题共14小题,每道题5.0分,共70.0分)
1.
欲构造ArrayList类的一个实例,此类继承了List接口,下列正确的代码是(      )
A.ArrayList myList = new Object( );
B.List myList = new ArrayList( );
C.ArraylList myList = new List( );
D.List myList = new List( );
2.
Test.java的源程序如下。在命令行键入:java Test  aaa  bb  c,回车后的输出结果是(      )。
public class Test {
    public static void main(String args[]) {
        int  k1=args.length;
        int  k2=args[1].length();         
        System.out.print(k1+"    "+k2);
    }  
}
A.1 2
B.1 3
C.3 2
D.3 3
3.
以下程序编译运行的结果是(      )。
public class Test {
    public static void main(String[] args) {
        float f1[], f2[];
        f1 = new float[10];
        f2 = f1;         //第5行
        System.out.println("f2[0] = " + f2[0]);  //第6行
    }
}
A.f2[0] = 0.0
B.f2[0] = NaN
C.第5行有错误导致编译失败
D.第6行有错误导致编译失败
4.
定义变量boolean b = true;,则String.valueOf(b)的返回值类型是(      )。
A.Boolean
B.String
C.false
D.int
5.
while循环和do...while循环的区别是(      )。
A.没有区别,这两个结构任何情况下效果一样
B.while循环比do...while循环执行效率高
C.while循环是先循环后判断,所以循环体至少被执行一次
D.do...while循环是先循环后判断,所以循环体至少被执行一次
6.
下列字符序列中可以作为Java语言标识符的是(      )
A.true
B.123_xyz
C.x.y
D._x123
7.
下列程序段执行后,变量i和j的值分别为(      )。
int i = 1, j = 10;
do {
    if (i > j) continue;
    j--;
} while(++i < 6);
A.i=6,j=5
B.i=5,j=5
C.i=6,j=4
D.i=5,j=6
8.
若需要定义一个类属性或类方法,应使用哪种修饰符?(      )
A.static
B.package
C.private
D.public
9.
定义一个接口,必须使用的关键字是(      )。
A.public
B.class
C.interface
D.static
10.
设已声明了一个类A的两个对象a1,a2。为了初始化a1和a2,下列语句正确的是(      )。
A.a1,a2 = new A();
B.a1 = A.new(); a2 = A.new();
C.a1 = new(); a2 = new();
D.a1 = new A(); a2 = new A();
11.
下列语句序列给出了k,myArr和myMethod(  )的声明。当调用方法myMethod(myArr, k)之后,存储在myArr和k里的值分别是(      ) int k = 7;
String myArr[] = {"love", "peace", "and"}; void myMethod(String a[], int m) {
     String temp = a[1];
     a[1] = a[2];
     a[2] = temp;
     m = a[2].length();
}
A.{"peace", "love", "and"},4
B.{"peace", "love", "and"},7
C.{"love", "and", "peace"},5
D.{"love", "and", "peace"},7
12.
以下程序编译运行的结果是(      )。
abstract class Shape {
    abstract void display();
}
class Circle extends Shape {
    void display() {
        System.out.println("Circle");
    }
}
class Rectangle extends Shape {
    void display() {
        System.out.println("Rectangle");
    }
}
class Triangle extends Shape {
    void display() {
        System.out.println("Triangle");
    }
}
public class AbstractClassDemo {
    public static void main(String args[]) {
        (new Circle()).display();
        (new Rectangle()).display();
        (new Triangle()).display();
    }
}
A.Circle Cirle Cirle
B.Circle Retangle Triangle
C.Retangle Cirle Triangle
D.Triangle Retangle Circle
13.
以下程序编译运行的结果是(      )。
public class Test {
    public int aMethod() {
        static int i = 0;
        i++;
        return i;
    }
    public static void main(String args[]) {
        Test test = new Test();
        test.aMethod();
        int j = test.aMethod();
        System.out.println(j);
    }
}
A.编译将失败
B.编译成功,执行后输出"0"
C.编译成功,执行后输出"1"
D.编译成功,执行后输出"2"
14.
以下程序编译运行的结果是(      )。
public class Test {
    public static void main(String args[]) {
        class Foo {
            public int i = 3;
        }
        Object o = (Object) new Foo(); //第6行
        Foo foo = (Foo)o;              //第7行
        System.out.println(foo.i);
    }
}
A.编译失败
B.编译成功且输出"3"
C.编译成功,但第6行抛出异常ClassCastException
D.编译成功,但第7行抛出异常ClassCastException
二、
(本大题共5小题,每道题2.0分,共10.0分)
1.
开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。(      )
对      
错   
2.
在方法定义中,可能发生的异常都必须用try...catch...捕捉。(      )
对      
错   
3.
在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。(      )
对      
错   
4.
在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。(      )
对      
错   
5.
abstract可修饰类、方法。(      )
对      
错   
三、
应用题(本大题共1小题,每道题20.0分,共20.0分)
1.
用Java编写一个Application程序。在窗口中画出三个TextField(前两个用于接收用户输入的两个整数,第三个用于显示相加和),一个加号Label,一个等于号Button。当按下Button时,将相加之和放到第三个TextField中。
版权声明

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系本站我们将配合处理!

分享: