国家开放大学《面向对象程序设计(本)》形考任务1-4参考答案.docx

上传人:国**** 文档编号:12221238 上传时间:2023-06-04 格式:DOCX 页数:20 大小:31.71KB
下载 相关 举报
国家开放大学《面向对象程序设计(本)》形考任务1-4参考答案.docx_第1页
第1页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

国家开放大学《面向对象程序设计(本)》形考任务1-4参考答案.docx

《国家开放大学《面向对象程序设计(本)》形考任务1-4参考答案.docx》由会员分享,可在线阅读,更多相关《国家开放大学《面向对象程序设计(本)》形考任务1-4参考答案.docx(20页珍藏版)》请在冰点文库上搜索。

国家开放大学《面向对象程序设计(本)》形考任务1-4参考答案.docx

国家开放大学《面向对象程序设计(本)》形考任务1-4参考答案

形考任务1

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

1.Java是一门()语言。

a.汇编

b.面向对象的高级

c.面向过程的高级

d.机器

2.机器语言中的指令编码为()编码。

a.符号

b.数字

c.十进制

d.二进制

3.更接近人类自然语言的计算机语言是()语言。

a.高级

b.机器

c.数字

d.汇编

4.对象是构成现实世界的一个独立单位,它具有自己的静态特征和()特征。

a.重量

b.颜色

c.状态

d.动态

5.类是对具有共同属性和行为的对象的抽象描述,每个对象称为该类的一个()。

a.成分

b.元素

c.产品

d.实例

6.Java语言的主要特点不包括()。

a.可移植性

b.处理文件

c.面向对象

d.自动垃圾回收

7.Java语言的主要特点不包括()。

a.解释执行

b.处理字符串

c.多线程

d.安全性

8.具有相同属性和服务的一组对象的模板称为()。

a.代码

b.概念

c.类

d.程序

9.把对象的属性和服务组合成一个独立的整体,尽可能隐蔽其内部的细节,这称为对象的()。

a.继承性

b.封装性

c.开放性

d.多态性

10.使用JDK编译Java程序时使用的命令是()。

a.javadoc

b.javac

c.appletviewer

d.java

11.组成Java程序的最小单位是()。

a.方法

b.常量

c.变量

d.类

12.在Java程序中包含主方法的类被称为主类,主方法名为()。

a.void

b.main

c.Main

d.args

13.在Java程序中包含主方法的类被称为主类,主方法的访问控制修饰符为()。

a.private

b.static

c.public

d.protected

14.在Java程序中包含主方法的类被称为主类,主方法的存储控制属性应定义为()。

a.static

b.short

c.final

d.abstract

15.Java语言中的基本数据类型有9种,其中属于数值型的数据类型有()种。

a.6

b.8

c.5

d.7

16.Java语言中的switch语句属于()语句。

a.循环控制

b.分支处理

c.数据输入

d.数据输出

17.先执行循环体,后进行循环条件判断的语句是()。

a.do…while

b.while

c.if

d.for

18.当循环执行的次数已知时,最后使用()语句。

a.for

b.switch

c.do…while

d.while

19.在类的定义中,若需要把一个标识符定义为常量,则使用的修饰符为()。

a.class

b.final

c.static

d.const

20.在类的定义中,若需要把一个属性或方法定义为类成员,而不是实例成员,则使用的修饰符为()。

a.static

b.const

c.final

d.public

二、简答题,选择下列每个主函数的运行后的输出结果。

(每题1分,共5分)

21.publicstaticvoidmain(String[]args){

intx,y=0;

for(x=1;x<5;x++)y+=x*x;

System.out.println("y="+y);

}

a.y=30

b.y=20

22.publicstaticvoidmain(String[]args){

intx=1,y=1;

while(x++<5)y+=x*x;

System.out.println("y="+y);

}

a.y=55

b.y=30

23.publicstaticvoidmain(String[]args){

intx,y=0;

for(x=1;x<10;x++)

if(x%2==0)y+=x*x;

System.out.println("y="+y);

}

a.y=20

b.y=120

