作业答案 发表于 2021-7-14 09:03:23

21秋西电《JAVA程序设计》模拟试题3答案

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

题分
45
35
20
100

得分





选择题(3分/题,共15个,共45分)
1. 请说出下列代码的执行结果:
   public class test {
      public static void main(String[] args) {
         Integer a1 = new Integer(20);
         Integer a2 = new Integer(20);
         if(a1= =a2)
             System.out.println("a1= =a2");
         if(a1.equals(a2))
             System.out.println("equals");
      }
    };
equals
a1= =a2
什么都不输出
程序错误
答案:A。
解析:new出来的对象存储在堆中,所以a1和a2指向不同的内存区域,用操作符“==”比较的结果是false,使用equals则是比较内容,所以返回true。2. 下面哪种注释方法能够支持javadoc命令:
/** ……………..**/
/*………………..*/
//
/**………………*/
答案:D。
解析:A中是干扰项,没有这种注释。B中是注释代码块的语法。C是注释单行代码。3. 下面关于Applet的说法正确的是:
Applet也需要main方法
Applet必须继承java.awt.Applet
Applet能访问本地文件
Applet程序不需要编译
答案:A。
解析:因为Applet不需要main方法,只需要Applet的容器即可。B正确。Applet为了安全性,禁止Applet访问本地文件。Applet程序需要编译。
4. 下面的说法正确的是:
Java语言里的线程不是对象
Applet需要main方法
Java语言的对象都是java.lang.Object的子类
Java支持多重继承
答案:C。
解析:Java中线程是Thread对象,A错。Applet不需要main方法,B错。Java不支持多重继承,D错。5. 定义一个类名为"MyClass.java"的类,并且该类可被一个工程中的所有类访问,那么该类的正确声明应为:
private class MyCLass extends Object
class MyCLass extends Object
public class MyCLass
protected class MyCLass extends Object
答案:C。
解释:A和D编译错误,类前面的修饰符只能是public,abstract和final。B中默认修饰符只能让同一个包内的类访问。6. 欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的 ?
ArrayList myList=new Object();
List myList=new ArrayList();
ArrayList myList=new List();
List myList=new List();
答案:B。
解析:A错误,不能向下转型,会发生不可预知的错误。C同A,也错。D中构造的是List的实例。7. 哪个关键字可以对对象加互斥锁?
transient
synchronized
serialize
static
答案:B。
解析:A中transient修饰不需要序列化的变量,不是加互斥锁。C为干扰项,没有这个关键字。D中static是修饰静态变量的。8. 哪个关键字用来定义一个抽象类?
violate
class
abstract
virtual
答案:C。
解析:violate修饰不需要序列化的变量。关键字class用来定义一个类。D为干扰项,Java中没有这个关键字。9.      为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(????? )。 A. static?void?method()?B. public void method()??? C. final void method()?? D. abstract void method()、
答案:A。
解析:静态方法可以直接使用类的名字进行调用。所以只能选A。10、下列代码执行结果是什么?
String s1 = "ccc";
s1.concat("fff");
System.out.println(s1);The string "ccc".
The string "cccfff".
The string "fff".
The string "fffccc"
答案:A。
解析:concat函数不改变原变量的值。所以还是ccc。其他选项为干扰项。11. 如果在一个Java源程序中要使用 java.sql.Date类和 java.util.Date类,下面哪个用法是正确的?
Date date1 = new Date();
Date date2 = new Date();
java.sql.Date date1 = new java.sql.Date();
java.util.Date date2 = new java.util.Date();
不能区分出这两个类,所以不能在一个java源文件中同时使用这两个类。
Date date1 = new Date();
java.sql.Date date2 = new java.sql.Date();
答案:B。
解析:A中没有加上包名,引用相同名字的类,编译报错。同理C说法也错误。D中也错误。12. 当变量x是哪些值的时候输出包括"Message 2",选出最完整的答案?
   switch(x)
   {    case 1 :
               System.out.println("Message 1");
          case 2 :
          case 3 :
               System.out.println("Message 2");
          case 4 :
               System.out.println("End");
}
(A) 3               (B) 1 或 2 或 3 或 4
(C) 1 或 2 或 3   (D) 4
答案:C。
解析:由于没有break,会执行所有的case语句块。所以有可能是1,2,3。13.下列哪个不是面向对象的三大特性之一:
封装性
继承性
多态性
函数
答案:D。
解析:函数在任何语言都有。面向对象三大特征是封装、继承、多态。14. 选出不是java循环语句的选项?
for
while
repeat
do while
答案:C。
解析:java中没有repeat关键字。15. 下面哪种语言不是面向对象语言?
(A) java
(B) C++
(C ) C
(D) Smalltalk
答案:C。
解析:C语言是面向过程的。其他均是面向对象语言。二、读程题 ( 5分/题,共7个,共35分)
1. 下列程序编译运行后输出什么?
public class Arrays {
public static void main(String[] args) {
    int[] a1 = { 1, 2, 3, 4, 5 };
    int[] a2;
    a2 = a1;
    for(int i = 0; i < a2.length; i++)
      a2++;
    for(int i = 0; i < a1.length; i++)
      prt("a1[" + i + "] = " + a1);
}
static void prt(String s) {
    System.out.println(s);
}
}
答:
a=2
a=3
a=4
a=5
a=6
解释:考察java的for循环遍历数组。2. 下面的代码执行结果是什么?
 class Aclass{    void go(){     System.out.println("Aclass");    }   }   public class Bclass extends Aclass{    void go(){     System.out.println("Bclass");    }   public static void main(String args[]){    Aclass a=new Aclass();    Aclass a1=new Bclass();   a.go();   a1.go();   }
}      答:Aclass
      Bclass阅读下列代码,写出运行结果。(5分)
