无忧小子 发表于 2021-10-5 09:12:27

21秋西南大学0837 面向对象程序设计在线作业题目及答案

0837 面向对象程序设计
1.[单选题] 能够构造一个BufferedInputStream流的是(      )。

    A.new BufferedInputStream(new Reader("in.txt"))
    B.new BufferedInputStream("in.txt")
    C.new BufferedInputStream(new File("in.txt"))
    D.new BufferedInputStream(new FileInputStream("in.txt"))
2.[单选题] 关于constructor,下列描述正确的是(      )
    A.class中的constructor不可省略
    B.constructor在一个对象被new时执行
    C.一个class只能定义一个constructor
    D.constructor必须与class同名,但方法不能与class同名
3.[单选题] 以下程序编译运行的结果是(      )。
import java.io.*;
public class Test {
    public static void main(String[] args) {
      try {
            File f = new File("file.txt");
            OutputStream out = new FileOutputStream(f, true);
            int a = 38;   //ASCII码38="&"
            out.write(a);
            out.close();
      } catch(IOException e) {
      }
    }
}

    A.运行后抛出异常,因为文件没有关闭
    B.程序运行后文件没有变化
    C.程序运行后文件增加了一个字符
    D.程序不能编译
4.[单选题] 在下列程序的第2行中插入哪个方法会引起编译错误?(      )
public class C extends B {
    //第2行
}
class B {
    public float getNum() {
      return 1.0f;
    }
}
    A.public void getNum(double d) {}
    B.public double getNum(float d) {return 4.0f;}
    C.public float getNum() {return 4.0f;}
    D.public void getNum() {}
5.[单选题] 下列语句执行后,k的值是(      )。
int i = 6, j = 8, k = 10, m = 7;
if(!(i > j | m > k++))k++;
    A.12
    B.11
    C.10
    D.9
6.[单选题] 定义变量boolean b = true;,则String.valueOf(b)的返回值类型是(      )。
    A.String
    B.false
    C.Boolean
    D.int
7.[单选题] 以下程序编译运行的结果是(      )。
public class Test {
    public static void main(String[] args) {
      System.out.println("value=" + switchIt(4));
    }
    public static int switchIt(int x) {
      int j = 1;
      switch(x) {
      case 1: j++;
      case 2: j++;
      case 3: j++;
      case 4: j++;
      case 5: j++;
      default: j++;
      }
      return j + x;
    }
}
    A.value=3
    B.value=4
    C.value=5
    D.value=8
8.[单选题] 若需要定义一个类属性或类方法,应使用哪种修饰符?(      )
    A.public
    B.static
    C.package
    D.private
9.[单选题] 只包含一个带public修饰的类Abc的Java程序的正确命名是(      )。
    A.Abc   
    B.Abc.Java
    C.一个任意的标识符后带后缀.java
    D.abc.java
10.[单选题] 下列程序段的输出结果是(      )。
int i = 1, b, c;
int[] a = new int;
b = a;
c = b + i;
System.out.println(c);
    A.2
    B.1
    C.4
    D.0
11.[单选题] while循环和do...while循环的区别是(      )。
    A.没有区别,这两个结构任何情况下效果一样
    B.while循环是先循环后判断,所以循环体至少被执行一次
    C.while循环比do...while循环执行效率高
    D.do...while循环是先循环后判断,所以循环体至少被执行一次
12.[单选题] main方法中有以下语句,则输出的结果是(      )。
Hashtable hashtable = new Hashtable();
hashtable.put("100", "aaa");
hashtable.put("200", "bbb");
hashtable.put("300", "ccc");
System.out.println(hashtable.get("300").toString()
                   + hashtable.get("200").toString()
                   + hashtable.get("100").toString());

    A.cccbbbaaa
    B.ccc
    C.aaa
    D.bbb
13.[单选题] 以下程序的输出结果是(      )。
public class Person {
    String name;
    int age;

