JAVA复习题.docx

上传人:b****5 文档编号:14901412 上传时间:2023-06-28 格式:DOCX 页数:26 大小:26.18KB
下载 相关 举报
JAVA复习题.docx_第1页
第1页 / 共26页
JAVA复习题.docx_第2页
第2页 / 共26页
JAVA复习题.docx_第3页
第3页 / 共26页
JAVA复习题.docx_第4页
第4页 / 共26页
JAVA复习题.docx_第5页
第5页 / 共26页
JAVA复习题.docx_第6页
第6页 / 共26页
JAVA复习题.docx_第7页
第7页 / 共26页
JAVA复习题.docx_第8页
第8页 / 共26页
JAVA复习题.docx_第9页
第9页 / 共26页
JAVA复习题.docx_第10页
第10页 / 共26页
JAVA复习题.docx_第11页
第11页 / 共26页
JAVA复习题.docx_第12页
第12页 / 共26页
JAVA复习题.docx_第13页
第13页 / 共26页
JAVA复习题.docx_第14页
第14页 / 共26页
JAVA复习题.docx_第15页
第15页 / 共26页
JAVA复习题.docx_第16页
第16页 / 共26页
JAVA复习题.docx_第17页
第17页 / 共26页
JAVA复习题.docx_第18页
第18页 / 共26页
JAVA复习题.docx_第19页
第19页 / 共26页
JAVA复习题.docx_第20页
第20页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

JAVA复习题.docx

《JAVA复习题.docx》由会员分享,可在线阅读,更多相关《JAVA复习题.docx(26页珍藏版)》请在冰点文库上搜索。

JAVA复习题.docx

JAVA复习题

 

第4-7章面向对象程序设计

一、选择题

1.        下列不属于面向对象编程的三个特征的是

A.    封装

B.    指针操作

C.    多态性

D.    继承

2.    在Java接口中,下列选项中有效的方法声明是(AB)。

(选择二项) 

A、public void aMethod(); 

B、void aMethod(); 

C、protected void aMethod(); 

D、private void aMethod();

3.        下列类的定义,错误的是

A.    publicclasstestextendsObject{

……

 }

B.    finalclassoperators{

……

}

C.    classPoint{

……

 }

D.    voidclassPoint{

……

 }

4.        关键字supper的作用是

A.    用来访问父类被隐藏的成员变量

B.    用来调用父类中被重载的方法

C.    用来调用父类的构造函数

D.    以上都是

5.        下面程序定义了一个类,关于该类说法正确的是

abstractclassabstractClass{

……

}

A.    该类能调用newabstractClass(),方法实例化为一个对象

B.    该类不能被继承

C.    该类的方法都不能被重载

D.    以上说法都不对

6.        关于对象的删除,下列说法正确的是

A.    必须由程序员完成对象的清除

B.    java把没有引用的对象作为垃圾收集起来并释放

C.    只有当程序中调用System.gc()方法时才能进行垃圾收集

D.    java中的对象都很小,一般不进行删除操作。

7.        下列说法正确的是

A. java中包的主要作用是实现跨平台功能

B.  package语句只能放在import语句后面

C. 包(package)由一组类(class)和接口(interface)组成

D. 可以用#include关键词来标明来自其它包中的类;

8.        关于构造方法,下列说法错误的是

A.   构造方法不可以进行方法重写

B.    构造方法用来初始化该类的一个新的对象

C.    构造方法具有和类名相同的名称

D.    构造方法不返回任何数据类型

9.     请将程序补充完整

1.__abstract_____classC

2.{

3.            abstractvoidcallme()

4.            voidmetoo

5.              {

6.                System.out.println(“类C的metoo()方法”);

7.              }

8.            }

9.            classD_extends______C

10.          {

11.             voidcallme()

12.              {

13.                 System.out.println(“重载C类的callme()方法”);

14.               }

15.          }

16.         publicclassAbstract

17.          {

18.               publicstaticvoidmain(Stringargs[])

19.          }

20.         Cc=___new_______D();

21.         c.callme();

22.         c.metoo();

23.          }

24.         }

10.以下关于抽象类和接口的说法错误的是( )

A、抽象类在Java语言中表示的是一种继承关系,一个类只能使用一次继承。

