中国大学mooc《Java面向对象程序设计(江苏海洋大学) 》章节测试答案_第1页
中国大学mooc《Java面向对象程序设计(江苏海洋大学) 》章节测试答案_第2页
中国大学mooc《Java面向对象程序设计(江苏海洋大学) 》章节测试答案_第3页
中国大学mooc《Java面向对象程序设计(江苏海洋大学) 》章节测试答案_第4页
中国大学mooc《Java面向对象程序设计(江苏海洋大学) 》章节测试答案_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

titleJava面向对象程序设计(江苏海洋大学)中国大学mooc答案100分最新版content作业第1章Java概述(1:35:15,施珺)第1章单元作业1、编写一个Java程序,用字符界面或图形界面(采用Application或Applet结构均可)输出自己喜欢的一句话或者一首诗,内容自定义,比如:“只争朝夕,不负韶华!”、“天生我材必有用,时不我待展翅飞!”“用Java语言编写程序是一个痛并快乐着的过程!”、“每天写100行代码并坚持100天,是成为Java编程高手的标配。”、“三人行必有我师,不耻下问可以少走弯路。”

操作步骤指导:打开TextPad→在新建文档窗口中输入程序→保存→输入文件名,比如

JavaAppWork1→文件类型选择:Java(*.java)→工具菜单中:编译Java→工具菜单中:运行Java应用程序。提醒:对多行文字,注意采用恰当的方式进行换行、对齐。要求:1)类名、方法、变量等命名要规范,词能达意;2)源程序要规范缩进,且对源程序适当添加注释;

3)源程序命名:类名中包含自己姓名的汉语拼音缩写(大写)作为后缀,比如:施珺完成的作业JavaAppWorkSJ.java。

评分规则:

评分指导:

1、按照规范命名类名:1分;2、按照规范命名变量名:1分;3、使用import语句导入正确的包必要的话:1分;4、源程序要规范缩进:1分;5、对源程序适当添加注释:1分;6、程序正常运行:1分。

2、编写一个Java程序,用字符界面或图形界面(采用Application或Applet结构均可)输出自己喜欢的一句话或者一首诗,内容自定义,比如:“只争朝夕,不负韶华!”“请党放心,强国有我!”“如何早日成为Java编程高手?每天写100行代码并坚持100天!”“三人行必有我师,不耻下问可以少走弯路。”

操作步骤指导:打开TextPad→在新建文档窗口中输入程序→保存→输入文件名,比如

JavaAppWork1→文件类型选择:Java(*.java)→工具菜单中:编译Java→工具菜单中:运行Java应用程序。提醒:对多行文字,注意采用恰当的方式进行换行、对齐。要求:1)类名、方法、变量等命名要规范,词能达意;2)源程序要规范缩进,且对源程序适当添加注释;

3)源程序命名:类名中包含自己姓名的汉语拼音缩写(大写)作为后缀,比如:施珺完成的作业JavaAppWorkSJ.java。

评分规则:

评分指导:

1、按照规范命名类名:1分;2、按照规范命名变量名:1分;3、使用import语句导入正确的包必要的话:1分;4、源程序要规范缩进:1分;5、对源程序适当添加注释:1分;6、程序正常运行:1分。第1章Java概述(1:35:15,施珺)第1章单元测验1、下列______不是Sun公司提供的Java运行平台。A:J2LE

B:J2SE

C:J2EE

D:J2ME

答案:J2LE2、字节码是______。A:机器码

B:接近机器码的二进制文件

C:文本文件

D:注释文件

答案:接近机器码的二进制文件3、main方法是JavaApplication程序执行的入口点,关于main方法的方法头以下哪项是合法的______.A:publicstaticintmain(String[]arg)

B:publicstaticvoidmain()

C:publicstaticvoidmain(String[]args)

D:publicvoidmain(Stringarg[])

答案:publicstaticvoidmain(String[]args)4、javac的作用是____。A:将源程序编译成字节码

B:将字节码编译成源程序

C:解释执行Java字节码

D:模拟运行Java小程序

答案:将源程序编译成字节码5、以下关于Java虚拟机的描述,不正确的是(

)。A:JVM是JavaVirtualMachine的缩写。

B:JVM是运行Java所需的硬件设备。‍

C:‍‍从底层看,Java虚拟机就是以Java字节码为指令组的软CPU。

D:‍Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。‍

答案:JVM是运行Java所需的硬件设备。‍6、下列关于Java语言特点的叙述中,错误的是()。A:Java是跨平台的编程语言

B:Java是面向对象的编程语言

C:Java是面向过程的编程语言

D:Java支持分布式计算

答案:Java是面向过程的编程语言7、下列选项中,不属于Java语言特点的是()。A:面向对象,解释型

B:简单,安全高效

C:多线程,解释型

D:支持指针操作,多继承

答案:支持指针操作,多继承8、与其他面对对象语言相比,Java语言突出的特点是()。A:解释执行,与平台无关

B:支持动态联编

C:支持多重继承

D:支持网络通信

答案:解释执行,与平台无关9、Java编译器会将Java程序转换为一种代码,该代码叫()。A:机器代码

B:字节码

C:字符码

D:源程序

答案:字节码10、下列选项中,能将Java源程序编译为字节码的命令是()。A:javac

B:javah

C:java

D:javap

答案:javac11、命令java.exe的作用是()。A:调试Java代码

B:将字节码编译成源程序

C:将源程序编译成字节码

D:解释执行Java字节码

答案:解释执行Java字节码12、下列叙述中,正确的是()。A:源文件名与public类名可以不相同