class Instrument {
public void play() {
    System.out.println("Instrument.play()");
}
}
class WindextendsInstrument {
public void play() {
    System.out.println("Wind.play()");
}
}
public class Music {
public static void tune(Instrumentk ) {
    k.play();
}
public static void main(String[] args) {
    Wind flute = new Wind();
    tune(flute);
}
}   答案:Wind.play()读程序,写出正确的运行结果。(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 Example{   String str=new String("good");   char[]ch={'a','b','c'};   public static void main(String args[]){     Example ex=new Example();     ex.change(ex.str,ex.ch);     System.out.print(ex.str+" and ");     System.out.print(ex.ch);   }   public void change(String str,char ch[]){     str="test ok";     ch='g';   } }
答案: good and gbc读程序,写出正确的运行结果。(5分)
class A{ class Dog{   private String name;   private int age;   public int step;   Dog(String s,int a) {     name=s;     age=a;     step=0;   }   public void run(Dog fast) {     fast.step++;   } } public static void main (String args[]){   A a=new A();   Dog d=a.new Dog("Tom",3);   d.step=25;   d.run(d);   System.out.println(d.step); }
}
答案: 26
解释:考察内部类的应用读程序,写出正确的运行结果。(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
解释:考察static变量的用法。fd1和fd2两个对象公用了整型数m,所以在fd1中的修改对fd2也是可见的。
三、阅读程序,回答问题:(20分)
import java.awt.*;
import ____ ____________;class MyFirstFrame extends Frame implements _ ________{
private static final int FRAME_WIDTH=300;
private static final int FRAME_HEIGHT=200;
private static final int FRAME_X_ORIGIN=150;
private static final int FRAME_Y_ORIGIN=250;
private static final int BUTTON_WIDTH=60;
private static final int BUTTON_HEIGHT=30;
ButtonokButton;         public MyFirstFrame()
{
setSize(FRAME_WIDTH, FRAME_HEIGHT);
setResizable(false);
setTitle("Program MyFirstFrame");
setLocation(FRAME_X_ORIGIN, FRAME_Y_ORIGIN);setLayout(null);
okButton = new Button("OK");
okButton.setBounds(100,150,BUTTON_WIDTH,BUTTON_HEIGHT);
add(________________);//添加按钮okButton.addActionListener(__________________);
}public void actionPerformed (ActionEvent event)
{
Button clickButton = (Button)event.getSource();   
if(clickButton == okButton)
setTitle("you clicked OK ");
}
}1.填写程序中的空白。(2分/空, 2*4=8分) (答案写在下面空白处)
答案:(2)java.awt.event.*
      (3) ActionListener
(20)okButton
(21)this2.说明程序14)行的功能?(3分)
答案:使得窗口大小固定,不能伸缩。3.说明程序17)行的功能?(3分)
答案:不使用布局管理器。4.说明程序21)行的功能?(3分)
答案:注册鼠标点击事件的侦听对象。5.说明程序23)-28)行的功能?(3分)
答案:对鼠标点击事件的处理方法,当点击鼠标左键时,窗口标题栏变为you clicked OK.

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