    public Person(String name, int age) {
      this.name = name;
      this.age = age;
    }

    public static void main(String[] args) {
      Person c = new Person("Peter", 17);
      System.out.println(c.name + " is " + c.age + " years old!");
    }
}
    A.Peter is 17 years old!
    B.Peter is 17!
    C.Peter is 18 years old!
    D.Peter is old!
14.[单选题] 下列程序编译运行的结果是(      )。
public class Test {                        
    public static void main(String[] args) {
      String o1 = new String("ABV");   
      String o2 = new String("ABV");   
      if (o1.equals(o2)) {      //第5行         
            System.out.println("Equal");   
      }                                 
    }                                    
}

    A.程序执行后出现异常
    B.程序在第5行出现编译错误
    C.程序执行后无输出
    D.程序执行后输出"Equal"
15.[单选题] 下列程序段执行后,变量baz的值为(      )。
int index = 1;
int foo[] = new int;
int bar = foo;
int baz = bar + index;
    A.2
    B.执行有错误
    C.0
    D.1
16.[单选题] 定义一个接口,必须使用的关键字是(      )。
    A.static
    B.interface
    C.public
    D.class
17.[单选题] 关于super,正确的说法是(      )。
    A.是指当前对象的父类
    B.可以用在main()方法中
    C.是指当前对象的父类对象的内存地址
    D.是指当前对象的内存地址
18.[单选题] 编译运行下列程序,产生的结果是(      )。
public class A {
    int a1 = 1;
    int a2;
    public static void main(String[] args) {
      int a3 = 2;
      A a = new A();
      System.out.println("Result=" + a.a1 + a.a2 + a3);
    }
}
    A.Result=3
    B.会产生编译错误
    C.不会产生编译错误,但也没有结果输出
    D.Result=102
19.[单选题] main方法中有以下语句,则输出的结果是(      )。
Hashtable hashtable = new Hashtable();
hashtable.put("x", "12345");
hashtable.put("y", "67890");
hashtable.put("a", "abcde");
System.out.println(hashtable.get("a"));
    A.E.a
    B.67890
    C.abcde
    D.12345
20.[单选题] 下列哪个不是面向对象程序设计方法的特点?(      )
    A.抽象
    B.结构化
    C.继承
    D.多态
21.[单选题] main方法中有以下语句,则输出的结果是(      )。
String s = "xxxxxxxxxxxxxxx#123#456#zzzzz";
int n = s.indexOf("#");
int k = s.indexOf("#", n + 1);
String s2 = s.substring(n + 1, k);
System.out.println(s2);
    A.123
    B.zzzzz
    C.123456
    D.xxxxxxxxxxxxxxx
22.[单选题] 关于BufferedReader类的readLine()方法,下列说法错误的是(      )。
    A.方法readLine()每次读取一行数据
    B.方法readLine()每次读取一个字节
    C.如果读到流的末尾,该方法返回的结果为null
    D.该方法可能抛出IOException异常,调用该方法时通常应将它放到try块中,并通过catch块处理异常
23.[单选题] 能用来修饰interface的修饰符是(      )
    A.protected
    B.private
    C.public
    D.static
24.[单选题] 以下程序编译运行的结果是(      )。
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.Retangle Cirle Triangle
    C.Triangle Retangle Circle
    D.Circle Retangle Triangle
25.[单选题] 欲构造ArrayList类的一个实例,此类继承了List接口,下列正确的代码是(      )
    A.ArraylList myList = new List();
    B.ArrayList myList = new Object();
    C.List myList = new List();
    D.List myList = new ArrayList();
26.[单选题] 有以下的方法定义。该方法的返回类型是(      )。
ReturnType method(byte x, double y) {
    return (short)x/y*2;
}
    A.short
    B.double
    C.byte
    D.int
27.[单选题] 在浏览器中执行applet程序,下列选项中的哪个方法将被最先执行?(      )
    A.init()
    B.destroy()
    C.start()
    D.stop()