B:源文件中public类的数目不限

C:源文件的扩展名为.Java

D:Java语言的标识符是区分大小写的

答案:Java语言的标识符是区分大小写的13、安装好JDK后,在其bin目录下有许多exe可执行文件,其中java.exe命令的作用是以下哪一种?A:Java文档制作工具

B:Java编译器

C:java反汇编

D:Java解释器

答案:Java解释器14、一个Java源文件中可以有多个类,但只能有一个类是public的。A:正确

B:错误

答案:正确15、JDK和JRE的功能是完全一样的。A:正确

B:错误

答案:错误16、一个Java源文件中包括的public类最多1个。A:正确

B:错误

答案:正确17、目前,Java的许多集成开发环境,大多是以Sun公司提供的JDK开发工具集为基础的。A:正确

B:错误

答案:正确18、字节码文件是与平台无关的二进制码,执行时由解释器解释成本地机器码。A:正确

B:错误

答案:正确19、Java语言中,程序封装的最小单位是类。A:正确

B:错误

答案:正确20、Applet小程序是能够嵌入在浏览器中运行的Java类。A:正确

B:错误

答案:正确21、一个Java源文件中包括的public类定义最少1个。A:正确

B:错误

答案:错误作业第2章Java语言基础(3:28:23,陈艳艳)第2章单元作业1、两个3位数之间的所有素数之和。

建议:本题是主观题,暂无解析2、居民电费阶梯式计价器

建议:本题是主观题,暂无解析3、华氏温度与摄氏温度的换算

建议:本题是主观题,暂无解析4、字符出现频率统计

建议:本题是主观题,暂无解析5、求n个非负整数之和

建议:本题是主观题,暂无解析6、24小时制与12小时制的时间换算

建议:本题是主观题,暂无解析7、学习小组结伴

建议:本题是主观题,暂无解析第2章Java语言基础(3:28:23,陈艳艳)第2章单元测验1、下列变量定义中,正确的是()A:charch=“12”;

B:doubled=2.5;

C:floatf=0.5;

D:booleank=1;

答案:doubled=2.5;2、若有intx=3,y=6;则(x++)*(++y)的值是(

)。

A:24

B:28

C:21

D:18

