《Java程序设计》期末复习试卷附上答案(3)A卷

一.判断题

  1. Java源代码中定义几个类,编译结果就生成几个以.class为后缀的字节码文件。( 对 )
  2. 注释的作用是使程序在执行时在屏幕上显示//之后的内容。  (错 )
  3. 有的类定义时可以不定义构造函数,所以构造函数不是必需的。              (对 )  
  4. 由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。  ( 错)
  5. 抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法             (错)
  6. java异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。                                                               ( 错  )                                                                                     
  7. Java语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。     (对  )
  8. Applet是一种特殊的Panel,它是Java Applet程序的最外层容器。 ( 对 )
  9. 在Java中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个属性与赋值对象相同的新对象。                                                  ( 错 )
  10. System类不能实例化,即不能创建System类的对象。                                     ( 对  )
  11. 一个线程对象的具体操作是由run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Runnable接口并书写其中run()方法的方法体。( 对  )
  12. 接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。( 错  )
  13. 静态初始化器是在其所属的类加载内存时由系统自动调用执行。             (对   )
  14. 如果p是父类Parent的对象,而c是子类Child的对象,则语句p=c是正确的。(对   )
  15. 所有的鼠标事件都由MouseListener监听接口的监听者来处理                ( 错)

二.单项选择题

1.在编写Java  Applet程序时,若需要对发生的事件作出响应和处理,一般需要在程序的开头写上(  D    )语句。

Aimport   java.awt.* ;        Bimport   java.applet.* ;

Cimport   java.io.* ;          Dimport   java.awt.event.* ;

2. 关于被私有保护访问控制符private  protected修饰的成员变量,以下说法正确的是(    B     )

A、可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

B、可以被两种类访问和引用:该类本身、该类的所有子类

C、只能被该类自身所访问和修改

D、只能被同一个包中的类访问

3. Java application中的主类需包含main方法,main方法的返回类型是什么?( D   )

A、int         B、float          C、double         D、void

4.  设有下面两个类的定义:

     class  Person {                        class  Student  extends  Person {

         long    id;     // 身份证号            int  score;  // 入学总分

         String  name;   // 姓名                int  getScore(){

      }                                             return  score;

                                                }

                                            }

则类Person和类Student的关系是( A    )。

A、包含关系     B、继承关系         C、关联关系  D、上述类定义有语法错误

5 . 容器Panel和Applet缺省使用的布局编辑策略是(  A       )

A、FlowLayout B、BorderLayout     C、GridLayout  D、CardLayout

6. 执行完以下代码int [ ]  x = new int[25];后,以下哪项说明是正确的(  A       )

A、x[24]为0 B、x[24]未定义 C、x[25]为0  D、x[0]为空

7. 编译并运行以下程序,以下描述哪个选项是正确的(    C      )

class  X{

protected  String  toString(){

return  super.toString();}

}

A、编译通过运行无异常 B、编译通过但运行时出错

C、行2出错,不能成功编译 D、不能成功编译,行3出错

8. 以下哪个不是Java的关键字?(    A )

A、FALSE        B、const            C、this          D、void

9. 有程序如下,关于程序的描述哪个是正确的?( C   )

public class Person{

static int arr[] = new int[10];

public static void main(String a[])

{   System.out.println(arr[0]);  }

}

A、编译将产生错误 B、编译时正确,但运行时将产生错误

C、正确,输出0      D、正确,输出 null

10.  以下声明合法的是(     A      )

A、default  String  s; B、public  final  static  native  int  w( )

C、abstract  double  d; D、abstract  final  double  hyperbolicCosine( )

11. 关于以下application的说明,正确的是(   C     )

class   StaticStuff

{

static  int  x=10;

static  { x+=5;}

public  static  void  main(String  args[ ]){

System.out.println(“x=” + x);

 }

static  { x/=3;}

}

A、4行与8行不能通过编译,因为缺少方法名和返回类型

B、8行不能通过编译,因为只能有一个静态初始化器

C、编译通过,执行结果为:x=5

D、编译通过,执行结果为:x=3

12. 在使用interface声明一个接口时,只可以使用(  A   )修饰符修饰该接口。