28.[单选题] 既能作为类的修饰符, 也能作为类成员的修饰符的是(    )
    A.public
    B.extends
    C.void
    D.static
29.[单选题] 设有定义 int i=80, j=7; double d=80.7; 则下列语句中正确的赋值语句是(      )
    A.i = d;
    B.i= (int)d + j;
    C.j = (int)i - d;
    D.i + j = (int)d;
30.[单选题] 下列不属于Java语言关键字的是(      )
    A.repeat
    B.try
    C.break
    D.new
31.[单选题] 下列字符序列中可以作为Java语言标识符的是(      )
    A.true
    B.123_xyz
    C.x.y
    D._x123
32.[单选题] 下列字符序列中不能作为Java语言标识符的是(      )
    A.abc_123
    B.圆周率PI
    C.false
    D._123abc
33.[单选题] 下列语句序列给出了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;
   a = a;
   a = temp;
   m = a.length();
}
    A.{"love", "and", "peace"},7
    B.{"peace", "love", "and"},7
    C.{"peace", "love", "and"},4
    D.{"love", "and", "peace"},5
34.[单选题] 下列程序段执行后,t5的结果是(      )。
int t1 = 5, t2 = 6, t3 = 7, t4, t5;
t4 = t1;
t5 = t4;
    A.以上都不对
    B.6
    C.5
    D.7
35.[单选题] 以下程序编译运行的结果是(      )。
public class Father {
    String name, address, tel;
    int age;

    public Father(String name, int age) {
      this.name = name;
      this.age = age;
    }

    void out() {
      System.out.print("姓名:" + name);
      System.out.print(" 年龄:" + age);
    }

    void outOther() {
      System.out.print(" 家庭住址:" + address);
      System.out.print(" 电话:" + tel);
    }
}

class Son extends Father {
    String school;

    public Son(String name, int age) {
      super(name, age);
    }

    void out() {
      super.out();
      super.outOther();
      System.out.println(" 学校:" + school);
    }

    public static void main(String args[]) {
      Son son = new Son("张三", 15);
      son.address = "北碚区";
      son.school = "朝阳中学";
      son.tel = "68283421";
      son.out();
    }
}
    A.姓名:张三 年龄:15 家庭住址:北碚区 电话:68283421 学校:朝阳中学
    B.姓名:null 年龄:0 家庭住址:null 电话:null 学校:null
    C.编译时将产生错误
    D.编译时正确,运行时将产生错误
36.[单选题] 关于以下代码段的说法,正确的是(      )。
String s = "abcde";    //第1行
StringBuffer s1 = new StringBuffer("abcde");
if(s.equals(s1))       //第3行
    s1 = null;
if(s1.equals(s))       //第5行
    s = null;
    A.第1行编译错误,String的构造器必须明确调用
    B.第3行编译错误,因为s与s1有不同的类型
    C.编译成功,但执行时在第5行有异常抛出
    D.编译成功,执行过程中也没有异常抛出
37.[单选题] 构造函数在何时被调用?(      )
    A.类定义时
    B.使用对象的属性时
    C.创建对象时
    D.使用对象的方法时
38.[单选题] 以下程序编译运行的结果是(      )。
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.编译成功,执行后输出"0"
    B.编译成功,执行后输出"1"
    C.编译成功,执行后输出"2"
    D.编译将失败
39.[单选题] 阅读下面的程序。要保证程序顺利执行,须在第1行填写的代码是(      )。
      // 第1行
public class GetImage extends Applet {
    Image pic;
    public void init() {
      try {
            URL u = new URL(this.getCodeBase(), this.getParameter("IMAGE"));
            this.pic = this.getImage(u);
      } catch(MalformedURLException e) {
            System.err.println(e);
      }
    }
    public void paint(Graphics g) {
      g.drawImage(this.pic, 0, 0, this);
    }
}
    A.D.import java.applet.*; import java.awt.*;
    B.import java.applet.*; import java.awt.*; import java.net.*;
    C.import java.awt.*; import java.net.*;
    D.import java.applet.*; import java.net.*;
