面向对象程序设计JAVA语言程序设计期末复习试题及部分答案_第1页
面向对象程序设计JAVA语言程序设计期末复习试题及部分答案_第2页
面向对象程序设计JAVA语言程序设计期末复习试题及部分答案_第3页
面向对象程序设计JAVA语言程序设计期末复习试题及部分答案_第4页
面向对象程序设计JAVA语言程序设计期末复习试题及部分答案_第5页
已阅读5页,还剩17页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一.单选题

在下列概念中,Java语言只保留了D

1.A.运算符重载B.结构和联合C.指针D.

方法重载

下列类定义中,不正确的是B

2.A.classx{B.staticclassximplements

yi,y2{.・・・}

C.publicclassxextendsApplet{…・}D.classxextendsy

{....}

下列语句序列执行后,k的值是B

intm=3,n=6,k=0;

while((m++)<(--n))++k;

i++

先把i的初值赋给表达式(i++),作为表达式(i++)的值,然后i

自增1作为i的值。

如i=l,则表达式(i++)的值等于1,而i的值变为2。

++i

i先自增1,再把自增后的值赋给表达式(++i)o

如i=l,则表达式(++i)的值等于2,i的值也为2,

3.A.0B.1C.2D.3

设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值

语句是A

4.A.a[0]=7;B.i=i+2C.i++--j;D.a(0)=

66;

5.Java语言的类间的继承关系是B

6.A.多重的B.单重的C.线程的D,不能

继承

下列语句序列执行后,k的值是C

inti=10,j=18,k=30;

switch(j-i){

case8:k++;

case9:k+=2;

case10:k+=3;

default:k/=j;

}

7.A.31B.3C.2D.33

设有定义floatx=3.5f,y=4.6f,z=5.7f;则以下的表达式中,值为

true的是C

8.A.x>y||x>zB.z>(y+x)C.x!=yD.x<y

&!(x<z)

下列修饰符中,定义类头时能使用的修饰符是C

9.A.privateB.staticC.abstractD.

protected

设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正

确的是B

10.A.x(intm){...}B.voidx(intm){...}

C.x(intm,intn){...}D.x(inth,intm,intn){...}

下列对封装性的描述中,错误的是D

A.封装体包含了属性和行为

B.封装使得抽象的数据类型提高了可重用性

C.被封装的某些信息在封装体外是不可见的

11.D.封装体中的属性和行为的访问权限是相同的

下列关于包的描述中,错误的是B

A.包是若干个类的集合B.包是一种特殊的类型

12.C.包是使用package语句创建的D.包有有名包和无名包两

下列关于Applet程序的描述中,错误的是C

A.Applet程序的主类必须是Applet类得子类

B.Applet不是完整的独立程序

C.Applet程序的主类中应有一个main()方法

13.D.Applet的字节码文件必须嵌套在一个HTML文件中

下列界面元素中,不是容器的是C

14.A.DialogB.FrameC.ListD.Panel

下列关于异常处理的描述中,错误的是D

A.程序运行时异常由Java虚拟机自动进行处理

B.使用try-catch-finally语句捕获异常

C.使用throw语句抛出异常

15.D.捕获到的异常只能在当前方法中处理,不能在其他方法中处理

16.以下方法不属于迭代器(Iterator)接口所定义的方法的是D

17.A.hasNext()B.next()C.remove()D.

nextElement()

18.主线程属于

(C)

A.守护线程B.Thread线程C.用户线程D.

Runnable线程

二、填空题

1.三目运算符的3个操作数中,第一个操作数的类型必须是逻辑型

的。

2.在Java的基本数据类型中,char型采用Unicode编码方案,每个

Unicode码占用2字节内存空间,这样,无论是中文字符还是英

文字符,都是占用2字节内存空间。

3.假设X=13,y=4,则表达式x%y!=0的值是true,其数据类型是

布尔型。

Java语言中,多态性主要表现在两个方面:方法重载和成员覆

盖O

定义类的关键字是class,定义接口的关键字是interface。

在Java语言中,通过类的定义只能实现单重继承,但通过接口的定

义可以实现

多重继承关系。

4.在Java中字符串包括字符串常量和字符串变量,分别由类String和

类StringBuffer来创建对象。

5.Java源程序文件编译后产生的文件称为文件,其扩展名

为・java。

6.在多线程程序设计中,若要启动一个线程需要调用的函数是starto

19.在Java语言中,系统规定:表示当前类的构造方法用this,表示

直接父类的构造方法用supero

20.Java语言规定标识符是由字母、下划线、数字和美元符号组

成的字符序列,长度不限;又规定第一个字符不能是数字,并区分字

母的大小写。

21.Java中实现多线程一般使用两种方法,一是Thread,二是

Runnable。

22.Java中变量有三要素:类型、变量名和变量值。

23.Java语言中,说明或声明数组时内存大小,创建数组时

内存大小。

24.集合框架提供的Map接口的实现类中,在Map中插入、删除和定位元

素,使用HasMap是最好的选择;需要按顺序遍历键,需选择

ThereMap。

25.Outputstream类和Inputstream类是所有字节流输入输出类的

父类。

26.导入my.package包中的所类的命令是import。

27.构造方法是一种特殊的成员方法,构造方法名与类相同,并且此

方法无有返回值。

图形用户界面的设计中有事件处理模型处理事件,在该模型中主要包括事

件源、

事件对象和事件监听者。

三、判断题

1.Java语言具有较好的安全性和可移植性与与平台无关等特性。T

2.Java语言的基本数据类型有4种:整型、浮点型、字符型和布尔型。

T

3.组成JavaApplication的若干类中,有且仅有一个主类,只有主类中

含有主方法main。T

4.数据由高类型转换到低类型时候,采用强制转换,数据精度要受到损

失。T

5.子类所继承父类的成员都可以在子类中访问。

6.静态方法只能处理静态变量。T

7.抽象方法是一种只有说明而无具体实现的方法。

8.Java语言规定在嵌套的程序块中不允许定义同名的成员变量。

9.Throwable类有两个子类:Error类和Exception类。前者由系统保

留,后者供应用程序使用。

10.运行Applet程序是使用Appletviewer命令运行嵌入了字节码文件的

html文件,从而获得运行结果。

11.成员方法的重载和覆盖是同一回事。

12.集合Set是通过键-值对的方式来存储对象的。

13.Java语言是一种强类型语言,数据类型转换有两种:隐含转换和强制

转换。

14.Java语言中,数组在静态和动态赋值时都判越界。

15.Frame容器是有边框的容器,它也是一种独立窗口,只能作为最外层

容器。

16.死锁的产生是因为多个线程间存在资源竞争。

1.组成JavaAppKcation的若干类中,有且仅有一个主类,只有主类中含

有主方法maino()

2.数据由高类型转换到低类型时候,采用强制转换,数据精度要受到损失。

()

3.成员方法的重载和覆盖是同一回事。()

4.抽象方法是一种只有说明而无具体实现的方法。

()

5.Java2的事件处理方法是采用委托事件处理模型。

()

6.Throwable类有两个子类:Error类和Exception类。前者由系统保留,

后者供应用程序使用。()

7.运行Applet程序是使用Appletviewer命令运行嵌入了字节码文件的

html文件,从而获得运行结果。

8.Java语言具有较好的安全性和可移植性与与平台无关等特性。

()

9.Java语言的基本数据类型有4种:整型、浮点型、字符型和布尔型。

()

10,子类所继承父类的成员都可以在子类中访问。

()

11.Java语言规定在嵌套的程序块中不允许定义同名的成员变量。

()

12Java语言采用16位颜色标准。Java的调色板保证128色。

13.静态方法只能处理静态变量。

()

14.画布(Canvas)是一种可容纳多个组件的容器。

()

15.Java语言是一种强类型语言,数据类型转换有两种:隐含转换和强制转

换。()

16Java语言中,数组在静态和动态赋值时都判越界。

()

17.Frame容器是有边框的容器,它也是一种独立窗口,只能作为最外层容

器。()

18.集合Set是通过键-值对的方式来存储对象的。

19.异常处理是在编译时进行的。

()

20.死锁的产生是因为多个线程间存在资源竞争。

()

1.四、阅读下列程序,请写出程序的输出结果

2.

classB{

intb;

B(intx){

b=x;

System.oatprintln(”b="+b);

}

}

classAextendsB{

inta;

A(intx,inty){

super(x);

a=y;

System.out.println("b="+b+a="+a);

)

publicclassTest{

publicstaticvoidmain(String[]args){

Aobj=newA(13,23);

)

}

答案

b=13

3.b=13,a=23

4.

publicclassTesti{

publicstaticvoidmain(String[]agrs){

ABs=newAB("Heno!n,nIloveJAVA.");

System.6>u^prmtln(s.toStringO);

}

}

classAB{

Stringsi;

Strings2;

AB(Stringstrl,Stringstr2){

si=strl;

s2=str2;

}

publicStringtoStringO{

returnsi+s2;

}

}

答案HeUolIloveJAVA.

3.publicclassTest{

publicstaticvoidmain(String[]args){

int[][]numl=newint[2][3];

numl[O][O]=3;

numl[O][l]=9;

numl[O]⑵=60;

numl[l][0]=78;

numl[l][l]=79;

for(inti=0;i<=1;i++){

for(intj=0;j<numl[i].length;j++)

System.outprint(num1[i][j]+H\tH);

System.printin();

}

}

}

答案

3960

78790

4.publicclassTest{

publicstaticvoidmain(String[]agrs){

inti,s=0;

inta[]={10,20,30,40,50,60,70,80,90);

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

if(a[i]%3==0){

s+=a[i];

System,outprintln(,'s=H+s);

)

)

}

答案

s=30

s=90

s=180

5.publicclassTest3{

publicstaticvoidmain(String[]agrs){

Aa=newA(2);Ab=newA(3);

System.outprintln(a.isEqualTo(b));

}

)

classA{

privateintprivateVar;

publicA(int_privateVar){privateVar=_privateVar;}

booleanisEqualTo(AanotherA){

if(this.privateVar==anotherA.privateVar)return

true;

elsereturnfalse;

)

)

答案

false

6.publicclassTest{

publicstaticvoidmain(String[]args){

int[][]numl=newint⑵⑶;

numl[O][O]=3;numl[O][l]=9;numl[O]⑵=

45;

numl[l][O]=78;numl[l][l]=79;

for(inti=0;i<=1;i++){

for(intj=0;j<numl[i].length;j++)

System.outprint(numl[i][j]+

System.outprintlnQ;

}

int[][]num2=new{{1,2,3},{7,8},{9}};

for(inti=0;i<num2.length;i++){

for(intj=0;j<num2[i].length;j++)

System.outprint(num2[i][j]+

System.。“tprintin();

}

}

)

答案

3945

78790

123

78

9

7.publicclassTest2{

publicstaticvoidmain(String[]agrs){

inti,s=0;

inta[]={l,2,3,4,5,6,7,8,9};

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

if(a[i]%3==0){

s+=a[i];

System.(?utprintln(ns=n+s);

}

}

)

答案

s=3

s=9

s=18

8.classB{

intb;

B(intx){

b=x;

System.outprintln(nb="+b);

}

}

classAextendsB{

inta;

A(intx,inty){

super(x);

a=y;

System.out.prmtln("b="+b+",a=n+a);

}

)

publicclassTest{

publicstaticvoidmain(String[]args){

Aobj=newA(5,10);

}

)

答案

b=5

b=5,a=10

9.publicclassTest4{

publicstaticvoidmain(String[]agrs){

try{

method^^

}catch(Exceptione){

System.out.prmtln(nAn);

}finally{

System.our.prmtln("B");

)

}

staticvoidmethod(){

try{

wrench^\

System.□u^.prmtln("C,');

}catch(ArithmeticExceptione){

System.o〃tprintln(”D”);

}finally{

System,ou力println(”E");

}

System,outprintlnC'FH);

}

staticvoidwrenchQ{

thrownewNullPointerExceptionO;

)

}

答案

E

A

B

五、程序设计题

设计一个Calculator类,并完成下列的各方法的程序设计并测试:

(1)定义add()方法,用来计算两数(a,b)之和。

(2)定义sub()方法,用来计算两数(a,b)之差。

(3)定义mul()方法,用来计算两数(a,b)之积。

(4)定义div。方法,用来计算a/b。

publicclasskk{

inta,b;

intaddO{

return(a+b);

)

intsubO{

return(a-b);

)

intmul(){

return(a*b);

)

intdivO{

if(b!=0)

return(a/b);

else

return0;

)

publicstaticvoidmain(String[]args){

kkrect=newkkO;

rect.a=10;

rect.b=6;

System.outprintln(,,add=n+rect.add());

System.outprintln(,,sub=n+rect.sub());

System,outprintln(,,mul=n+rect.mulO);

System.ou£println("div="+rect.div());

)

)

定义一个ArrayList集合对象,往其中添加随机产生的0-10之间的float

类型数据,共添加10个,并打印输出该集合对象中每个元素的值。

importjava.util.ArrayList;

importjava.util.Iterator;

publicclassTest{

publicstaticvoidmain(String[]args){

ArrayListlist=newArrayListO;

for(inti=0;i<10;i++)

list.add

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论