A、public    B、protected    C、private  protected   D、private

13. 关于以下程序代码的说明正确的是(    D      )

class  HasStatic{

    private  static  int  x=100;

    public  static  void  main(String  args[  ]){

        HasStatic  hs1=new  HasStatic(  );

        hs1.x++;

        HasStatic  hs2=new  HasStatic(  );

        hs2.x++;

        hs1=new  HasStatic( );

        hs1.x++;

HasStatic.x- -;

   System.out.println(“x=”+x);

}

    }

A、5行不能通过编译,因为引用了私有静态变量

B、10行不能通过编译,因为x是私有静态变量

   C、程序通过编译,输出结果为:x=103

D、程序通过编译,输出结果为:x=102

14. 关于以下程序段,正确的说法是(     C        )

String  s1=”abc”+”def”;

String  s2=new  String(s1);

if(s1= =s2)

System.out.println(“= = succeeded”);

if (s1.equals(s2))

System.out.println(“.equals()  succeeded”);

A、行4与行6都将执行 B、行4执行,行6不执行

C、行6执行,行4不执行 C、行4、行6都不执行

15. 以下说法哪项是正确的(    A     )

class  MyListener

extends  MouseAdapter  implements  MouseListener{

public void mouseEntered(MouseEvent  mev){

System.out.println("Mouse  entered.");  }

 }

A、以上代码可通过编译

B、不能通过编译,因为没有实现MouseListener接口中的所有方法

C、不能通过编译,因为类头定义不能分行

D、能通过编译,若组件用该类作为Mouse的监听者并且接收了mouse-exited事件,则在执行过程中会抛出异常

三.程序阅读题

1.阅读以下程序:

import java.io.*;

public class  AboutFile{

public static void main(String[ ]  args){

BufferedReader  b=new BufferedReader (new InputStreamReader(System.in));

String s;

System.out.flush();

s=b.readLine();

System.out.println(“String is:”+s);

}

}

运行以上程序,若从键盘输入:

JAVA<回车>

则输出结果为_____String is: JAVA____________________。

2. _____123_____________________________。

class  C1 {

  C1 () {

    System.out.print ("1  ");  }

}

class C2 extends  C1 {

  C2() {

    System.out.print ("2  ");  }

}

public class C3  extends  C2 {

  C 3() {

    System.out.println("3  ");  }

    public static void main(String[] args) {

    C3  c = new C3( );  }

}

3.阅读以下程序,输出结果为______3____________________________。

import java.io.*;

public class ATest{

   public static void main(String args[]) {

   SubClass sb = new SubClass( );        

             System.out.println(sb.add( ));

         }      }

class SuperClass{

  int a = 1 , b = 2 ;  

}

class SubClass extends  SuperClass{

  int  add( ) {  return   a+b;  }  

}

4.以下程序段的输出结果为___ Value is two. Value is three.______。

int   j=2;

switch  ( j ) {

  case  2:

System.out.print(“Value is two.”);

case  2+1 :

System.out.println(“Value is three.”);

break;

default:

System.out.println(“value is “+j);

break;

}

5.阅读以下程序:

class  AExample{

public static void main(String[ ] args){

String s, s1=””;

char c;

s=args[0];

for( int i=0; i<s.length(); i++){

c=s.charAt(i);

if(c>=’a’&&c<=’z’)

s1=s1+Character.toUpperCase(c);

if(c>=’A’&&c<=’Z’)

s1=s1+Character.toLowerCase(c);

}

System.out.println(s1);

}

若在命令行输入以下命令:

java  AExample  helloWORLD<回车>

则程序的输出为___JAVA  aeXAMPLE HELLOworld_______________。

6.阅读以下程序段:

class  Parent

{

void  printMe()

{

System.out.println(“parent”);

}

}

class  Child  extends Parent

{

void  printMe()

{

System.out.println(“child”);

}

void  printAll()

{

super.printMe();

this.printMe();

printMe();

}      }

public class Test_this

{

public static void main(String  args[ ])

{

Child  myC=new  Child();

myC.printAll();}

}

输出结果为: 

parent

child

parent

child

child

  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值