电大本科JAVA技术试题2008年7月

更新时间:2024-07-03 15:13:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《JAVA技术》2008年7月考试题

一、单项选择(共25小题,每小题1分)

1. 编译Java APPlication 源程序文件将产生相应的字节码文件,这些字节目码文件的扩展名为( )。 A .java B .class C .html D .exe

2. 在Java APPlet 程序用户白定义的Applet子类中,一般需要重载父类的 ( )方法来完成一些画图操作。

A . start ( ) B . init ( ) C . paint ( ) D . stop ( )

3. 不允许作为类及类成员的访问控制符的是( ) 。

A . public B . private C . static D . protected

4. 为AB 类的一个无形式参数无返回值的方法method 书写方法头,使得使用类名AB 作为前缀就可以调用它,该方法头的形式为( ) 。

A . static void method ( ) B . public void method ( ) C . final void method ( ) D . abstract void method ( )

5. 关于被私有访问控制符private 修饰的成员变量,以下说法正确的是( ) A . 可以被 三种类所引用:该类白身、与它在同一个包中的其他类、在其他包中的该类的子类 B .可以被两种类访问和引用:该类本身、该类的所有子类 C .只能被该类白身所访问和修改 D .只能被同一个包中的类访问

6. 关于被保护访问控制符protected 修饰的成员变量,以下说法正确的是( ) A .可以被三种类所引用:该类自身、与它存同一个包中的其他类、在其他句中的该类的子类 B .可以被两种类访问和引用:该类本身、该类的所有子类 C . 只能被该类白身所访问和修改 D .只能被同一个包中的类访问

7. 下列关于修饰混用的说法,错误的是( ) A . abstract 不能与final 并列修饰同一个类 B . abstract 类中不可以有private 的成员 C . abstract 方法必须在abstract 类中 D . static 方法中能处理非static的属性

8. 容器Panel 和Applet 缺省使用的布局是( )

A 、BorderLayout B 、FlowLayout C 、GridLayout D 、CardLayout 9. 以卜标识符中哪项是不合法的( )

A 、BigMeaninglessName B 、$int C 、1 s D 、$l

10. main 方法是Java Application 程序执行的入口点,关于main 方法的方法头以下哪项是合法的( ) A 、public static void main ( )

B 、public static void main ( String [ ] args ) C 、public static int main ( String 〔 ]arg ) D 、public void main ( String arg[])

11. 执行完以卜代码int[ ] x = new int [ 25 ] ;后,以下哪项说明是正确的( ) A 、x[24]为0 B 、x[24]未定义 C 、x[25]为0 D 、x[0]为空 12. 以卜代码段执行后的输出结果为( ) Int x = 3 ; int y = 10 ;

System . out . println ( y % x ) ; A 、O B 、1 C 、2 D 、3