24.publicstaticvoidmain(String[]args){

intc0=0,c1=0,c2=0;

for(intx=1;x<=20;x++){

switch(x%3){

case0:

c0++;break;

case1:

c1++;break;

case2:

c2++;break;

}

}

System.out.println("c0,c1,c2="+c0+","+c1+","+c2);

}

a.c0,c1,c2=6,7,7

b.c0,c1,c2=7,6,6

25.publicstaticvoidmain(String[]args){

inti=1,s=0;

while(true){

if(i%2==0)s+=i;

if(i++>=10)break;

}

System.out.println("s="+s);

}

a.s=120

b.s=30

形考任务2

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

1.一个新类可以从现有的类中派生,这个过程称为类继承。

(√)

2.根据已有类继承定义出的新类称为已有类的派生类(子类),已有类称为超类(父类)。

(√)

3.Java不支持类的多重继承,只支持类的单继承。

(√)

4.如果在派生类的构造方法的定义中没有明确调用父类的构造方法,则系统在执行派生类的构造方法时会自动调用父类的缺省(默认)构造方法。

(√)

5.在一个派生类中,可以定义与上层父类中的成员同名的变量。

(√)

6.一个父类的对象可以直接赋值给下层子类的对象。

(×)

7.任何一个派生类的引用变量(或对象)都可以被当成一个父类的引用变量(或对象)。

(√)

8.派生类可以直接访问从父类中继承下来的所有成员变量及方法。

(×)

9.在Java语言中,既可以根据一个类创建对象,也可以根据一个接口创建对象。

(×)

10.Java中的动态多态性实现手段是覆盖基类中的同名成员函数,其调用规则是依据对象在实例化时而非定义时的类型调用对应类中的同名成员函数。

(√)

11.抽象类要包含一些抽象方法,这种抽象方法只有方法的声明,而没有方法的实现。

(√)

12.在一个抽象类中,也可以包含成员变量和构造方法。

(√)

13.接口中的所有方法都是抽象的,每个方法都只有方法声明,而没有方法体。

(√)

14.在Java语言中,既不能利用抽象类生成对象,也不能利用接口生成对象。

(√)

15.接口中的所有成员方法都默认具有public和abstract修饰。

(√)

16.一个类可以实现一个或多个接口,所使用的子句关键字为implements。

(√)

17.在Java语言中,一个类不能被定义在另一个类之中,类与类之间没有包含关系。

(×)

18.在Java语言中,使用包提供了包一级的封装及存取权限。

(√)

19.一个包不仅可以包含若干个类字节码文件,还可以包含若干个包。

(√)

20.在Java语言中,声明包语句的关键字为package,引入包语句的关键字为import。

(√)

二、简答题,选择下列每个主函数运行后的输出结果。

(每题1分,共5分)

21.publicclassXXK2{

privateinta,b;

publicXXK2(intaa,intbb){a=aa;b=bb;}

publicintf1(intx){

if(x>10)returna+b+3*x;

elsereturna*b*x;

}

publicstaticvoidmain(String[]args){

XXK2x=newXXK2(3,4);

inty=x.f1(8);

System.out.println("y="+y);

}

}

a.y=96

b.y=34