答案:213、下列代码段执行后,s的值为(

int[]a={1,2,3,4,5};

ints=0;

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

if(i%2==0)

s+=a[i];A:0

B:6

C:15

D:9

答案:94、下列代码段执行后,f的值为()int

x=12,f;f=0;for(inti=2;i<x;i++)

if(x%i==0)

f=f+i;A:15

B:12

C:66

D:16

答案:155、下列选项中,不属于Java关键字的是()。A:Method

B:super

C:interface

D:this

答案:Method

6、下列选项中,编译时会出现错误的是()。A:double

$d=6.18;

B:int_i=100;

C:boolean

1_flag=true;

D:float

F1=1.0

f;

答案:boolean

1_flag=true;

7、使表达式x%2==0

&&

x>50

||

x<20的值为false的选项是()。A:x=15

B:x=18

C:x=60

D:x=85

答案:x=85

8、下列运算符中,优先级最高的是()。A:&&

B:==

C:++

D:+=

答案:++9、下列代码段执行后,a的值为()。float

x=2.4f;inta=0;switch((int)x){

case1:

a++;

case2:

a+=2;

case3:

a+=3;}A:3

B:5

C:6

D:1

答案:510、下列代码段执行后,n的值为()。

intf=1,n=0;

while(true){

f=f*2;

n++;

if(f>=128)break;

}A:3

B:8

C:5

D:7

答案:711、下列程序的运行结果是()。

public

class

Test

{

public

static

void

main

(String[]

args)

{

int

count

=

0

;

for(

int

i

=

1

;

i

<

5

;i

+

=

2)

for(

int

j

=

1

;

j<=

10

;

j

+=

3)

count

++

;

System

.out

.print

(count

)

;

}

}A:10

B:40

C:8

D:0

答案:812、下列语句执行后,i的值为()。String

str

=

“rook\”n\”roll”;

String

str1

=

“\””;

int

i

=

str.indexOf(str1);A:4

B:7

C:6

D:5

答案:413、下列程序段执行后的输出结果是()。int

[][]

b

=

{{1,

2,

3},

{4,

5},{6}};

int

sum=0;

for(int

i

=

0;i<b.length;i++)

{

for(int

j

=

0;j<b[i].length;j++)

{

sum

+=

b[i][j];

}

}

System.out.println(sum);A:6

B:28

C:21

D:9

答案:2114、下列代码段执行后,k的值为()。intx=4,y=5;intk=–x*y++;A:18

B:15

C:20

D:24

答案:1515、下列代码段执行后,k的值为()。int

x

=

12,y

=

15,k;

for(k

=

x;k<=x*y;k=k+x)

if(k

%

x==0

&&

k

%

y==0)

break;A:60

B:180

C:12

D:15

答案:6016、下列代码段执行后,k的值为()。int

a

=

15,b

=

-5,

k;

if

(a

>

0

&&

a

<

10

)

if

(b

>

0)

k

=

1;

else

k

=

2;

else

if

(b

>

0)

k

=

3;

else

k

=

4;A:2

B:1

C:4

D:3

答案:417、下列选项中,可实现无限循环的语句是()。A:while(true){

}

B:for(

)

{

}

C:while(1)

{

}

D:while(!0){

}

答案:while(true){

}

18、若有语句s=”java”;则查找s中字母a最后出现位置的语句是()。A:s.lastIndexOf(‘a’);

B:indexOf(s,’a’);

C:charAt(2);

D:s.indexOf(‘a’);

答案:s.lastIndexOf(‘a’);19、下列变量定义中,错误的是()。A:intx=3;

B:Booleanb=1;

C:

Strings=

“Hello”;

D:doublef=2.5;

答案:Booleanb=1;

20、下列运算符中,属于一元运算符的是()。A:,

B:&

C:|

D:!

答案:!21、下列选项中,不属于位运算符的是()。A:^

B:>>

C:|

D:++

答案:++22、下列修改x的表达式中,与其他选项意义不同的是()。A:x+1

B:

x=x+1

C:

++x

D:

x++

答案:x+1

23、下列能正确定义二维浮点数数组的是()。A:floatf[7,7]=newfloat[][];

B:floatf[][]=newfloat[7,7];

C:floatf[][]=newfloat[7][7];

D:floatf[7][7]=newfloat[][];

答案:floatf[][]=newfloat[7][7];

24、下列给整型二维数组进行赋值的语句中,错误的是()。A:inti[][]={{0},{1,2},{3,4}};

B:inti[][]={{0},{1,2,3,4}};

C:inti[2][2]={{1,2},{3,4}};

D:inti[][]={{1,2},{3,4}};

答案:inti[2][2]={{1,2},{3,4}};

25、A:0

B:1

C:3

D:2

答案:126、A:LANGUAGE

B:JAVALANGUAGE

C:ANGUA

D:JAVA

答案:ANGUA27、下列语句执行后的结果是()。int[][]intArray={{1,2,3},{4,5}};System.out.println(intArray[0].length+“,”+intArray[1].length);A:3,2

B:3,3

C:5,5

D:2,2

答案:3,2

28、下列语句执行后,i的值为()。Stringstr=“rook\”n\”roll”;Stringstr1=“\””;inti=str.indexof(str1);A:4

B:7

C:6

D:5

答案:4

29、下列给字符串二维数组进行赋值的语句中,错误的是()。A:Strings[][]=newString[][]

{{“One“,“Two“},{“Three“,“Four“}};

B:Strings[][]={{“One“,“Two“},{“Three“,“Four“}};

C:Strings[][]=newString[][]{{“Zero”},{“One”,“Two”,“Three”,“Four”}};

D:Strings[2][2]

={{“One”,“Two”},{“Three”,“Four”}};

答案:Strings[2][2]

={{“One”,“Two”},{“Three”,“Four”}};

30、语句

System.out.println(“Hello”.equals(“hello”)?”true”:”false”);

的显示结果为()。A:Hello

B:hello

C:false

D:true

答案:false31、下列选项代码段执行后输出结果是()。

String

str1=“1234”;

String

str2=str1.replace(“34”,“43”);

System.out.println(str1+“

”+str2);A:1234

1221

B:1234

3443

C:1234

1234

D:1234

1243

答案:1234

124332、下列能表示字符串s1长度的是()。A:s1.size()

B:s1.size

C:s1.length()

D:s1.length

答案:s1.length()

33、A:true,true

B:false,false

C:true,false

D:false,true

答案:false,true34、下列代码执行时,产生的异常是()。double[]dArray=newdouble[10];dArray[20]=3.00;A:DividedByZeroException

B:ArithmeticException

C:ArrayIndexoutofBoundsException

D:NullPointerException

答案:ArrayIndexoutofBoundsException35、A:

s=

B:“s=”

C:s=null

D:

s=s

答案:s=null

36、下列代码执行时,产生的异常是()。

Strings=null;

s.concat(“abc”);A:EOFException

B:NullPointerException

C:IOException

D:ArithmeticException

答案:NullPointerException37、下列方法名的定义中,符合Java命名约定的是

。A:publicvoid

_printString()

B:publicvoid

$printString()

C:publicvoid

printString()

D:publicvoid

PrintString()

答案:publicvoid

printString()38、在Java语言中,被称为内存分配的运算符是______。A:new

B:instanceof

C:[]

D:()

答案:new39、下列代码段执行后,x,y的值分别为______。

intx=3,y=1;

booleant=(x++>y)||(y++>1);A:4

2

B:3

2

C:4

1

D:3

1

答案:4

140、阅读下面程序:importjava.io.*;publicclassTypeTransition{publicstaticvoidmain(Stringargs[]){chara=’h’;inti=100;intj=97;intaa=a+i;System.out.println(“aa=”+aa);charbb=(char)j;System.out.println(“bb=”+bb);}}如果输出结果的第二行为bb=a,那么第一行的输出结果是

。A:aa=I

B:aa=204

C:aa=v

D:aa=156

答案:aa=20441、switch(expression)语句中,表达式expression不允许的类型是______。A:byte

B:int

C:char

D:boolean

答案:boolean42、下列选项中,循环会无限执行的是______。A:inti=1;

while(i<10)

System.out.print(“”+i);

B:for(inti=1;i<10;i++)

System.out.print(“”+i);

C:for(inti=10;i>0;i–)

System.out.print(“”+i);

D:inti=1;

while(true){

System.out.print(“”+i);

i++;

if(i>5)

break;

答案:inti=1;

while(i<10)

System.out.print(“”+i);43、若已有下列定义,则值为4的表达式是______。int[]a={1,2,3,4,5,6,7,8,9,10};charc=‘a’,d,g;A:a[‘d’–‘c’]

B:a[g-c]

C:a[‘d’-c]

D:a[4]

答案:a[‘d’-c]44、下列代码段执行后的结果是______。int[]a={6,8,3,1,2};intj=4;for(inti=0;i<2;i++)

a[i]=a[j–];for(inti=0;i<5;i++)

System.out.print(a[i]+“”);A:12368

B:21386

C:21312

D:12312

答案:2131245、下列程序的运行结果是______。publicclassPerson{staticintarr[]=newint[10];publicstaticvoidmain(String

args){

System.out.println(arr[9]);}}A:输出零

B:编译时正确,运行时将产生错误

C:输出空

D:编译时将产生错误

答案:编译时正确,运行时将产生错误46、下列语句执行后,s的值为______。String

greeting=“Hello,everybody!”;String

s=greeting.substring(0,4);A:Hell

B:llo

C:ello

D:Hello

答案:Hell47、下列代码执行后,a的值是______。String

str=“Communication”;char

a=str.charAt(4);A:r

B:null

C:空格

D:u

答案:u48、以下______表达式是不合法的。A:Stringx=”Hello”;inty=9;x+=y;

B:Stringx=”Hello”;inty=9;if(x==y){}

C:Stringx=”Hello”;inty=9;x=x+y;

D:Stringx=null;inty=(x!=null)&&(x.length()>0)?x.length():0

答案:Stringx=”Hello”;inty=9;if(x==y){}49、下列代码段的执行结果是______。int[][]a={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,18,6,1}};inti0=0,j0=0;intmin=a[0][0],max=a[0][0];for(inti=0;i<4;i++){

for(int

j=0;j<4;j++){

if(a[i][j]<min){

min=a[i][j];

i0=i;

}else{

if(a[i][j]>max){

max=a[i][j];

j0=j;

}

}

}}System.out.println(i0+””+j0);A:3

1

B:3

0

C:0

0

D:0

1

答案:0

150、下列方法名的定义中,符合Java命名约定的是

。A:publicvoid

_printString()

B:publicvoid

$printString()

C:publicvoid

printString()

D:publicvoid

PrintString()

答案:publicvoid

printString()51、Java语言中的数组元素只能是基本数据类型而不能为对象类型。A:正确

B:错误

答案:错误52、return语句不是Java语言中的跳转语句。A:正确

B:错误

答案:错误53、do……while循环的执行过程是无条件执行循环体一次,再根据判断条件决定是否继续执行循环体。A:正确

B:错误

答案:正确54、if(true){inti=100;}System.out.println(i);运行此程序的结果是输出100。A:正确

B:错误

答案:错误55、语句“b=2a+2;”是正确的表达式。A:正确

B:错误

答案:错误56、语句”Hello”.equals(“hello”);的结果是true。A:正确

B:错误

答案:错误57、?:是条件运算符。A:正确

B:错误

答案:正确58、Javay语言中,||和|是同一种运算的两种不同形式。A:正确

B:错误

答案:错误59、Java语言中,>>和>>>没有区别,都表示右移运算。A:正确

B:错误

答案:错误60、print()方法和println()方法的区别在于是否在行末有回车换行。A:正确

B:错误

答案:正确第3章Java面向对象编程(3:13:28,施珺)第3章单元测验1、下列关于import语句的说法中,错误的是()A:import语句用于引入程序要使用的Java类

B:程序中可以包括多个import语句

C:所有程序都至少需要一个import语句

D:Import语句必须写在所有类的定义之前

答案:所有程序都至少需要一个import语句

2、下列关于Java继承的说法中,正确的是()A:

最终类可以作为其他类的父类

B:Java中的类可以有多个直接父类

C:Java中的接口支持多继承

D:抽象类不能有子类

答案:Java中的接口支持多继承

3、下列选项中,与成员变量共同构成一个类的是___。A:运算符

B:方法

C:表达式

D:关键字

答案:方法

4、下列类中,实现了Set接口的是()A:

Vector

B:ArrayList

C:LinkedList

D:LinkedHashSet

答案:LinkedHashSet5、关于被保护控制符protected修饰的成员变量,以下说法正确的是()A:可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

B:可以被两种类访问和引用:该类本身、该类的所有子类

C:只能被同一个包中的类访问

D:

只能被该类自身所访问和修改

答案:可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类

6、Java语言中,下列说法中正确的是()‍A:抽象类默认是public类

B:一个Java类只能继承一个父类,也只能实现一个接口

C:引用一个类的任何属性或调用其任何方法都必须以这个类的对象名为前缀

D:无名包中的类不能被其他包中的类引用和复用

答案:无名包中的类不能被其他包中的类引用和复用7、已知

voidmethod();

是父类中定义的一个方法,下面()是子类中重写该方法的正确形式。A:intmethod()

{return0;}

B:voidmethod(){}

C:privatevoidmethod(){}

D:

voidmethod(inti){}

答案:voidmethod(){}8、下列叙述中,错误的是()A:

父类不能替代子类

B:子类继承父类

C:

子类能够替代父类

D:父类包含子类

答案:父类包含子类9、如果有一个类MyFrame是Frame的子类,但它不能被实例化,请写出该类的声明头为()A:classMyFrameabstractextendsFrame

B:abstractclassMyFrameextendsFrame

C:

abstractclassFrameextendsMyFrame

D:classFrameabstractextendsMyFrame

答案:abstractclassMyFrameextendsFrame10、接口中可以包含以下内容()A:静态常量和抽象方法

B:静态变量和抽象方法

C:

任何变量和抽象方法

D:任何变量和任何方法

答案:静态常量和抽象方法11、下面关于类的构造方法的说法中,错误的是()A:构造方法只能有入口参数,而没有返回值

B:构造方法只能用new运算符调用

C:构造方法名必须与类名相同

D:一个类只能有一个构造方法

答案:一个类只能有一个构造方法12、自定义的异常类可从()类继承A:AWTError

B:Exception及其子集

C:Virtual

MachineError‍

D:Error

答案:Exception及其子集13、如果要捕获异常,应该采用的子句是()A:throw

B:finally

C:try

D:catch

答案:catch14、若希望类定义中的数据成员被该类所有的对象共享,则需要用到的修饰符是()A:static

B:protected

C:abstract

D:public

答案:static15、下面有关Java语言类的概念中,说法正确的是()A:类及其属性、方法可以同时有一个以上的修饰符来修饰

B:最终类能派生子类,但最终方法不能被覆盖‍

C:final类中的属性和方法都要用final修饰符修饰‍

D:子类要调用父类的方法,必须使用super关键字

答案:类及其属性、方法可以同时有一个以上的修饰符来修饰16、继承是面向对象编程的一个重要特征,它可降低程序的复杂性并使代码()A:可读性好

B:运行更安全

C:可跨包访问

D:可重用

答案:可重用17、Java语言中拥有属性和行为的实体是()A:对象

B:构造方法

C:方法

D:类

答案:对象18、Java中,隐藏信息的基本机制是()A:多态

B:继承

C:封装

D:抽象

答案:封装19、下列关于构造方法的描述中,正确的是()A:子类必须通过this调用父类的构造方法

B:若子类没有定义构造方法,则子类无构造方法

C:子类不能调用父类的构造方法

D:子类必须通过super调用父类的构造方法

答案:子类必须通过super调用父类的构造方法20、下列代码中构造方法的返回类型是()classVillage

{

publicstaticvoidmain(Stringargs[]){

Villagec=newVillage();

}

Village(){

System.out.println(“hidinginVillage”

public

class

Village

{

Village()

{

System.out.println(“hiding

in

Village”)

;

}

public

static

void

main(String

args

[

])

{

Village

c

=new

Village();

}A:integer

B:String

C:无

D:null

答案:无21、对象的特性在类中被表示为变量,称为类的()A:方法

B:数据类型

C:属性

D:对象

答案:属性22、下列方法中,可以正确加入类SubX中且父类的方法不会被覆盖的是()class

X

{

public

int

F(

int

a,

int

b

)

{

int

s;

s=a+b;

return

s;

}

}

class

SubX

extends

X{

}A:‍public

int

F(

int

a,

int

b)

throws

MyException

{

}

B:public

float

F(int

a,

int

b,

float

b=1.0)

{

}

C:‍public

void

F(

)

{

}

D:int

F(int

a,

int

b)

{

}

答案:‍public

void

F(

)

{

}23、下列可加入类child中的方法是

public

class

Parent

{

protected

int

change

(

)

{

}

}

class

Child

extends

Parent

{

}‍A:private

int

change(){}

B:abstract

int

change(){}

C:public

int

change(){

}

D:int

change()

{

}

答案:public

int

change(){

}24、当方法遇到异常又不知如何处理时,正确的处理方式是(

)A:嵌套异常

B:捕获异常

C:声明抛出异常

D:匹配异常

答案:声明抛出异常25、如果要捕获异常,应该采用的子句是(

)A:throw

B:finally

C:try

D:catch

答案:catch26、下列代码段运行输出的结果是(

)public

void

test()

{

String

s[]

=

new

String[10];

try

{

s[9]

=“exception”;

}catch

(ArrayIndexOutfBoundsException

e)

{

System.out.println(“exception

1”);

}catch(IOException

e){

System.out.println(“exception

2”);

}finally

{

System.out.println(“over”);

}

}A:

over‍

B:exception1

C:exception2

D:exception

答案:

over‍27、自定义异常类的父类可以是()A:Thread

B:VirtuaMachineError

C:Exception

D:Error

答案:Exception28、运行下面程序时,会产生什么异常?(

)public

class

X7_1_5

{

public

static

void

main(String[]

args)

{

int[]

z

=

{1,2,3,4};

int

p

=

z[4];

int

x

=

0;

int

y

=

p/x;

}

}‍A:ArithmeticException

B:ArrayIndexOutOfBoundsException

C:NumberFormatException

D:IOException

答案:ArrayIndexOutOfBoundsException29、为使下列代码正常运行,应该在下划线处填入的选项是()abstract

class

Person

{

private

String

name;

public

Person

(String

n)

{

name

=

n;

}

public

______String

get

Description();

public

String

getName()

{

return

name;

}

}A:private

B:abstract

C:final

D:static

答案:abstract30、下列说法正确的是()A:final可修饰类、属性、方法

B:定义抽象方法需有方法的返回类型、名称、参数列表和方法体

C:abstract可修饰类、属性、方法

D:用final修饰的变量,在程序中可对这个变量的值进行更改

答案:final可修饰类、属性、方法31、下面说法不正确的是(

)A:抽象类既可以做父类,也可以做子类‍

B:abstract和final能同时修饰一个类

C:抽象类中可以没有抽象方法,有抽象方法的类一定是抽象类或接口

D:声明为final类型的方法不能在其子类中重新定义

答案:abstract和final能同时修饰一个类32、有关类的说法,正确的是(

)A:类具有封装性,所以类的数据是不能被访问的

B:类具有封装性,但可以通过类的公共接口访问类中的数据

C:声明一个类时,必须使用public修饰符

D:每个类中必须有main方法,否则程序无法运行

答案:类具有封装性,但可以通过类的公共接口访问类中的数据33、

试图编译和运行以下代码的结果是:class

Base

{

private

Base()

{

System.out.println(0);

}

public

Base(int

i)

{

System.out.println(i);

}

}

public

class

Test

extends

Base

{

public

Test()

{

super(1);

};

public

static

void

main(String

argv[]){

Test

t

=

new

Test();

}

}A:因为构造方法不能是private的所以不能编译

B:由于Test的父类的构造器是私有的所以Test不能编译

C:通过编译,打印出0

D:通过编译,打印出1

答案:通过编译,打印出134、给定以下代码,以下哪句是正确的?public

class

Test

{

private

int

i

=

f();

private

int

j

=

10;

private

int

f()

{

return

j;

}

public

static

void

main(String

args[])

{

System.out.println((new

Test()).i);

}

}A:通过编译,打印出0

B:通过编译,打印出10

C:由于在main中访问了Test的私有的变量而不能编译

D:由于成员变量定义初始化时的顺序错误而不能编译

答案:通过编译,打印出035、试图编译和运行以下代码的时候会发生什么?public

class

Q

{

public

static

void

main(String

argv[]){

int

anar[]=new

int[5];

System.out.println(anar[0]);

}

}A:null

B:0

C:5

D:错误:anar还没有初始化就用了

答案:036、给定以下代码,以下哪句是正确的?class

TestBed

{

TestBed()

{}

void

f()

{

System.out.println(“f()”);

}

public

static

void

main(String[]

args)

{

TestBed

t

=

new

TestBed();

t.f();

}

}

class

TestDoor

{

TestDoor()

{}

void

f()

{

System.out.println(“f()”);

}

public

static

void

main(String[]

args)

{

TestDoor

t

=

new

TestDoor();

t.f();

}

}A:无法编译,因为没有任何一个类是public的

B:编译了,产生了两个.class文件

C:编译了,产生了一个.class文件,里面包含两个类

D:无法编译,因为在一个文件里有两个main函数

答案:编译了,产生了两个.class文件37、有以下代码:Strings1=“Hello”;Strings2=“Hello”;Strings3=“Hellp”;s3=s3.replace(‘p’,‘o’);这里的s.replace(‘p’,‘o’)的功能是把所有的’p’都替换成’o’。以下哪句是正确的?A:s1==s2是true,s1==s3是false


B:s1==s2是true,s1==s3是true

C:s1==s2是false,s1==s3是false

D:s1==s2是false,s1==s3是true

答案:s1==s2是true,s1==s3是false
38、给定以下代码,以下哪句是正确的?public

class

Test

{

String

s;

static

class

Inner

{

void

testMethod()

{

s

=

“Hello

world.”;

}

}

public

static

void

main(String[]

argv)

{

Inner

i

=

new

Inner();

i.testMethod();

System.out.println(s);

}

}A:编译通过,但是运行时刻出错,因为s没有被初始化

B:无法编译,因为Test类里的Strings不是static的

C:编译通过,打印出Helloworld.

D:无法编译,因为Inner不能像这样在main中使用

答案:无法编译,因为Test类里的Strings不是static的39、给定以下代码:interface

I

{

void

setValue(int

val);

int

getValue();

}以下哪段代码能编译?A:‍‍‍‍‍‍interface

A

implements

I

{

void

increment();

}

B:class

A

extends

I

{

void

increment();

}

C:abstract

class

C

implements

I

{

int

value;

public

void

setValue(int

val)

{

value

=

val;

}

public

int

getValue()

{

return

value;

}

}

D:class

A

extends

I

{

int

value;

void

setValue(int

val)

{

value

=

val;

}

int

getValue()

{

return

value;

}

}

答案:abstract

class

C

implements

I

{

int

value;

public

void

setValue(int

val)

{

value

=

val;

}

public

int

getValue()

{

return

value;

}

}40、在以下代码中,下列哪句可以放在//Here处?class

Base{

public

Base(int

i){}

}

public

class

MyOver

extends

Base{

public

static

void

main(String

arg[]){

MyOver

m

=

new

MyOver(10);

}

MyOver(int

i){

super(i);

}

MyOver(String

s,

int

i){

this(i);

//Here

}

}A:super();

B:Baseb=newBase(10);

C:MyOverm=newMyOver();

D:this(“Hello”,10);

答案:Baseb=newBase(10);41、写出以下程序的运行结果是:public

class

Test

{

public

int

t=4;

public

static

void

main(String[]

args)

{

new

Test().NumberPlay();

}

public

void

NumberPlay()

{

int

t=2;

t

=

t+5;

this.t

=

this.t-2;

t

=

t-this.t;

System.out.println(t+this.t+”ok”);

}

}A:7ok

B:2ok

C:5ok

D:52ok

答案:7ok42、下列关于面向对象的论述中正确的是____。A:面向对象是指以对象为中心,解析、设计和实现应用程序的机制

B:面向对象是指以功能为中心,解析、设计和实现应用程序的机制

C:面向对象仅适用于程序设计阶段

D:面向对象是一种程序设计语言

答案:面向对象是指以对象为中心,解析、设计和实现应用程序的机制43、下面关于类的描述错误的是______。A:类的方法都由方法头和方法体组成的

B:一个Java程序可以有多个公共类

C:一个包可以包含多个类

D:类的实现包括类声明和类体两部分

答案:一个Java程序可以有多个公共类44、下列程序运行后的输出结果是_publicclassFoo{

publicstaticvoidmain(String[]args){

Strings;

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

}}A:编译错误

B:s=s

C:s=

D:s=null

答案:编译错误45、在Java语言中,被称为内存分配的运算符是_。A:new

B:instanceof

C:[]

D:()

答案:new46、下列关于构造方法的叙述中,错误的是

__。A:

Java语言规定构造方法名与类名必须相同

B:Java语言规定构造方法没有返回值,但不用void声明

C:Java语言规定构造方法不可以重载

D:Java语言规定构造方法只能通过new自动调用

答案:Java语言规定构造方法不可以重载47、子类继承了父类的方法和状态(属性),在子类中可以进行的操作是______。A:更换父类方法

B:减少父类方法

C:减少父类变量

D:添加方法

答案:添加方法48、下面的方法重载,正确的是__。A:intfun(inta,floatb){}floatfun(inta,floatb){}

B:floatfun(inta,floatb){}

floatfun(intx,floaty){}

C:floatfun(floata){}floatfun(floata,floatb){}

D:floatfun1(inta,floatb){}floatfun2(inta,floatb){}

答案:floatfun(floata){}floatfun(floata,floatb){}49、阅读下列代码:publicclassTest{Strings=”NoPainNoGain“;publicstaticvoidmain(Stringargs[]){System.out.println(s);}}其运行结果是______。A:args

B:NoPainNoGain

C:s

D:编译时出错

答案:编译时出错50、阅读下列代码段:abstractclassPerson{privateStringname;publicPerson(Stringn){name=n;}public

__StringgetDescription();publicStringgetName(){returnname;}}在下划线处应填入的修饰符是____。A:static

B:abstract

C:protected

D:final

答案:abstract51、下列关键字中可以表示常量的是__。A:final

B:default

C:private

D:transient

答案:final52、下列概念中不包括任何实现,与存储空间没有任何关系的是______。A:类

B:接口

C:抽象类

D:对象

答案:接口53、

阅读下列代码片段:classInterestTest

__ActionListener{……publicvoidactionPerformed(ActionEventevent){doubleinterest=balance*rate/100;balance+=interest;NumberFormatformat=NumberFormat.getCurrencyInstance();System.out.printlb(“balance=“+Formatter.format(balance));}privatedoublerate;}在下划线处应填入的正确选项是____。A:

implementation

B:

inheritance

C:implements

D:implement

答案:implements54、下列方法中,不属于Throwable类的方法是______。A:printMessage

B:getMessage

C:toString

D:fillInStackTrace

答案:printMessage55、如果要抛出异常,应该采用的字句是__。A:finally

B:try

C:throw

D:catch

答案:throw56、阅读下列代码:importjava.io.*;publicclassExceptionCatch{

publicstaticvoidmain(Stringargs[]){

try{

FileInputStreamfis=newFileInputStream(“text”);

System.out.println(“contentoftextisA:”);

}catch(FileNotFoundExceptione){

System.oul.println(e);

System.out.println(“message:”+e.getMessage());

e.printStackTrace(System,out);

}__{

System.out.println(e);

}

}}为了保证程序正确运行,程序中下画线处的语句应该是______。A:default

B:e.printStackTrace()

C:catch(IOExceptione)

D:finally

答案:catch(IOExceptione)57、下列代码中的内部类名是______。

importjava.awt.event.;importjavax.swing.;classTalkingclock{

publicvoidstart(intinterval,finalbooleanbeep){

ActionListenerlistener=new

ActionListener(){

publicvoidactionPerformed(ActionEventevent){

……

}

}

Timert=newTimer(interval,listener);

t.start();

}}

A:Timer

B:ActionListener

C:

listener

D:匿名

答案:匿名58、在子类中能覆盖父类方法publicabstractvoidgetSort(intx)的是_。A:publicdoublegetSort(intx,inty){returnx+y;}

B:publicintgetSort(doubley){return(int)(yy);}

C:publicvoidgetSort(floatx){x=x;}

D:publicvoidgetSort(intx){x=x;}

答案:publicvoidgetSort(intx){x=x;}

59、abstract不能和final并列修饰同一个类。A:正确

B:错误

答案:正确60、类和对象的关系,是抽象和具体的关系。A:正确

B:错误

答案:正确61、一个子类可以继承父类中所有的成员变量和成员方法。A:正确

B:错误

答案:错误62、在Java语言中,用final修饰的类也可以被继承。A:正确

B:错误

答案:错误63、类中定义的静态变量只能通过类名引用。A:正确

B:错误

答案:错误64、在方法内部使用,代表对当前对象自身引用的关键字是this。A:正确

B:错误

答案:正确65、内部类可以作为其他类的成员,而且可访问它所在的类的成员。A:正确

B:错误

答案:正确66、在Java中,一个类可以继承多个父类。A:正确

B:错误

答案:错误67、Java中,接口和类都不允许多重继承。A:正确

B:错误

答案:错误68、Java接口中可以声明私有成员。A:正确

B:错误

答案:错误69、抽象类中可以有构造方法,所以抽象类也可以创建实例对象。A:正确

B:错误

答案:错误70、父类的私有方法不能被子类覆盖。A:正确

B:错误

答案:正确71、Java程序中所有类的根类是Object。‍A:正确

B:错误

答案:正确72、Java程序默认引用的包是java.awt包。A:正确

B:错误

答案:错误73、Java程序中若包含package语句,则该语句必须是程序的第一条可执行语句。A:正确

B:错误

答案:正确74、Java接口中所有的方法都是抽象的。A:正确

B:错误

答案:正确75、内部类不能有自己的成员方法和成员变量。A:正确

B:错误

答案:错误76、接口的本质就是完全抽象的类A:正确

B:错误

答案:正确77、在Java中,一个子类只能继承一个父类。A:正确

B:错误

答案:正确78、用于在子类中调用被重写父类方法的关键字是Super。A:正确

B:错误

答案:错误79、因为子类继承自父类,所以父类包含子类,而且父类能替代子类。A:正确

B:错误

答案:错误80、包是一种特殊的类,用于对类进行分门别类的管理。A:正确

B:错误

答案:错误81、Java源程序结构中前三种语句的次序是package,import,publicclass。A:正确

B:错误

答案:正确82、在Java中,若要使用一个包中的类时,首先要求对该包进行导入,其关键字是include。A:正确

B:错误

答案:错误83、定义一个类,要求其中的成员变量可以被该类的所有子类访问,但不能被与该类不在同一个包中的非子类访问。为了实现上述目的,该成员变量应被赋以protected访问权限。A:正确

B:错误

答案:正确84、一个类只允许继承一个接口

A:正确

B:错误

答案:错误85、内部类的名称与定义它的类的名称可以相同。A:正确

B:错误

答案:错误作业第3章Java面向对象编程(3:13:28,施珺)第3章单元作业1、程序填空题:定义一个抽象类Person,其中有一个公共的抽象方法showInfo()。然后定义此抽象类的一个子类Student,包括的成员变量有姓名、学号、班级和年龄,且此类中包括两个构造方法。在下列代码中的数字标示行填入合适的一行代码。abstract

class

Person{

(1)

}

(2)

{

String

stuName;

String

stuID;

String

stuClass;

int

age;

//接收姓名和学号两个参数的构造方法

(3)

//接收四个参数的构造方法

(4)

//实现抽象方法,方法体为打印出学生的姓名、学号、班级

(5)

}提示:可以自行编写一个测试类,用测试数据创建Teacher对象,验证所填代码是否可以正常运行。

评分规则:

共5个空,每空2分。如果能将方法体都写出来也可以。参考答案:

(1)

publicabstractvoidshowInfo();

(2)

class

Studentextends

Person(3)Student(Stringnname,Stringnid){

}(4)Student(Stringnname,Stringnid,Stringntitle,intnage){

}(5)

publicvoidshowInfo()

{

System.out.println(“学生的姓名:”+stuName+”学号:”+stuID+”班级:”+stuClass);

}注意:(3)、(4)两行中,构造方法所带形参名称可以与参考答案不同,但类型和个数必须一致。

(5)中,输出的内容提示不一定与参考答案完全一致,包含了属性名称stuNam和stuID、stuClass即可。下面示例程序中,其余代码可以不一定相同,不扣分。此题可运行的完整程序参考如下:2、参考本章例题,编程实现下图中的任一图形(为简化起见:内外图形中心重合、且上下左右对称)。要求:1。设计所选定的图形类(可以继承于矩形类或圆形类),对任意给定的可以构成所选图形的边长和半径,计算其有色部分的面积和周长;2.

如果给定的内部半径或正方形边长超过外围图形允许的最大值(假设内部图形距外边框最窄处不得少于10),则要进行异常处理:提示内部图形尺寸过大。3.

当给定的边长、半径符合要求时,选择某种颜色绘制出来(提示:可以在Applet中绘制)。

评分规则:

图形类代码编译无错误,能正常运行;(8分)计算的周长、面积正确、输出结果清晰;(2分)有异常处理措施,且效果达到了题意要求;(2分)能正确绘制出图形;(4分)类、属性和方法命名规范、词能达意,有必要的注释,说明所编写的是哪个图形;(2分)体现了继承和多态的机制。(2分)参考代码如下:‍‍3、定义一个抽象的商品类,其中包含3个数据成员:商品号、商品名、商品价格,定义三个分别用来获取商品名、获取价格、修改价格的成员方法,一个抽象的输出数据成员的方法showInfo(),构造方法自行定义。请注意用适当的访问控制符和非访问控制符对属性和方法进行修饰。在此基础上,定义继承于商品类的一个食品子类和一个玩具子类,除具有商品类的属性之外,食品类还应该包含生产日期、保质期、主要成分等信息,并定义一个设置保质期的方法;玩具类还应该包含型号、材料、安全级别等信息,并定义一个设置安全级别的方法;食品子类和玩具子类均需要实现其父类中的showInfo()方法,以输出类的完整信息。构造方法自行定义。此外,要求编写一个测试程序,用恰当的测试数据创建食品类和玩具类对象,并调用有关方法,检验其运行结果是否正常。

评分规则:

分步给分下图所给程序为参考答案,属性名称、数据类型、方法名称、输出方式不一定完全一致,可以正常运行即可。:1)商品类的定义:4分其中:类头+属性的定义1分,构造方法的定义1分,每个成员方法、抽象方法各0.5分2)食品子类的定义:4分其中:类头+属性的定义1分,构造方法的定义1.5分,成员方法的定义0.5分,实现父类的抽象方法1分3)玩具子类的定义:4分其中:类头+属性的定义1分,构造方法的定义1.5分,成员方法的定义0.5分,实现父类的抽象方法1分4)测试类的定义:5分

其中:测试类头、main()方法各0.5分,食品类与玩具类的对象创建各1分,成员方法的调用与对象信息的输出各1分。4、程序填空题:定义一

温馨提示

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

评论

0/150

提交评论