40.[单选题] 关于接口,正确的说法是(      )。
    A.B.接口和抽象类是同一回事
    B.一个类只能实现一个接口
    C.实现一个接口必须实现接口的所有方法
    D.接口间不能有继承关系
41.[单选题] 下列语句执行后,count的值是(      )。
int count = 1;
for (int i = 1; i <= 5; i++) {
    count += i;
}
    A.15
    B.16
    C.5
    D.1
42.[单选题] 设已声明了一个类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();
43.[判断题] System.exit(0)不能在Applet中使用。(      )
    A.正确
    B.错误
44.[判断题] 开发与运行Java程序需要经过的三个主要步骤为编辑源程序、编译生成字节码和解释运行字节码。(      )
    A.正确
    B.错误
45.[判断题] 所有的文件输入/输出流都继承于InputStream类/OutputStream类。(      )
    A.正确
    B.错误
46.[判断题] Java所使用的字符集是Unicode。(      )
    A.正确
    B.错误
47.[判断题] 如果类MyClass声明为public,它所在的文件名称必须是MyClass.java才能正常编译。(      )
    A.正确
    B.错误
48.[判断题] 若要进行频繁的插入和删除操作,则ArrayList比LinkedList效率高。(      )
    A.正确
    B.错误
49.[判断题] ArrayList集合对象中的元素是有序的,并且允许重复。(      )
    A.正确
    B.错误
50.[判断题] Java语言中的布尔变量可以和整型变量相互强制转换。(      )
    A.正确
    B.错误
51.[判断题] 在方法定义中,可能发生的异常都必须用try...catch...捕捉。(      )
    A.正确
    B.错误
52.[判断题] final类中的属性和方法都必须是final的。(      )
    A.正确
    B.错误
53.[判断题] abstract可修饰类、方法。(      )
    A.正确
    B.错误
54.[判断题] 用Java虚拟机运行Hello.class的正确命令形式是:java Hello.class。(      )
    A.正确
    B.错误
55.[判断题] 拥有abstract方法的类是抽象类,但抽象类中可以没有abstract方法。(      )
    A.正确
    B.错误
56.[判断题] 在Java程序中,通过类的定义只能实现单重继承,但通过接口的定义可以实现多重继承关系。(      )
    A.正确
    B.错误
57.[判断题] 在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。(      )
    A.正确
    B.错误
58.[判断题] 如果准备按字符读取一个文件的内容,则可以使用Reader这个类创建对象。(      )
    A.正确
    B.错误
59.[判断题] 实现一个接口,则在类中一定要实现接口中的所有方法。(      )
    A.正确
    B.错误
60.[问答题] 用Java编写一个字符界面的Application程序。该程序逐一接收用户从键盘输入的字符串(输入一个字符串后按回车输入下一个),然后逐一输出至当前目录下的input.txt文件中,直至用户输入空行。
    A.
61.[问答题] 用Java编写一个Application程序。在窗口中画出三个TextField(前两个用于接收用户输入的两个整数,第三个用于显示相加和),一个加号Label,一个等于号Button。当按下Button时,将相加之和放到第三个TextField中。
    A.
62.[问答题] 用Java编写一个字符界面的Application程序。该程序从键盘接收用户输入的10个整数(输入一个整数后按回车输入下一个),然后将这10个整数中的最大值和最小值输出到屏幕。
    A.
63.[问答题] 用Java编写一个字符界面的Application程序。该程序从键盘接收用户输入的10个整数(输入一个整数后按回车输入下一个),然后逆序输出这10个整数。
    A.

页: [1]
查看完整版本: 21秋西南大学0837 面向对象程序设计在线作业题目及答案