但是一个类却可以实现多个接口。

 B、在抽象类中可以没有抽象方法 

C、实现抽象类和接口的类必须实现其中的所有方法,除非它也是抽象类。

接口中的方法都不能被实现 

D、接口中定义的变量默认是public static final 型,且必须给其初值,所以实现类中不能重新定义,也不能改变其值。

 

E、接口中的方法都必须加上public关键字。

 

二、填空题

1.    把对象实例化可以生成多个对象,使用____new_____运算符为对象分配内存空间。

2.    java程序引入接口的概念,是为了弥补只允许类的__单继承______的缺憾。

3.    java语言以___类____为程序的基本单位,它是具有某些共同特性实体的集合,是一种抽象的概念。

4.    抽象方法只能存在于抽象类中。

抽象方法用关键字___abstract_____来修饰。

5.    java语言中__object_____是所有类的根.

6.    在java中有一种叫做_构造函数______特殊方法,在程序中用它来对类成员进行初始化.

7.    new是__创建____对象的操作符.

8.    继承主要强调子类在父类的基础上取”长”补”短”,而__多态性____主要强调的是类与类之间的传输

9.    我们在java程序中,把关键字___super_____加到方法名称的前面,来实现子类调用父类的方法

10. 定义一个类包括定义类头和定义__类体____两个部分

11. 在java程序里,同一类中重载的多个方法具有相同的方法名和_不同____的参数列表.重载的方法可以有不同的返回值类型

12. java是面向对象语言,对象是客观事物的__实体_____,对象与之是一一对应的,它是很具体的概念.

13. java语言通过接口支持___多___继承,使类继承具有更灵活的扩展性

14. 一个对象的生命周期包含三个阶段:

生成,__使用____和清除

15. java语言中,调用方法时,参数传递是__值____调用,而不是地址调用

16. 接口是一种只含有抽象方法或__常量____的一种特殊抽象类

17. 创建一个类就是创建一个新的数据类型,而类在java中属于___复合___数据类型。

18. abstract方法___不能_____(不能或能)与final并列修饰同一个类

19. 如果一个类中定义了几个名为method的方法,这些方法的参数都是整数,则这些方法的_参数个数_______必须是不同的,这种现象称为方法的重载。

第8章异常处理

一、选择题

1.java中用来抛出异常的关键字是

A.try

B.catch

C.throw

D.finally

2.关于异常,下列说法正确的是

A.异常是一种对象

B.一旦程序运行,异常将被创建

C.为了保证程序运行速度,要尽量避免异常控制

D.以上说法都不对

3.()类是所有异常类的父类。

A.Throwable

B.Error

C.Exception

D.AWTError

4.java语言中,下列哪一子句是异常处理的出口

A.try{…}子句

B.catch{…}子句

C.finally{…}子句

D.以上说法都不对

5.下列程序的执行,说法错误的是

classMultiCatch

 {

  publicstaticvoidmain(Stringargs[])

    {

      try

         {

           inta=args.length;

           intb=42/a;

           intc[]={1};

           c[42]=99;

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

         }

      catch(ArithmeticExceptione)

         {

            System.out.println(“除0异常:

”+e);

          }

      catch(ArrayIndexOutOfBoundsExceptione)

          {

            System.out.println(“数组超越边界异常:

”+e);

           }

          }

   }

A.程序将输出第15行的异常信息

B.程序第10行出错

C.程序将输出“b=42”

D.程序将输出第19行的异常信息

6.下列程序的执行,说法正确的是

classExMulti

{

 staticvoidprocedure()

 {

   try

    {

     intc[]={1};

     c[42]=99;

    }

   catch(ArrayIndexOutOfBoundsExceptione)

    {

      System.out.println(“数组超越界限异常:

”+e);

    }

  }

   publicstaticvoidmain(Stringargs[])

   {

     try

       {

         procedure();

         inta=args.length;

         intb=42/a;

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

        }

      catch(ArithmeticExceptione)

        {

          System.out.println(“除0异常:

”+e);

        }

      }

  }

A.程序只输出第12行的异常信息

B.程序只输出第26行的异常信息

C.程序将不输出异常信息

D.程序将输出第12行和第26行的异常信息

