端木老师 发表于 2021-7-14 09:10:20

21秋西电《JAVA程序设计》模拟试题5题目

学习中心                                                               姓名                              学 号                           西安电子科技大学网络教育学院
200    学年第    学期《Java程序设计》模拟试题3
( 90 分钟)题号
一   
 二
 三
 总分

题分
30
35
20
100

得分





一、选择题(3分/题,共10个,共30分)
1.下列运算结果为1的是  (A)8>>1  (B)4>>>2  (C)8<<1  (D)4<<<2
答案:B。
解析:4右移两位相当于连续两次除以2,等于1。无论是4还是8,一定是右移操作才能变成1,故C、D不选;8右移一位相当于除以2,A的结果为4,不选A。2.多态的表现形式有()
(A) 重写
(B) 抽象 (C) 继承 (D) 封装
答案:A。
解释:多态的表现形式有重载和重写;其他选项均不符合。3.对于面向过程语言,Java特有的语法的是()。
(A) 重载函数
(B) 重载操作符 (C) 声明,实现函数 (D) 继承一个类
答案:D。
解析:A、B、C选项均可以用C语言实现。

4.Java中的final关键字,下列说法错误的是()。
(A) final可以用来修饰方法。
(B) private方法默认都是final类型的。
(C) final可以用来修饰类。
(D) final只能用来修饰变量,表示该变量是一个常量。
答案:D。
解析:final修饰的方法表示该方法不能被重写,故不选A;private的方法一定是final类型的,故不选B;final修饰的类中,方法都是final的,不能被子类重写,属性不一定是final的,故不选C。5.以下对继承的描述错误的是()。
(A)? Java中子类只能继承单个父类。 (B)Java中子接口只能继承单个接口。 (C)Java中子类可以实现多个接口。 (D) 当实例化子类时会先实例化父类。
答案:B。
解释:Java中接口可以继承多个接口。其他选项均正确。6.接口和抽象类描述错误的有()。 (A) 抽象类没有构造函数 (B) 接口没有构造函数 (C) 抽象类不允许多继承 (D) 接口可以继承多个接口
答案:A。
解释:抽象类不可以被实例化,但是有构造函数,执行一些初始化的操作;其它选项均正确。7.以下描述正确的有() (A) 方法的重写应用在一个类的内部 (B) 方法的重载与返回值类型无关 (C) 构造方法不能重载 (D) 构造方法可以重写
答案:B。 解释:Java中返回值不能区分不同的方法。8.在使用super 和this关键字时,以下描述正确的是()。 (A) 在子类构造方法中使用super()显示调用父类的构造方法,super()必须写在子类构造方法的第一行,否则编译不通过 (B) super()和this()不一定要放在构造方法内第一行 (C) this()和super()可以同时出现在一个构造函数中 (D)this()和super()可以在static环境中使用,包括static方法和static语句块
答案:A。
解释:super()或this()若出现在构造函数中,则必须在第一行,B错。super()和this()都需要放在第一行,而第一行只有一个,矛盾,所以super()和this()不能同时出现在构造函数中。9.以下负责建立与数据库连接的是(D) (A) Statement (B) PreparedStatement (C) ResultSet (D) DriverManager
答案:D。
解释:Statement和PreparedStatement是建立sql语句使用的,A、B都不选;ResultSet是用来存储查询结果的,故不选C。10.在try-catch-finally语句块中,以下可以单独与finally一起使用的是() (A) catch (B) try (C) throws (D) throw
答案:B。
解释:Java中finally前至少要一个try。其他选项均为干扰项。
二、简答题(第一小题7分,第二小题8分,共15分)
1,请简述String和StringBuffer的联系和区别。(7分)
答案:效率上StringBuffer比String高;实现上,String是利用StringBuffer来实现的;String是常量,每次对String类型的修改都会重新创建一个对象,若修改StringBuffer则会修改同一个对象。
2,请尽可能多地写出你所知道的Object类的方法。(8分)
答案:Object三大常用方法:toString,hashcode,equals。
      多线程相关的方法:wait,notify,notifyall,
      构造函数:Object
      其他方法:clone,getClass
三、读程题 ( 5分/题,共7个,共35分)
1. 下列程序编译运行后输出什么?
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);
}
}
答案:112. 下列程序输出什么?
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, s);
          System.out.println(s + s);
}      
}
答案:123.阅读下列代码,写出运行结果。(5分)
public class Demo {
public static void main(String[] args) {
int i = 12;
System.out.println(i += i -= i *= i);
}
}
答案:-1204.读程序,写出正确的运行结果。(5分)
class Test extends Thread{
public void run(){
System.out.println("1");
yield();
System.out.println("2");
suspend();
System.out.println("3");
resume();
System.out.println("4");
}
public static void main(String []args){
Test t = new Test();
t.start();
}
}
   答案: 1
            2读程序,写出正确的运行结果。(5分)
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");
}
}
答案:234读程序,写出正确的运行结果。(5分)
public class Demo{
public static void main(String[] args) {
int a[] = {1,2,3,4};
System.out.println(a);
}
}
答案:3读程序,写出正确的运行结果。(5分)
public class test {
static int m = 9;
public static void main(String[] args) {
test fd1 = new test();
fd1.m++;
test fd2 = new test();
System.out.println(fd1.m + “,” + fd2.m);
}
}
答案: 10,10
四、编程题(20分)
题目:斐波那契数列的定义为:a=a+a,n为整数且n>2。
给出a=2,a=4,请编写Java程序,给出任意的整数n,求出a的值。
要求采用递归的形式。函数的声明如下:int Fibonacci(int n);
2.采用非递归形式,编写Fibonacci函数,求出a的值。
解析:
1,递归的程序如下:
2,非递归的程序如下:


页: [1]
查看完整版本: 21秋西电《JAVA程序设计》模拟试题5题目