面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx

上传人:b****8 文档编号:12398495 上传时间:2023-06-05 格式:DOCX 页数:23 大小:24.88KB
下载 相关 举报
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第1页
第1页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第2页
第2页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第3页
第3页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第4页
第4页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第5页
第5页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第6页
第6页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第7页
第7页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第8页
第8页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第9页
第9页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第10页
第10页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第11页
第11页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第12页
第12页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第13页
第13页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第14页
第14页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第15页
第15页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第16页
第16页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第17页
第17页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第18页
第18页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第19页
第19页 / 共23页
面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx

《面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx(23页珍藏版)》请在冰点文库上搜索。

面向对象程序设计JAVA语言程序设计期末考试试题及部分答案.docx

面向对象程序设计JAVA语言程序设计期末考试试题及部分答案

一、单选题

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

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

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

A.classx{....}B.staticclassximplementsy1,y2{....}

C.publicclassxextendsApplet{....}D.classxextendsy{....}

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

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

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

i++

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

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

++i

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

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

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

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

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

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

A.多重的B.单重的C.线程的D.不能继承

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

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

switch(j-i){

case8:

k++;

case9:

k+=2;

case10:

k+=3;

default:

k/=j;

}

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

7.设有定义floatx=,y=,z=;则以下的表达式中,值为true的是C

A.x>y||x>zB.z>(y+x)C.x!

=yD.x

(x

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

A.privateB.staticC.abstractD.protected

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

A.DialogB.FrameC.ListD.Panel

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

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

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

C.使用throw语句抛出异常

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

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

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

16.主线程属于(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,其数据类型是布尔型。

4.Java语言中,多态性主要表现在两个方面:

方法重载和成员覆盖。

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

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

多重继承关系。

7.在Java中字符串包括字符串常量和字符串变量,分别由类String和类StringBuffer来创建对象。

8.Java源程序文件编译后产生的文件称为·class文件,其扩展名为·java。

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

10.在Java语言中,系统规定:

表示当前类的构造方法用this,表示直接父类的构造方法用super。

17.Java语言规定标识符是由字母、下划线、数字和美元符号组成的字符序列,长度不限;又规定第一个字符不能是数字,并区分字母的大小写。

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

19.Java中变量有三要素:

类型、变量名和变量值。

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

21.集合框架提供的Map接口的实现类中,在Map中插入、删除和定位元素,使用HasMap是最好的选择;需要按顺序遍历键,需选择ThereMap。

22.Outputstream类和Inputstream类是所有字节流输入输出类的父类。

23.导入包中的所类的命令是import。

24.构造方法是一种特殊的成员方法,构造方法名与类相同,并且此方法无有返回值。

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

事件对象和事件监听者。

三、判断题

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.组成JavaApplication的若干类中,有且仅有一个主类,只有主类中含有主方法main。

()

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

()

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

()

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

()

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

()

类有两个子类:

Error类和Exception类。

前者由系统保留,后者供应用程序使用。

()

7.运行Applet程序是使用AppletViewer命令运行嵌入了字节码文件的html文件,从而获得运行结果。

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

()

语言的基本数据类型有4种:

整型、浮点型、字符型和布尔型。

()

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

()

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

()

语言采用16位颜色标准。

Java的调色板保证128色。

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

()

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

()

语言是一种强类型语言,数据类型转换有两种:

隐含转换和强制转换。

()

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

()

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

()

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

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

()

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

()

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

1.

classB{

intb;

B(intx){

b=x;

"b="+b);

}

}

classAextendsB{

inta;

A(intx,inty){

super(x);

a=y;

"b="+b+",a="+a);

}

}

publicclassTest{

publicstaticvoidmain(String[]args){

Aobj=newA(13,23);

}

}

答案

b=13

b=13,a=23

2.

publicclassTest1{

publicstaticvoidmain(String[]agrs){

ABs=newAB("Hello!

","IloveJAVA.");

}

}

classAB{

Strings1;

Strings2;

AB(Stringstr1,Stringstr2){

s1=str1;

s2=str2;

}

publicStringtoString(){

returns1+s2;

}

}

答案Hello!

IloveJAVA.

classTest{

publicstaticvoidmain(String[]args){

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

num1[0][0]=3;

num1[0][1]=9;

num1[0][2]=60;

num1[1][0]=78;

num1[1][1]=79;

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

for(intj=0;j

+"\t");

}

}

}

答案

3960

78790

4.publicclassTest{

publicstaticvoidmain(String[]agrs){

inti,s=0;

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

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

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

s+=a[i];

"s="+s);

}

}

}

答案

s=30

s=90

s=180

5.publicclassTest3{

publicstaticvoidmain(String[]agrs){

Aa=newA

(2);Ab=newA(3);

}

}

classA{

privateintprivateVar;

publicA(int_privateVar){privateVar=_privateVar;}

booleanisEqualTo(AanotherA){

if==returntrue;

elsereturnfalse;

}

}

