Java复习题及答案

更新时间:2023-11-19 05:01:01 阅读量: 教育文库 文档下载

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

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

1、Java允许创建不规则数组,即Java多维数组中各行的列数可以不同。 ( 1 ) 2、接口和类一样也可以有继承关系,而且都只能支持单继承。 ( 0 ) 3、所有类至少有一个构造器,构造器用来初始化类的新对象,构造器与类同名,返回类型只能为void。 ( 0 ) 4、包是按照目录、子目录存放的,可以在程序中用package定义包,若没有package一行,则表示该文件中的类不属于任何一个包。 (0 ) 5、Java对事件的处理是采用委托方式进行的,即将需要进行事件处理的组件委托给指定的事件处理器进行处理。 ( 1 ) 6、在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在前面,子类放在后面。 ( 0 ) 7、在实例方法或构造器中,this用来引用当前对象,通过使用this可引用当前对象的任何成员。 ( 1 ) 8、我们可以方便地编写Java客户机/服务器程序,在客户机/服务器模式中,客户机一般通

过套接字(Socket)使用服务器所提供的服务,Socket由两部分组成:IP地址和端口号。 ( 1 )

9、Java的屏幕坐标是以像素为单位,容器的左下角被确定为坐标的起点。 ( 0 ) 10、Java程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。 ( 0 ) 11、当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行。 (1 ) 12、如果f是父类Flower的对象,而r是子类Rose的对象,则语句f=r是正确的。(1 ) 13、Java系统的标准输入对象是System.in,标准输出对象有两个,分别是System.out和System.err。 (1 ) 14、final类中的属性和方法都必须被final修饰符修饰。 ( 0) 15、子类可以定义与父类同名的方法,称为方法的覆盖,方法覆盖要求子类的方法与父类的方法名字和参数都相同,但返回值类型可以不同。 ( 0 )

二、单项选择题(每题2分,共30分)

1、若在某一个类定义中定义有如下的方法: final void aFinalFunction( );则该方法属于( c )。 A、本地方法 B、解态方法 C、最终方法 D、抽象方法

2、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的( b )。

A、 public static void main()

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

3、在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( c )。

共8页,第 1 页

A、隐藏 B、覆盖 C、重载 D、Java不支持此特性

4、在Java applet程序中,用户自定义的Applet子类常常覆盖父类的( c )方法来完成applet界面的初始化工作。

A、start( ) B、stop( ) C、init( ) D、paint( ) 5、以下程序段执行后将有( b )个字节被写入到文件afile.txt中。

try{ FileOutputStream fos=new FileOutputStream(“afile.txt”); DataOutputStream dos=new DataOutputStream(fos); dos.writeInt(3); dos.writeDouble(0.01); dos.close(); fos.close( ); } catch(IOException e) { }

A、16 B、12 C、8 D、2

6、以下代码段执行后的输出结果为( c )。

int x=-3; float y=10.0f; System.out.println(y%x);

A、不能成功编译 B、-1.0 C、1.0 D、-1

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

1. class A{

2. protected String toString(){ 3. return super.toString();} 4. }

A、行2出错,不能成功编译 B、编译通过但运行时出错 C、编译通过运行无异常

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

