秋西南大学0837面向对象程序设计作业答案.docx

上传人:b****3 文档编号:12995694 上传时间:2023-04-22 格式:DOCX 页数:35 大小:26.58KB
下载 相关 举报
秋西南大学0837面向对象程序设计作业答案.docx_第1页
第1页 / 共35页
秋西南大学0837面向对象程序设计作业答案.docx_第2页
第2页 / 共35页
秋西南大学0837面向对象程序设计作业答案.docx_第3页
第3页 / 共35页
秋西南大学0837面向对象程序设计作业答案.docx_第4页
第4页 / 共35页
秋西南大学0837面向对象程序设计作业答案.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

秋西南大学0837面向对象程序设计作业答案.docx

《秋西南大学0837面向对象程序设计作业答案.docx》由会员分享,可在线阅读,更多相关《秋西南大学0837面向对象程序设计作业答案.docx(35页珍藏版)》请在冰豆网上搜索。

秋西南大学0837面向对象程序设计作业答案.docx

秋西南大学0837面向对象程序设计作业答案

【D】1、下列Java表达式,错误的是()

A.longj=8888;

B.Stringstr=String("bb");

C.charc=74;

D.intk=newString("aa");

解析:

String类型转换成int类型应用Integer.praseInt("123")且字符必须为纯数字

【B】2、下列合法的Java标识符是()

A.E.+void

B._black

C.-5

D.12class

解析:

JAVA标识符不能是数字、符号、特殊符号开头

【B】3、关于constructor,下列描述正确的是()

A.class中的constructor不可省略

B.constructor在一个对象被new时执行

C.一个class只能定义一个constructor

D.constructor必须与class同名,但方法不能与class同名

解析:

constructor(构造器)构造函数,不定义的情况下在编译代码阶段会自动在当前类增加无参构造函数

故A错误

一个class(类)可以有多个构造函数,如有一个参数的有多个参数的或无参的都可以故A错误

方法可以随意命名,只要不是java保留字故D错误

【A】4、以下哪个方法用于定义线程的执行体?

()

A.F.run()

B.main()

C.start()

D.init()

解析:

init初始化线程

start就绪线程

run运行线程

main是主体函数

【C】5、编译一个定义了两个类和三个方法的Java源文件,产生字节码文件的个数和扩展名是()

A.5个字节码文件,以".java"为扩展名

B.5个字节码文件,以".class"为扩展名

C.2个字节码文件,以".class"为扩展名

D.2个字节码文件,以".java"为扩展名

解析:

java字节码都是二进制,所以AB错误

一个类生成一个字节码文件与方法无关方法是类的成员另外需要注意如果存在内部类

有几个内部类则生成几个字节码文件

【B】6、下列程序的执行结果是()

publicclassTest{

publicstaticvoidmain(Stringargs[]){

try{

return;

}

finally{

System.out.println("Finally");

}

}

}

A.B.程序无输出

B.程序输出"Finally"

C.因为缺少catch块,所以编译出错

D.代码可以通过编译,但执行时产生异常

解析:

无论trycatch块执行到什么位置,在程序执行结束前会先执行finally块;故选B

【D】7、设有两个类A和B,以下描述中表示B继承自A的是()

A.classAimplementsB

B.classAextendsB

C.classBimplementsA

D.classBextendsA

解析:

集成关键字为extends故AC错误

类1extends类2类1:

表示子类类2:

表示父类固定搭配所以B错误

【B】8、下列程序的运行结果是()

importjava.awt.*;

publicclassTestextendsFrame{

publicTest(){

add(newLabel("Hello"));

add(newTextField("Hello"));

add(newButton("Hello"));//第6行

pack();

setVisible(true);

}

publicstaticvoidmain(String[]args){

newTest();

}

}

A.在第6行抛出一个IllegalArgumentException异常

B.显示一个窗口,仅包含一个按钮

C.出现一个空窗口

D.代码编译不通过

解析:

label是标签无作用button是按钮textField是文本框窗体中有内容C错误

代码能正常执行D错误

pack();没有抛出异常A错误

【B】9、关于Java程序中要使用的一个变量,以下描述不正确的是()

A.在Java程序中要使用一个变量,必须先对其进行声明

B.局部变量在使用之前可以不初始化,系统使用默认的初始值