7.下面程序抛出了一个“异常”并捕捉它。

请在横线处填入适当内容完成程序。

classTrowsDemo

{

 staticvoidprocedure()throwsIllegalAccessExcepton

 {

   System.out.println(“insideprocedure”);

   throw_______IllegalAccessException(“demo”);

 }

 publicstaticvoidmain(Stringargs[])

  {

    try

     {

       procedure();

     }

     ___________

     {

       System.out.println(“捕获:

”+e);

     }

   }

 

二、填空题

1.catch子句都带一个参数,该参数是某个异常的类及其变量名,catch用该参数去与___出现异常____对象的类进行匹配。

2.java虚拟机能自动处理___运行(runtimeException)____异常。

3.变量属性是描述变量的作用域,按作用域分类,变量有局部变量、类变量、方法参数和_异常处理参数___(全局变量)___

4.同一段程序可能产生不止一种异常。

可以放置多个_catch___子句,其中每一种异常类型都将被检查,第一个与之匹配的就会被执行。

5.捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-_finally___语句捕获并处理。

6.java语言认为那些可预料和不可预料的出错称为___异常______

7.按异常处理不同可以分为运行异常、捕获异常、声明异常和_抛出异常____几种。

8.抛出异常的程序代码可以是_自定义的异常(java应用小程序)____或者是JDK中的某个类,还可以是JVN.

9.抛出异常、生成异常对象都可以通过__throws____语句实现。

10.捕获异常的统一出口通过__finally_____语句实现。

11.java语言的类库中提供了一个__Throwable______类,所有的异常都必须是它的实例或它子类的实例。

12.Throwable类有两个子类:

___Errow_________类和Exception类。

13.对程序而言,一般有编译错误和_____运行_______错误两类。

14.下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。

请在横线处填入适当的内容完成程序。

publicclassHelloWorld

{

 inti=0;

 Stringgreetings[]=

    {

      “Helloworld!

”,

       “No,Imeanit!

”,

       “HELLOWORLD!

!

    };

 while(i<4)

  {

try_____

}

System.out.println(greeting[i]);

}

____catch_____________(ArrayIndexOutOfBoundsExceptione)

{

System.out.println(“Re-settingIndexValue”);

i=-1;

finally

 {

  System.out.println(“Thisisalwaysprinted”);

 }

i++;

}

}

}

第10章输入输出

一、选择题

1.流的传递方式是(B)

  A.并行的

  B.串行的

  C.并行和串行

  D.以上都不对

2.下列不是java的输入输出流的是(A)

  A.文本流

  B.字节流

  C.字符流

  D.文件流

3.凡是从中央处理器流向外部设备的数据流称为(D)

  A.文件流

  B.字符流

  C.输入流

  D.输出流

4.获取一个不包含路径的文件名的方法为(A)

A.StringgetName()

  B.StringgetPath()

  C.StringgetAbslutePath()

  D.StringgetParent()

5.下列属于文件输入输出类的是(D)

A.和

  B.BufferInputStream和BufferOutputStream

  C.PipedInputStream和PipedOutputStream

  D.以上都是

6.下列不属于输入流的read(D)成员函数的是()

A.intread();

  B.intread(byteb[]);

  C.intread(byteb[],intoffset,intlen);

  D.intread(intline);

7.当处理的数据量很多,或向文件写入很多次小数据,一般使用(C)流

A.DataOutput

  B.

  C.BufferedOutput

  D.PipedOutput

8.当把一个程序、线程或代码段的输出连接到另一个程序、线程或代码短的输入时,应使用(D)流

A.DataOutput

  B.

  C.BufferedOutput

  D.PipedOutput

9.当要将一文本文件当作一个数据库访问,读完一个纪录后,跳到另一个纪录,它们在文件的不同地方时,一般使用(B)类访问。

A.

  B.RandomAccessFile

  C.PipedOutputStream

  D.BufferedOutputStream

10.java中,实现通过网络使用URL访问对象的功能的流是(A)

A.URL输入流

B.Sock输入流

  C.PipedInputStream输入流

  D.BufferedInputStream输入流

二、填空题

1.java的输入输出流包括___字节流____、字符流、文件流、对象流以及多线程之间通信的管道。

