2006-2007学年第一学期期末考试试题(A卷)(1)

一、选择题(每题2分,共20分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项的标记写在答案表格中

 

1.设有定义语句int a[]={66,88,99}; 则以下对此语句的叙述错误的是( )。

A) 定义了一个名为a的一维数组        B) a数组有3个元素

C) a数组的下标为1~3            D)数组中的每个元素是整型

 

2.若a和b均是整型变量并已正确赋值,正确的switch语句是( )。

A) switch(a+b)               B) switch( a+b*3.0 )

{ ...... }                      { ...... }

C) switch a                     D) switch ( a%b )

{ ...... }                      { ...... }

 

3.为了区分重载多态中同名的不同方法,要求( )。

A) 采用不同的形式参数列表               B) 返回值类型不同

C) 调用时用类名或对象名做前缀           D) 参数名不同

 

4.定义主类的类头时可以使用的访问控制符是( )。

A) private                              B) protected

C) public                               D) private protected

 

5. x,y 均为已定义的类名,下列声明对象x1的语句中正确的是( )。

A) public x x1= new y( );           B) x x1=x( );

C) x x1=new x( );                   D) int x x1;

 

6.下列方法定义中,正确的是( )。

A) int x( int a,b )                     B) double x( int a,int b)

{ return (a-b); }                       { int w; w=a-b; }

C) double x( a,b )                      D) int x( int a,int b)

{ return b; }                           { return a-b; }

 

7.为了使包sos在当前程序中可见,可以使用的语句是( )。

A)import sos.*;                         B)package sos.*;

C)sos import;                       D)sos package;

 

8.以下哪个方法仅在Applet程序被创建和首次被载入支持Java的浏览器时被调用( )

A)paint()           B)init()            C)action()          D)start()

 

9.在某个类A中存在一个方法:void GetSort(int x),以下能作为这个方法的重载的声明的是( )

A)Void GetSort(float x)                     B)int GetSort(int y)

C)double GetSort(int x,int y)           D)void Get(int x,int y)

 

10.有一个类A,以下为其构造函数的声明,其中正确的是( )

A)void A(int x){...} B)A(int x){...}

C)a(int x){...} D)void a(int x){...}

 

二、多项选择题(每题2分,共10分)

在每小题的五个备选答案中选出正确答案,并将正确答案的序号答案表格中,错选多选,漏选均不得分。

 

1. 如下哪些是Java中有效的关键字?

 A const  BNULL    Cfalse   Dthis    E native

 

2. 已知如下代码:

public class Test

{

public static void main(String arg[])

{

int i = 5;

do {

System.out.println(i);

} while (--i>5)

System.out.println("finished");

}

}

执行后的输出是什么?

 A 5      B4       C6       DFinished        ENone

 

3.下面哪个不是Java中的容器?

A ScrollPane BCanvas   CScrollbar    DApplet   EDialog

 

4.如果类中的成员变量可以被同一包访问,则使用如下哪个修饰符?

 A private    Bpublic  Cprotected   Dno modifier Efinal

 

5.下面哪几个是字符流?

 AFileInputStream                     BInputStreamReader

 CBufferedReader                       DFileReader

EBufferedInputStream

 

三、判断题( 每小题1分,共10分 )

下列各题中,你认为正确的就在答案表格中打"",错误的打"×"

 

1. 同一个类中定义多个参数列表不同的同名方法,叫做方法的重载。( )

2.一个程序里可以有多个父类,也可以有多个主类。( )

3. 一个子类可以重新定义从父类那里继承来的同名方法,而且允许它们有不同的返回值。( )

4. 在父类中声明为 final 的方法,也可以在其子类中被重新定义(覆盖)。( )

5. 接口中所有方法均为抽象方法。( )

6. 子类的类成员变量不能与其父类的类成员变量同名。( )

7. static 变量不能是 private 变量。( )

8. 类的构造函数名必须和类名相同。( )

9. 子类的对象能直接向其父类对象赋值。( )

10.应用程序一定要有main()方法,小程序一定要继承于Applet 类。

 

四、填空题( 每题3分,共30分 )

请将正确答案填写在答题纸相应位置上,答在试卷上不得分。(一题多空时,答案用分号隔开)

 

 

1.编译并运行下面的Java代码段:

   char c='a';

   switch (c) {

     case 'a': System.out.println("a");

     default: System.out.println("default");

  }