C.变量不可以在其作用域之外使用

D.变量声明语句可以在程序的任何地方,只要在变量使用前就可以

解析:

变量使用原则:

1、声明变量例:

Strings;s即为声明的变量引用类型为String

2、赋值变量s="bianliang";即为初始化

【B】10、关于abstract(抽象),下列描述正确的是()

A.声明抽象方法,大括号{}可有可无

B.声明抽象方法不可写出大括号{}

C.abstract修饰符可修饰字段、方法和类

D.抽象方法的body部分必须用一对大括号{}包住

解析:

接口不能有具体内容,抽象方法可以

【A】11、()修饰符所定义的方法必须被子类所覆盖。

A.abstract

B.volatile

C.final

D.protected

解析:

抽象的内容其子类必须为其补全详细内容

【D】12、方法resume()负责恢复以下哪类线程的执行?

()

A.通过调用stop()方法而停止的线程

B.通过调用sleep()方法而停止的线程

C.通过调用wait()方法而停止的线程

D.通过调用suspend()方法而停止的线程

stop后应该用start,且stop存在线程安全问题

sleep的线程后一定时间内会自醒

wait线程用notify唤醒

故选择D

【D】13、以下哪个赋值语句是不合法的?

()

A.doubleb=2.0;

B.intc=2;

C.longd=2;

D.floata=2.0;

【B】解析:

单精度必须指明后缀f

14、一个包含Java类A,B,C的源程序A.java,编译后产生的类文件是()

A.class

B.A.class,B.class,C.class

C.A$.class,B$.class,C$.class

D.class,B$.class,C$.class

【C】15、能用来修饰interface的修饰符是()

A.protected

B.private

C.public

D.static

解析:

private:

私有访问权限,范围为当前类,子类都不可以访问

protected:

受保护的访问权限,当前包下以及其子类可访问

static静态修饰符,与权限物管

   

【C】16、编译运行以下程序后,输出结果正确的是()

publicclassConditional{

publicstaticvoidmain(Stringargs[]){

intx=4;

System.out.println("valueis"+((x>4)?

99.9:

9));

}

}

A.D.输出结果为:

valueis99.99

B.编译错误

C.输出结果为:

valueis9.0

D.输出结果为:

valueis9

【D】17、欲构造ArrayList类的一个实例,此类继承了List接口,下列正确的代码是()

A.ArraylListmyList=newList();

B.ArrayListmyList=newObject();

C.ListmyList=newList();

D.ListmyList=newArrayList();

解析:

List为接口接口没有构造器所以C错误A错误

任何子类都继承了OBJECT但子类自有的东西父类一定不会有B错误

【B】18、以下哪个修饰符可用于定义成员常量?

()

A.static

B.final

C.abstract

D.Nomodifiercanbeused

解析:

常量即为最终的变量,不能被改变的变量

【A】19、关于异常(Exception),下列描述错误的是()

A.A.异常可以随便处理,而不是抛给外层的程序进行处理

B.如果某异常继承RuntimeException,则该异常可以不被声明

C.异常的基类为Exception,所有异常都必须直接或者间接继承它

D.异常可以用try{...}catch(Exceptione){...}来捕获并进行处理

【D】20、执行代码int[]x=newint[25];后,以下描述正确的是()

A.x[25]为0

B.x[24]未定义

C.x[0]为空

D.x[24]为0

解析:

A数组下表越界因为下表坐标从0开始到24结束故AB都错

int类型数组在初始化后没给指定值的情况默认值都为0C错

【D】21、下列关于修饰符的描述,错误的是()

A.abstract不能与final并列修饰同一个类

B.abstract类中可以有private的成员

C.abstract方法必须在abstract类中

D.static方法中能处理非static的属性

【B】22、下面可以改变容器的布局的是()

A.layout(aLayoutManager);

B.setLayout(aLayoutManager);

C.setLayoutManager(aLayoutManager);

D.addLayout(aLayoutManager);

【C】23、不是Java语言保留字的是()

A.if

B.private

C.sizeof

D.null

【D】24、关于线程设计,下列描述正确的是()

A.启动一个线程直接调用线程对象的run()方法

B.一个线程可以包含多个进程

C.线程对象必须实现Runnable接口

D.Java提供对多线程同步提供语言级的支持