2.java中的非字符输出流都是__OutputStream___抽象类的子类。

3.java对I/O访问还提供了同步处理机制,保证某时刻只有一个线程访问一个I/O流,这就__过滤流_____

4.java中的字符输出流都是抽象类__Writer______的子类.

5.DataOutputStream数据流向文件里写数据的方法为___writer()_______.

6.RandomAccessFile所实现的接口是__DateInput_______和DataOutput接口.

7.文件类__是java.io中的一个重要的非流类,里面封装了对文件系统进行操作的功能.

8.文件操作中经常需要的是随机访问,java中的_RandomAccess类提供了随机访问文件的功能.

9.下列程序实现从控制台输入并读取输出字符串.请将程序补充完整

 importjava.io.*;

 publicclassCharInput

 {

    publicstaticvoidmain(Stringargs[])throwsjava.io.IOException

 }

    Strings;

    inputStreamReaderir;

    BufferedReaderin;

    ir=new_____InputStreamReader_______(System.io);

    in=new______BufferedReader______(ir);

    while((s=in.____readLine() ______)!

=null)

    {

      System.out.println(“Read;”+s);

    }

 }

 }

10.下列程序实现从当前目录的date.ser文件中读取文件内容并显示出来.请将程序补充完整.

 importjava.io.*;

 importjava.util.Date;

 publicclassUnSerializeDate

 {

UnSerializeDate()

 {

  Dated=null;

  try

  {

    f=new

        __  _______(“date.ser”);

    ObjectInputStreams=new

        ObjectInputStream(________);

    d=(Date)s.readObject();

    f.close();

   }

  catch(Exceptione)

  {

    e.printStackTrace();

   }

   System.out.println(“UnserializedDateobjectfromdate.set”);

    System.out.println(“Date:

”+d);

   }

   publicstaticvoidmain(Stringargs[])

   {

     newUnSerializeDate();

    }

    }

第11章多线程

一、选择题

1. 线程调用了sleep()方法后,该线程将进入(   C)状态。

A.可运行状态

B.运行状态

C.阻塞状态

D.终止状态

2.关于java线程,下面说法错误的是(C)

A.线程是以CPU为主体的行为

B.java利用线程使整个系统成为异步

C.创建线程的方法有两种:

实现Runnable接口和继承Thread类

D.新线程一旦被创建,它将自动开始运行

3. 在java中的线程模型包含()

A.     一个虚拟处理器

B.      CPU执行的代码

C.      代码操作的数据

D.     以上都是

4.在java语言中,临界区可以是一个语句块,或者是一个方法,并用(A)关键字标识。

A.     synchronized

B.     include

C.     import

D.     Thread

5.线程控制方法中,yield()的作用是(D)

A.     返回当前线程的引用

B.      使比其低的优先级线程执行

C.      强行终止线程

D.     只让给同优先级线程运行

6.线程同步中,对象的锁在()情况下持有线程返回

A.      当synchronized()语句块执行完后

B.      当在synchronized()语句块执行中出现例外(exception)时

C.      当持有锁的线程调用该对象的wait()方法时

D.      以上都是

7.在以下()情况下,线程就进入可运行状态C

A.      线程调用了sleep()方法时

B.      线程调用了join()方法时

C.      线程调用了yield()方法时

D.      以上都是

8.java用()机制实现了进程之间的异步执行B

A.     监视器

B.      虚拟机

C.      多个CPU

D.     异步调用

9.下列程序实现简单的线程调度,请回答以下问题:

ThreadmyThread=newMyThreadClass();

myThread.start();

try

{

  myThread.sleep(10000);

}

catch(InterruptedExceptione)

{

}

myThread.stop();

程序执行完第一行后,线程进入____A____状态;

程序执行完第二行后,线程进入____B____状态;

程序开始执行第五行时,线程进入____C____状态;

程序执行完第五行后,线程进入_____B___状态;

程序执行完第十行后,线程进入___D_____状态;

A.新建状态

B.可运行状态

C.阻塞状态

D.终止状态

10.Thread类的方法中,toString()方法的作用是()

A.      只返回线程的名称

B.      返回当前线程所属的线程组的名称

C.      返回当前线程对象

D.      返回线程的名称

二、填空题

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2