输出结果是___________________

 

2.下列代码中有明显的语法错误的语句是_______________.

1. public class Test {

2.     public static void main (String args []) {

3.         Employee e = new Employee("Bob", 48);

4.         e.calculatePay();

5.         System.out.println(e.printDetails());

6.         e = Null;

7.         e = new Employee("Denise", 36);

8.         e.calculatePay();

9.         System.out.println(e.printDetails());

10.     }

11. }

 

3.下列代码中的public void add(int a)方法在add5)形式调用下输出为__________

public class Test {

  public void add(int a) {

    loop: for (int i = 1; i < 3; i++){

      for (int j = 1; j < 3; j++) {

        if (a == 5) {

          break loop;

        }

        System.out.println(i * j);

      }

    }

  }

}

 

4.分析下面的用Java语言编写的trythis()方法:

public void trythis(){

try{

      System.out.print("a");

      problem();

  }catch(RuntimeException e){

      System.out.print("b");

  }catch(Exception e){

      System.out.print("c");

  }finally{

      System.out.print("d");

  }

  System.out.print("e");

}

当该方法被调用时,如果其中的problem()方法引发一个RuntimeException类的异常,那么输出结果将是______

 

5. 以下方法 m 的功能是求两参数之积的整数部分。

int m ( float x, float y )

{ _________; }

 

6.下面是一个类的定义:

public class ______

{

int x, y;

Myclass ( int i, int j) // 构造函数

{

x=i;

y=j;

}

}

 

7.下面是用户程序对 Applet 类中方法 paint( ) 的重新定义,希望在用户区的(20,60)处显示i+311的值。

public void paint(Graphics x )

{ int i=689;

________;

}

 

8.下面是一个Java Application 的主类的定义,其功能是输出所有命令行参数。

import java.io.*;

public class MyClass{

public static void main(String args[ ]){

if( args.length !=___)

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

System.out.println(___________);

else System.out.println("没有命令行参数");

}

}

 

9.下面是一个小程序的主类myprogram的定义, 其中AB是该主类所在源程序中已定义的另两个类的类名:

import java awt.*

import java applet.*

public class myprogram extends Applet//定义小程序的主类

{

A a; B b;

public ________ init( ){

a=new A( )

b=_____ B( );

}

}

 

10.下面程序的功能为计算数组各元素的和,请完成程序。

import java.awt.Graphics;

import java.applet.Applet;

public class SumOfArray _______ Applet{

public void paint( Graphics g ){

int a[] = { 1, 3, 5, 7, 9, 10 };

int total=0;

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

total+=_____________;

g.drawString( "Total of array elements: " + total, 25, 25 );

}

}

 

五、完成程序(每题6分,共30分)

将下面程序中标号①②③处的代码补齐,完成程序的功能

 

1. 下面的java小应用程序实现的功能是从文本域中输入你的名字"***",回车后在

Applet中显示"***,你好!" ,请完成程序。

import java.awt.*;

import java.applet.*;

import java.awt.event.*;

public class Applet1 extends Applet implements ____________{

Label aa;

TextField t1;

String s=" ";

public void init(){

aa=new Label("请输入你的名字:");

add(aa);

t1=___________;

add(t1);

t1.addActionListener(this);

}

public void paint(Graphics g){

g.drawString(s,20,100);

}

public void actionPerformed(ActionEvent e){

s=_________;

repaint();

}

}

 

2.下面程序中在throwOne()可能导致一个IllegalAccessException异常但不处理它,要求由main方法调用,如果发生了异常,由调用者处理

 

class ThrowsDemo{     

 static void throwOne() _____________________{

   System.out.println("throwOne.");

   throw new IllegalAccessException("非法访问异常");

 }

  public static void main(String args[]){

   try{

    _________________;

   }

   catch(____________________ e){

     System.out.println("捕获"+e);

   }

 }

}

 

3.下面程序使用Swing设计一个窗口,窗口标题是“HelloSwing”,窗口包含一个标签“你好,Swing”。

 

import _______________;       

public class HelloSwing {

 public static void main(String[] args) {

   JFrame frame = _________________;

   JLabel label = ___________________;

   frame.getContentPane().add(label);              

   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

   frame.setSize(300,200);

   frame.setVisible(true);

 }

}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值