【D】25、下列关于实例方法的描述,正确的是()

A.实例方法可直接调用超类的类方法

B.实例方法可直接调用其他类的实例方法

C.实例方法可直接调用超类的实例方法

D.实例方法可直接调用本类的类方法

【C】26、从开始执行到执行结束,小应用程序经历的3个状态分别是()

A.初始态、就绪态,结束态

B.就绪态、运行态,停止态

C.初始态、运行态,停止态

D.就绪态、运行态,休眠态

【A】27、下列关于Java小应用程序(Applet)的说法中,正确的是()

A.java.applet.Applet类是所有Java小应用程序的基类

B.Java小应用程序不需要编译

C.Java小应用程序也需要main()方法

D.Java小应用程序必须实现ActionListener接口

【B】28、Swing的三个顶层容器分别是()

A.JApplet,JPanel,JWindow

B.JDialog,JApplet,JFrame

C.JApplet,JFrame

D.JMenu

5.JFrame,JPanel,JTextArea

【D】29、把容器划分为东、西、南、北、中5个区域的布局管理器是()

A.BoxLayout

B.FlowLayout

C.ardLayout

D.BorderLayout

【C】30、下列语句序列执行之后,b1,b2,b3,b4的值分别是()

Strings1="peace";

Strings2=newString(s1);

Strings3=s2;

Strings4=newString("PEACE");

booleanb1=(s1==s2);

booleanb2=s1.equals(s2);

booleanb3=(s3==s2);

booleanb4=s4.equals(s3);

A.true,true,false,false

B.false,true,true,true

C.false,true,true,false

D.false,true,false,false

解析:

s1具有具体的内存地址和值

s2有自己的内存地址和值

==表示两个字符串之间内存地址比较

equals表示2个字符串之间值属性比较

故12结果为falsetrue排除答案A

34根据==和eq特性得到答案C

【D】31、下列构造String的语句中,不正确的是()

A.Stringstr2="";

B.Stringstr1=newString();

C.Stringstr4=""+123;

D.Stringstr3=newString(123);

解析:

123为int类型如要转化为String可以【123+""】

【B】32、关于构造方法,下列描述不正确的是()

A.构造方法用于创建类的实例

B.构造方法不可以重载

C.构造方法不具有返回值类型

D.构造方法名必须和类名相同

解析:

重载的概念为方法名相同参数不同,参数相同是参数类型和顺序不同也叫重载

【A】33、既能作为类的修饰符,也能作为类成员的修饰符的是()

A.public

B.extends

C.void

D.static

解析:

void用于方法返回值

static用户定义成员变量方法,无法修饰类,能修饰内部类但此时的内部类是类的成员元素

extends作用于类

【D】34、执行完下列语句后,变量x的值是()

intx=7,y=10;

switch(x/y){

case0:

x++;

case7:

x*=y;

case14:

x+=y;break;

default:

x%=y;

}

A.8

B.70

C.80

D.90

解析:

x\y都是int类型在做除法时只会保留整数部分

即得到结果为0;

switch块中case0进入后计算X的值为8

由于case0未进行break程序会继续向下执行

x*=y得到x=80,x+=y得到x=90

最后才break不进入default语句故选D

【D】35、以下由for语句构成的循环的执行次数是()

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

A.有语法错,不能执行

B.一次也不执行

C.执行1次

D.无限次

解析:

for语句中第三条件i=i导致程序进入无线循环

【B】36、设有定义inti=7;charch="b";下面赋值语句中不正确是()

A.i=ch;

B.ch=i;

C.ch=(char)i;

D.i=(int)ch;

解析:

单位byte[字节]

单位bit[位]100000018位二进制

java8个基本类型支持向上自动转换向下必须强转故B错误

int4字节32位

short2字节16位

long8字节64位

char2个字节16位

byte1字节8位

double8字节64位

booleanfalse和true

float4字节32位

【A】37、设有定义inti=80,j=7;doubled=80.7;则下列语句中正确的赋值语句是()

A.i=d;

B.i=(int)d+j;

C.j=(int)i-d;

D.i+j=(int)d;

解析:

参考36

【B】38、以下关于Java语言的叙述错误的是()

A.Java是最纯粹的面向对象语言,对面向对象方法学的支持也最全面