22.publicclassXXK4{

publicstaticvoidmain(String[]args){

int[]a={2,5,8,10,15,20};

ints=0;

for(inti=0;i

System.out.println("s="+s);

}

}

a.s=43

b.s=60

23.publicclassXXK4{

publicstaticvoidmain(String[]args){

String[]a={"xxk","weirong","xucong","xuxiaohua","baojuan"};

intm=0;

for(inti=0;i

intn=a[i].length();

if(n>m)m=n;

}

System.out.println("m="+m);

}

}

a.m=9

b.m=10

24.abstractclassShape{

inta,b;

publicShape(intaa,intbb){a=aa;b=bb;}

abstractpublicdoublearea();

}

classRectangleextendsShape{

publicRectangle(intaa,intbb){super(aa,bb);}

publicdoublearea(){returna*b;}

}

classTriangleextendsShape{

publicTriangle(intaa,intbb){super(aa,bb);}

publicdoublearea(){returna*b/2;}

}

publicclassXXK3{

publicstaticvoidmain(String[]args){

Shapex,y;

x=newRectangle(10,20);

y=newTriangle(10,15);

System.out.println(x.area()+","+y.area());

}

}

a.200.0,75.0

b.200.1,75.1

25.interfaceShape{

doublearea();

doublegirth();

}

classRectangleimplementsShape{

inta,b;

publicRectangle(intaa,intbb){a=aa;b=bb;}

publicdoublearea(){returna*b;}

publicdoublegirth(){return2*(a+b);}

}

publicclassXXK3{

publicstaticvoidmain(String[]args){

Shapex;

x=newRectangle(5,8);

System.out.println(x.area()+","+x.girth());

}

}

a.50.0,36.0

b.40.0,26.0

形考任务3

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

1.数组的大小自创建以后就固定了。

如果需要在序列中存储不同类型的数据,或者需要动态改变其大小,就需要用集合类型,如Vector类。

(√)

2.所有集合类都位于java.util包下。

(√)

3.集合框架是为表示和操作集合而规定的一种统一的标准体系结构,包含三大块内容:

接口、实现和算法。

(√)

4.Set接口继承Collection接口,“无序不可重复”,即Set是无序集合,集合中的元素不可以重复。

List接口也继承Collection接口,“有序可重复”,允许重复,即List是有序集合,集合中的元素可以重复。

(√)

5.Map接口是键-值对象,即Map中保存Key-value对形式的元素,访问时只能根据每项元素的key来访问其value。

key不能重复,value可以重复。

(√)

6.数组的长度不能够被改变,而向量类(Vector)对象的长度可以被改变。

(√)

7.向量类Vector中的add(x)方法能够把x元素加入到当前对象的末尾。

(√)

8.向量类Vector中的size()方法能够返回向量中当前保存的元素的个数。

(√)

9.向量类Vector中的get(i)方法不能够返回向量中下标为i的元素值。

(×)

10.向量类Vector中的set(i,x)方法不能够把向量中下标为i的元素值修改为x的值。

(×)

二、单项选择题(每题1分,共10分)

11.下列()接口不是继承于Collection接口。

a.SortedSet

b.List

c.Set

d.Map

12.下列能表示栈(stack)s1长度的是()。

a.s1.size

b.s1.length

c.s1.size()

d.s1.length()

13.有关Set说法错误的是()。

a.Set是一个不能包含重复元素的集合

b.Set继承于Collection接口

c.Set接口是对数学的“集合”进行抽象建模

d.Set里的元素排列是有序的,因此可以使用数字下标访问

14.有关List说法错误的是()

a.可以通过它的索引来访问任何元素,List更像长度动态变换的数组

b.List继承于Collection

c.List是一个有序集合,可以包含重复元素

d.List的元素是无序的

15.有关Map说法错误的是()。

a.Map是一个将key映射到value的对象

b.每个key最多只能映射一个value,也就是说value可以相同,但key不能相同

c.Map继承于Collection

d.一个Map不能包含重复的key

16.下列哪个类不是异常类的父类?

()。

a.Exception

b.Throwable

c.Object

d.Error

17.下面的异常()不属于非检查型异常。

a.IO异常

b.空值操作

c.数组越界

d.除零

18.下面的关键字()与异常处理无关。

a.throw

b.void

c.throws

d.try

19.在Java语言中,捕获和处理异常的语句块为()。

a.try…catch

b.do…while

c.if…else

d.switch…case

20.下面的异常()为数组下标越界异常。

a.NullPointerException

b.FileNotFoundException

c.ArrayIndexOutOfBoundsException

d.ArithmeticException

三、简答题,选择下列每个主函数运行后的输出结果。

(每题1分,共5分)

21.PublicclassTest{

Publicstaticvoidmain(String[]args){

VectorteamList=newVector();

teamList.add("Z");

teamList.add("L");

teamList.add("W");

teamList.remove(0);

teamList.remove(0);

System.out.println(teamList.size()+","+teamList.get(0));

}

}

a.2,W

b.1,W

22.publicclassXXK4{

publicstaticvoidmain(String[]args){

int[][]a={{2,5,8},{3,6,9},{4,5,6}};

int[]b=newint[3];

inti,j;

for(i=0;i

for(j=0;j

b[i]+=a[i][j];

for(i=0;i

System.out.print(b[i]+"");

}

}

a.161816

b.151815

23.classABC{

inta,b;

publicABC(inta,intb){this.a=a;this.b=b;}

publicintcompareTo(ABCx){returna*b-x.a*x.b;}

}

publicclassXXK5{

publicstaticvoidmain(String[]args){

int[][]d={{3,8},{4,6},{5,6},{2,9},{6,7},{5,8}};

ABC[]ar=newABC[d.length];

inti,k=0;

for(i=0;i

ar[i]=newABC(d[i][0],d[i][1]);

for(i=1;i

if(ar[i].compareTo(ar[k])>0)k=i;

System.out.println("k="+k);

}

}

a.k=10

b.k=4

24.classABC{

Stringname;

doubleprice;

publicABC(Stringna,doublepr){name=na;price=pr;}

publicintcompareTo(ABCx){

if(pareTo(x.name)>0)return1;

if(pareTo(x.name)<0)return-1;

elsereturn0;

}

}

publicclassXXK5{

publicstaticvoidmain(String[]args){

String[]s={"apple","pear","tangerme","banana","grape"};

double[]d={3.8,2.5,3.2,4.3,5.2};

ABC[]ar=newABC[s.length];

inti,k=0;

for(i=0;i

ar[i]=newABC(s[i],d[i]);

for(i=1;i

if(ar[i].compareTo(ar[k])>0)k=i;

System.out.println(ar[k].name+""+ar[k].price);

}

}

a.tangerme4.8

b.tangerme3.2

25.publicclassStackTest{

publicstaticvoidmain(String[]args){

Stackst=newStack();

st.push(newInteger(11));

st.push(newInteger(22));

st.push(newInteger(33));

System.out.println("sizeis->"+st.size());

System.out.println("Topis->"+st.peek());

st.pop();

System.out.println("newTopis->"+st.peek());

}

}

a.sizeis->4Topis->33newTopis->22

b.sizeis->3Topis->33newTopis->22

形考任务4

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

1.下面()既可以作为流的数据源,又可以作为流的目的地。

a.磁盘文件

b.显示器

c.键盘

d.扫描仪

2.进行文件输入输出操作时,最常用的系统包是()。

a.java.lang

b.java.util

c.java.awt

d.java.io

3.Java中有3个标准输入/输出流,下面的()不包含在内。

a.System.out

b.System.err

c.System.cur

d.System.in

4.在读字符文件Employee.dat时,使用该文件作为参数的类是()。

a.DataInputStream

b.DataOutputStream

c.BufferedReader

d.FileInputStream

5.下列不是InputStream子类的是()。

a.ObjectInputStream

b.FileOutputStream

c.ZipInputStream

d.FileInputStream

6.下列哪个类不是异常类的父类?

()。

a.Error

b.Throwable

c.Object

d.Exception

7.下面的关键字()与异常处理无关。

a.try

b.void

c.throw

d.throws

8.下面的异常()为数组下标越界异常。

a.NullPointerException

b.ArrayIndexOutOfBoundsException

c.FileNotFoundException

d.ArithmeticException

9.下面()既可以作为流的数据源,又可以作为流的目的地。

a.扫描仪

b.键盘

c.磁盘文件

d.显示器

10.Java中有3个标准输入/输出流,下面的()不包含在内。

a.System.cur

b.System.err

c.System.out

d.System.in

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

11.在Java中将信息的输入与输出过程抽象为输入/输出流。

输入是指数据流入程序,输出是指数据从程序流出。

(√)

12.向文本文件中写入字符数据,在任何时候都只需要用到文件写入器类(FileWriter),不需要用到缓冲写入器类(BufferedWriter)。

(×)

13.FileWriter和FileWriter类的构造函数的参数都需要一个文本文件名。

(√)

14.在对文件进行的输入/输出(I/O)方法的调用中,当遇到错误时通常会抛出一个IOException异常。

(√)

15.当一个方法进行文件访问操作可能生成一个IOException异常时,该方法必须在方法头声明抛出该异常,别无其他选择。

(×)

16.输入

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

当前位置:首页 > 职业教育 > 其它

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

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