答案

false

6.publicclassTest{

publicstaticvoidmain(String[]args){

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

num1[0][0]=3;num1[0][1]=9;num1[0][2]=45;

num1[1][0]=78;num1[1][1]=79;

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

for(intj=0;j

+"\t");

}

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

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

for(intj=0;j

+"\t");

}

}

}

答案

3945

78790

123

78

9

7.publicclassTest2{

publicstaticvoidmain(String[]agrs){

inti,s=0;

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

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

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

s+=a[i];

"s="+s);

}

}

}

答案

s=3

s=9

s=18

8.classB{

intb;

B(intx){

b=x;

"b="+b);

}

}

classAextendsB{

inta;

A(intx,inty){

super(x);

a=y;

"b="+b+",a="+a);

}

}

publicclassTest{

publicstaticvoidmain(String[]args){

Aobj=newA(5,10);

}

}

答案

b=5

b=5,a=10

9.publicclassTest4{

publicstaticvoidmain(String[]agrs){

try{

method();

}catch(Exceptione){

"A");

}finally{

"B");

}

}

staticvoidmethod(){

try{

wrench();

"C");

}catch(ArithmeticExceptione){

"D");

}finally{

"E");

}

"F");

}

staticvoidwrench(){

thrownewNullPointerException();

}

}

答案

E

A

B

五、阅读程序,回答问题

1.

1:

publicclassOutput1{

2:

publicstaticvoidmain(Stringarge[]){

3:

inti=0;

4:

for(charch=97;ch<113;ch++,i++){

5:

if(i%8==0)

6:

"");

7:

"\t"+ch);

8:

}

9:

}

10:

}

(1)程序第5、6行的if语句的功能是什么

(2)程序输出的结果有几行

2.

1:

importpublicclassSortArray{

3:

publicstaticvoidmain(Stringargs[]){

4:

String[]str={"size","abs","length","class"};

5:

(str);

6:

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

7:

"");

8:

}

9:

}

(1)写出程序运行后的结果。

(2)在第4行和5行之间,进行str[0].length()方法调用的返回结果是多少

3.

abstractclassSuperAbstract{

voida(){…}

abstractvoidb();

abstractintc(inti);

}

interfaceAsSuper{

voidx();

}

abstractclassSubAbstractextendsSuperAbstractimplementsAsSuper{

publicvoidb(){…}

abstractStringf();

}

publicclassInheritAbstractextendsSubAbstract{

publicvoidx(){…}

publicintc(inti){…}

publicStringf(){…}

publicstaticvoidmain(Stringargs[]){

InheritAbstractinstance=newInheritAbstract();

();

();

();

(100);

}

}

根据以上这段程序,回答问题:

(1)哪几个类是抽象类,写出类名。

(2)哪几个类是非抽象类,写出类名。

(3)是否有接口,写出接口名。

4.定义类A和类B如下。

classA{

inta=1;

doubled=;

voidshow(){

"ClassA:

a="+a+"\td="+d);

}

}

classBextendsA{

floata=;

Stringd="Javaprogram.";

voidshow(){

();

"ClassB:

a="+a+"\td="+d);

}

}

若在应用程序的main方法中有以下语句:

Aa=newA();

();

则输出的结果如何ClassA:

a=1d=

5.写出此程序完成的功能。

publicclassSum{

publicstaticvoidmain(Stringargs[]){

doublesum=;

for(inti=1;i<=100;i++)

sum+=/(double)i;

"sum="+sum);

}

}

回答问题:

以上程序完成什么功能

运行结果是:

sum=

6.写出此程序完成的功能。

import.*;

publicclassArrayCount{

publicstaticvoidmain(String[]args){

inti,n=10,sum=0,count=0;

inta[]=newint[10];

for(i=0;i

try{

BufferedReaderbr=newBufferedReader(new

InputStreamReader);

a[i]=());

}catch(IOExceptione){

}

for(i=0;i

sum+=a[i];

sum/=n;

for(i=0;i

if(a[i]

++count;

}

}

7.

import.*;

publicclassTest4{

publicstaticvoidmain(Stringargs[]){

Setset=newTreeSet();

(newInteger(10));

(newInteger(5));

(newInteger(15));

(newInteger(5));

(newInteger(10));

"size="+());

Iteratorit=();

while()){

+"");

}

}

}

(1)程序运行后输出的结果如何

size=3

51015

(2)说明java中的集合(Set接口)和映射(Map接口)的主要区别。

8.

1:

importimport.*;

3:

importpublicclassTestKeyListenerextendsApplet{

5:

Colorclr;

6:

publicvoidinit(){

7:

addKeyListener(

8:

newKeyAdapter(){

9:

publicvoidkeyTyped(KeyEvente){

10:

if()=='r'||()=='R')

11:

clr=;

12:

elseif()=='g'||()=='G')

13:

clr=;

14:

elseif()=='b'||()=='B')

15:

clr=

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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