13. 哪一个限定符可以应用于方法体,使得方法必须获得对象的锁之后才能执行? A . static B . protected C . synchronized D . final 14. 编译运行以下程序后,关于输出结果的说明正确的是( ) public clas Conditional {

public static void main ( String args[ ] ) { int x = 4 ;

System. Out. println ( \ } }

A 、输出结果为:value is 99.99 B、输出结果为:value is 9 C 、输出结果为:value is 9.0 D、编译错误

15. 以下声明合法的是( )

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

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

16. 给出如下代码: class Test{

private int m ;

public static void fun( ){ //some code? } }

如何使成员变量m 被函数fun( )直接访问? A 、将private int m 改为protected int m B 、将private int m 改为public int m C 、将private int m 改为static int m D 、将private int m 改为int m

17. 你怎样从下面main( 的调用中访问单词“kiss\java lyrics a kiss is but a kiss

A 、args[0] B 、args[2] C 、args[4] D 、args[5]

18. 已知如下代码: boolean m=true ; if (m==false)

System.out.println(“False”); else

System.out.println (“True”) ; 执行结果是什么?

A 、false B 、true C 、none D 、An error will occur when running

19. 当浏览器返回到新URL的包含applet的贞面时调用以下哪个函数? A 、init( ) B 、start( ) C 、stop( ) D 、destroy( ) 20. 以下哪个方法用于定义线程的执行体?

A 、Start( ) B 、init( ) C 、run( ) D 、main( ) 21. 以下哪个约束符可用于定义成员常量?

A 、static B 、abstract C 、final D 、不使用约束符 22. 下面哪个方法与applet的显示无关?

A 、update( ) B 、draw( ) C 、repaint( ) D 、paint ( )

23. 请问如下哪个方法可以将MenuBar 加入Frame 中?

A 、setMenu ( ) B 、setMenuBar() C 、add ( ) D 、addMenuBar( )

24. 在编写异常处理的Java 程序中,每个catch 语句块都应该与( )语句块对应,使得用该语句块来启动Java 的异常处理机制。

A . if 一else B . switch C . try D . throw

25. 关于以下程序段,正确的说法是( ) 1. String s1=”abc”+”def”; 2. String s2=new String(s1); 3. if (s1==s2)

4.System.out.println(“==succeeded”); 5. if(s1.equals(s2))

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

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

二、判断题(共15小题,每小题1分)

l. 抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。( ) 2. 被final修饰符修饰的类不能被继承。( ) 3. 总结类不能派生子类,总结方法不能被覆盖。( ) 4.子类要调用父类的方法,必须使用super 关键字。( ) 5.一个Java 类只能有一个父类。( )

6.如果p 是父类Parent的对象,而c 是子类Child 的对象,则语句c=p是正确的。( ) 7. 一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。( )

8. 一个方法在运行过程中产生一个异常,则这个方法会终止,但整个程序不一定终止运行( )

9. 接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法( ) 。 10. 用“十”可以实现字符串的拼接,用“一”可以从一个字符串中去除一个子串( ) 11. 使用方法length ( )可以获得字符串或数组的长度( )

12.设String 对象s = “ Hello”,运行语句system.out. println ( s.concat (“world!”));后string 对象s 的内容为”Hello world!” ,所以语句输出为:Hello world ! ( )

13 .一个线程对象的具体操作是由run ( )方法的内容确定的,但是Thread 类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread 的子类并在子类里重新定义run()方法,要么使一个类实现Runnable 接口并书写其中run() 方法的方法体。( )

14 . Java 的源代码中定义几个类,编译结果就生成几个以.class 为后缀的字节码文件() 15. Java Applet 是由独立的解释器程序来运行的( )

三、 填空题(共18个空,每空1分)

1. 开发与运行Java 程序需要经过的三个主要步骤为 ﹍﹍﹍﹍﹍﹍﹍、﹍﹍﹍﹍﹍﹍和﹍﹍﹍﹍﹍﹍。

2. 如果一个Java Applet 源程序文件只定义有一个类,该类的类名为MyApplet ,则类MyApplet 必须是﹍﹍﹍﹍﹍﹍类的子类并且存储该源程序文件的文件名为﹍﹍﹍﹍﹍﹍。

3. 一个Java Application 源程序文件名为MyJavaApplication.java ,如果使用Sun 公司的Java 开发工具JDK 编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该顺序执行如下两个命令: ﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍、 ﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍。

4. 设x=2 ,则表达式(++x)*3 的值是﹍﹍﹍﹍﹍﹍。 5.鼠标被移动时会发生﹍﹍﹍﹍﹍﹍事件。

6. 在Java 程序中,通过类的定义只能实现﹍﹍﹍﹍﹍﹍重继承,但通过接口的定义可以实现﹍﹍﹍﹍﹍﹍重继承关系。

7. 类的方法通常设为﹍﹍﹍﹍﹍﹍,而类的实例变量一般设为﹍﹍﹍﹍﹍﹍。

8. 每当浏览器的用户离开applet 所在的html页时要调用applet 的﹍﹍﹍﹍﹍﹍方法。 9. 关键字﹍﹍﹍﹍﹍﹍表明一个对象或变量在初始化后不能被修改。

10. 如果Alpha 类继承Beta 类,Alpha 类被称为﹍﹍﹍﹍﹍﹍类,Beta 类被称为﹍﹍﹍﹍﹍﹍类。 11. 要激活一个Java 小应用程序applet 需具有﹍﹍﹍﹍﹍﹍文件。 四、多项选择题(共6小题,每小题2分)

l. 下面哪几个函数是public void example( ){? }的重载函数?( ) A 、public void example( int m ) {? }

B 、public int example( ) {? } C 、public void example2( ){? }

D 、public int example( int m , float f){? } 2. 下哪些是Java 中有效的关键字?( )

A 、nativet B 、NULL C 、false D 、this 3. 已知如下类说明: public class Test { private float f=1.0f; int m=12 ;

static int n=l;

public static void main (String arg[ ]) { Test t=new Test(); //some code? } }

如下哪个使用是正确的?( )

A、 t.f B、this.n C、Test.m D、Test.n 4. 已知如下代码: switch(m) {

case 0: System.out.println(“Condition 0”); case 1: System.out.println(“Condition 1”); case 2: System.out.println(“Condition 2”);

case 3: System.out.println(“Condition 3”);break; default:System.out.println(“Other Condition”); }

当的值为什么时输出”Condition 2”?( ) A、 0 B、1 C、2 D、3

5. 下面哪个方法可用于定义新线程类?( )

A、实现Runnalble接口 B、在类中添加一个run()方法 C、创建一个Thread类的实例 D、继承Thread类 6. 下面哪个stream是节点流?( )

A、FileInputStream B、BufferedInputStream C、PushbackInputStream D、ByteArrayInputStream

五、写出程序功能或运行结果(共6小题,每小题3分)

1、阅读以下程序,输出结果为﹍﹍﹍﹍﹍﹍。

public class Q1{

public static void main(String args[]){ double d=1.23;

Dec dec=new Dec(); Dec.decrement(d);

System.out.println(d); }}

Class Dec{

Public void decrement(double decMe){

decMe=decMe-0.1;} }

2 、以下程序的输出结果为﹍﹍﹍﹍﹍﹍。

public class Short {

public static void main(String args[]) {

StringBuffer s = new StringBuffer(“Hello”);

if((s.length( )>5)&&( s.append( \ ;

System.out.println(\ } } 3 、以卜程序段的功能为﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍。

import java.io.*;

public class ArrayCount {

public static void main (String[ ] args ) {

int i , n=10 , sum=0 , count=0; int a[ ]=new int[10]; for ( i=O; i

BufferedReader br=new BufferedReader (

new InputStreamReader(System.in)); a[i]=Integer.pareInt(br.readLine());

}catch(IOException e){};

for (i=0;i

for(i=0;i

if(a[i]

System.out.println(count); } }

4 、阅读以下程序段: 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(); } }

输出结果为:﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍。

5、已有Bird类的定义如下:

Class Bird{

Protected static int referenceCount=0; public Bird(){referenceCount++;} protected void fly(){} static int getReCount() {return referenceCount;} }

有类Nightingale 的定义如下,请写出它的输出结果﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍﹍。

Public class Nightingale extends Bird{ Nightingale(){referenceCount++;}

public static void main(String args[]){

System.out.print(“Before:”+referenceCount); Nightingale florence=new Nightingale();

System.out.println(“After:”+referenceCount); florence.fly(); } }

6、以下程序段的输出结果为 class Cruncher {

void crunch ( inti ) {

System.out.println (\ }

Void crunch (String s ) {

system.out.println ( \}

public static void main (String args[ ]){ Cruncher crun=new Cruncher( ); char ch=’p’ ;

crun.crunch(ch); } }

六、编程题(12 分)

设计一个抽象类CompareObject ,里面有抽象方法compareTo用于比较两个对象。然后设计一个类Position 从CompareObject 派生,有x 和y 属性表示其坐标,该类实现compareTo 方法,用于比较两个对象距离原点(0,0 )的距离之差

《JAVA技术》课程作业(一)参考答案

一、单项选择(共25小题,每小题1分)

1-5 BCCAC 6-10 BDBCB 11-15 ABCCB 16C 20 C 18 B 19 B 20 C 21 C 22 B 23 C 24 C 25 C

二、判断题(共15小题,每小题1分)

1× 2∨ 3∨ 4× 5∨ 6× 7∨ 8× 9∨ 10× 11× 12× 13∨1 4∨ 15× 三、填空题(共18个空,每空1分)

1.编写源文件、将源文件编译成字节码文件、运行程序 2. applet、MyApplet.java

3.javac MyJavaApplication.java Java MyJavaApplication 4. 9

5.mouseDrag()

6.单 多 7.destroy() 9.final 10.子、父 11.HTML

四、多项选择题(共6小题,每小题2分) 1.AD

3.AD 4.ABC

五、写出程序功能或运行结果(共6小题,每小题3分) 1. 1.23

2. value is Hello

3. 从键盘读入10个整数存入整型数组a中,然后统计并输出小于元素平均值的元素个数。

4. parent child child

5. Before:0 After:2 6. int version 六、编程题(12 分)

abstract class Compareobject

{ abstract double compareTo(position f); }

public class position extends Compareobject { int x,y;

position(int x1,int y1) {x=x1; y=y1; }

double compareTo(position f)

{return Math.sqrt(this.x*this.x+this.y*this.y)- math.sqrt(f.x*f.x+f.y*f.y);}

本文来源:https://www.bwwdw.com/article/8nk.html

Top