B.Java是解释执行的语言,由Java解释器负责将Java源文件解释为机器码执行

C.Java是平台无关的,即Java程序不用修改就可以在不同类型的计算机平台上运行

D.Java提供了大量功能丰富的可重用类库,有效减少了编程的工作量

解析:

JAVA语言即是解释语言也是编译型语言

【B】39、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序“一次编写,到处运行”的特点?

()

A.多线程

B.与平台无关

C.面向对象

D.分布式

解析:

java代码一次编译后可到处运行,原因是编译后的文件是二进制文件能被任何语种和平台执行

【B】40、下列选项中,用于声明实现一个接口关键字是()

A.interface

B.implements

C.import

D.abstract

【A】41、下列不属于Java语言关键字的是()

A.repeat

B.try

C.break

D.new

解析:

查看JAVA保留字

【D】42、下列字符序列中可以作为Java语言标识符的是()

A.true

B.123_xyz

C.x.y

D._x123

【C】43、下列字符序列中不能作为Java语言标识符的是()

A.abc_123

B.圆周率PI

C.false

D._123abc

解析:

查看JAVA保留字

44、下列语句序列给出了k,myArr和myMethod()的声明。

当调用方法myMethod(myArr,k)之后,存储在myArr和k里的值分别是()

intk=7;

StringmyArr[]={"love","peace","and"};

voidmyMethod(Stringa[],intm){

Stringtemp=a[1];

a[1]=a[2];

a[2]=temp;

m=a[2].length();

}

A.{"love","and","peace"},7

B.{"peace","love","and"},7

C.{"peace","love","and"},4

D.{"love","and","peace"},5

解析:

题目中int为值传递,在方法里有效,没有返回给变量所以K的值不会发生变化

数组在出生时是以静态行为在内存中分配空间,改变数组位置的值,数组则发生变化,与值传递无关

【A】45、阅读下列程序。

在该程序的下划线处,应增加哪个选项程序才能通过编译?

()

publicclassExceptionTest{

classTestExceptionextendsException{

}

publicvoidrunTest()___________________{

System.out.println("Hello");

}

publicvoidtest()throwsException{

runTest();

}

}

A.throwsException

B.throwsRuntimeException

C.catch(TestExceptione)

D.catch(Exceptione)

【B】46、阅读下列程序。

在标记为第1行的地方加入下面哪条语句才能够编译和执行?

()

//第1行

publicclassTest{

publicstaticvoidmain(String[]args){

PrintWriterout=newPrintWriter(newjava.io.OutputStreamWriter(System.out),true);

out.println("Hello");

}

}

A.includejava.io.OutputStreamWriter;

B.importjava.io.PrintWriter;

C.includejava.io.PrintWriter;

D.importjava.io.OutputStreamWriter;

【D】47、下面哪个是main()函数的合法参数?

()

A.charargs[]

B.charargs[][]

C.Stringargs

D.Stringargs[]

【D】48、下列语句序列给出了myArr,k与myMethod()的声明。

当调用方法myMethod(myArr,k)之后,存储在myArr和k里的值分别是()

StringmyArr[]={"peace","love","and"};

intk=7;

voidmyMethod(Stringa[],intm){

Stringtemp=a[1];

a[1]=a[2];

a[2]=temp;

m=a[2].length();

}

A.{"peace","and","love"},4

B.{"peace","love","and"},4

C.{"peace","love","and"},7

D.{"peace","and","love"},7

49、阅读下面的程序,写出程序运行的输出结果。

publicclassTest{

publicstaticcharmethod(charch){

if((ch>='A')&&(ch<='Z'))

return(char)(ch+32);

elsereturnch;

}

publicstaticvoidmain(String[]args){

Strings="0123456789ABCDEF",s1="";

for(inti=s.length()-1;i>=0;i--)

s1=s1+method(s.charAt(i));

System.out.println(s1);

}

}

答:

fedcba9876543210

50、

阅读下面程序,并回答问题。

(1)try块中包含的哪些语句或表达式可能抛出异常?

(2)流DataOutputStream和DataInputStream常被用于何种操作?

(3)假定文件out.txt中原本没有任何数据,这段程序执行完成后,文件out.txt的内容是什么?

程序在控制台

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

当前位置:首页 > 求职职场 > 职业规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1