8、假设Foo类有如下定义,设f是Foo类的一个实例,下列语句调用哪个是错误的?( public class Foo { int i; static String s; void imethod() { } static void smethod() { } }

A、Foo.imethod(); B、f.imethod(); C、System.out.println(f.i);

D、Foo.smethod()

9、分析下面的程序代码,以下哪个说法是正确的。( )

public class Test extends A

{ public static void main(String[] args) { Test t=new Test(); t.print(); } }

class A { String s;

A(String s) { this.s=s; } public void print() { System.out.println(s); }

}

A、因为Test没有构造方法Test(),所以这段程序不能编译。 B、如果删除A类中的构造方法,这个程序可以编译。

共8页,第 2 页

C、这段程序可以通过编译,但由于方法名冲突,引起一个运行时错误。 D、编译成功,运行情况良好。 10、类Test1定义如下:

1.public class Test1{ 2. public float aMethod(float a, float b){ } 3. 4.}

将以下哪种方法插入行3是不合法的。( )

A、public float aMethod(float a, float b,float c){ } B、public float aMethod(float c,float d){ } C、public int aMethod(int a, int b){ } D、private float aMethod(int a,int b,int c){ }

11、编译运行以下程序后,关于输出结果的说明正确的是 ( )

public class Conditional{ public static void main(String args[ ]){ int x=1; System.out.println(“value is “+ ((x<1)? 1.0 : 0)) ;

} }

A、输出结果为:value is 1.0 C、输出结果为:value is 0.0 12、以下说法哪项是正确的( )

B、输出结果为:value is 0 D、编译错误

1.class MyListener

2. extends MouseAdapter implements MouseListener{ 3. public void mouseEntered(MouseEvent mev) 4. { System.out.println(\ entered.\ } 5.}

A、以上代码可通过编译

B、不能通过编译,因为没有实现MouseListener接口中的所有方法 C、不能通过编译,因为类头定义不能分行

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

13、编译并运行以下程序(命令:java TestClass 0),关于运行结果的描述以下哪个选项是正确的( )

class TestClass{ public static void main(String [ ] args){ long i=0; try{ i=Integer.parseInt(args[0]); }catch(Exception e){ } switch(i) {case 0: System.out.println(\ case 1: System.out.println(\ default : System.out.println(\ } }

}

A、编译出错 B、打印出“0” C、打印出“1” D、打印出“default”

共8页,第 3 页

14、一个线程的run方法包含以下语句,假定线程没有被打断,以下哪项是正确的( )

1.try{

2. sleep(100);

3. }catch(InterruptedException e){ }

A、不能通过编译,因为在run方法中可能不会捕捉到异常。 B、在第2行,线程将暂停运行,正好在100毫秒后继续运行。 C、在第2行,线程将暂停运行,最多在100毫秒内将继续运行。 D、在第2行,线程将暂停运行,将在100毫秒后的某一时刻继续运行。 15、以下哪个接口的定义是正确的?( )

A、 interface A

{ void print() { } ;} B、 abstract interface A

{ void print() ;}

C、 abstract interface A extends I1, I2 //I1、I2为已定义的接口

{ abstract void print(){ };} D、 interface A

{ void print();}

三、程序阅读题(1~8题每题4分,第9题占8分,共40分)

1、若文件test.dat不存在,则试图编译并运行以下程序时会发生什么情况?

import java.io.*;

class TestIO { public static void main(String[] args) { try{ RandomAccessFile raf=new RandomAccessFile(\ int i=raf.readInt(); } catch(IOException e){System.out.println(\ } } }

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

public class EqualsMethod { public static void main(String[] args) { Integer n1 = new Integer(12); Integer n2 = new Integer(12); System.out.print(n1= =n2); System.out.print(“,”); System.out.println(n1! =n2); } }

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

class LabelBreak{ public static void main(String[] args) { int x=20; Label1: { System.out.print(“one,”); if ( x>10) break Label1; System.out.print(“two,”); } System.out.println(“three”); } }

共8页,第 4 页

4、阅读以下程序:

import java.io.* ;

public class Reverse

{ public static void main(String args[ ]) { int i , n =5 ;

int a[ ] = new int[5]; for ( i = 0 ; i < n ; i++ ) try {

BufferedReader br = new BufferedReader( new InputStreamReader(System.in)); a[i] = Integer.parseInt(br.readLine( )); } catch ( IOException e ) { } ; for ( i = n-1 ; i >= 0 ; i -- )

System.out.print(a[i]+\ \ System.out.println( ); } }

若输入: 1

2 7 4 5

则以上程序段的输出结果为 。 5、写出以下程序的功能。

import java.io.*; class FileApp{ public static void main(String[ ] args) throws IOException{ int b; FileInputStream fileIn=new FileInputStream(“newfile.java”); while((b=fileIn.read())!=-1){ System.out.print((char)b); } } }

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

class Test{ static int num; int c; public Test( ){ num++; } public static void main(String[ ] args){ System.out.print(x.num);

Test x=new Test();

System.out.print(x.num); Test x=new Test(); System.out.println(x.num); } }

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

class Mug {

Mug(int marker) { System.out.println(\ } void f(int marker) { System.out.println(\} }

public class Mugs {

共8页,第 5 页

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

Top