OCJPSCJPJAVA考试题.docx

上传人:b****6 文档编号:9001225 上传时间:2023-02-02 格式:DOCX 页数:43 大小:2.87MB
下载 相关 举报
OCJPSCJPJAVA考试题.docx_第1页
第1页 / 共43页
OCJPSCJPJAVA考试题.docx_第2页
第2页 / 共43页
OCJPSCJPJAVA考试题.docx_第3页
第3页 / 共43页
OCJPSCJPJAVA考试题.docx_第4页
第4页 / 共43页
OCJPSCJPJAVA考试题.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

OCJPSCJPJAVA考试题.docx

《OCJPSCJPJAVA考试题.docx》由会员分享,可在线阅读,更多相关《OCJPSCJPJAVA考试题.docx(43页珍藏版)》请在冰豆网上搜索。

OCJPSCJPJAVA考试题.docx

OCJPSCJPJAVA考试题

QUESTION61

GIVENTHEEXHIBIT:

Whichstatementistrue?

A.Alloftheassertstatementsareusedappropriately.

B.Onlytheassertstatementonline31isusedappropriately

C.Theassertstatementsonlines29and31areusedappropriately

D.Theassertstatementsonlines26and29areusedappropriately

E.Theassertstatementsonlines29and33areusedappropriately

F.Theassertstatementsonlines29,31and33areusedappropriately

G.Theassertstatementsonlines26,29and31areusedappropriately

断言应该用在“你认为”你的程序不可能产生错误的地方,而且有没有启用断言,都不会影响程序的正常运行。

断言使用限制:

1.不要在public方法中,用断言来检查参数的正确性;

2.不要让断言语句去处理一些程序必须的流程。

原因:

1.public方法会被别人调用,你不能保证他一定启用断言;如果没有启用,那么用断言来做参数的检查也就没有意义了。

所以不要用断言来检查参数,公共方法的参数一定要用代码执行检查;2.如果用断言来控制程序执行流程,如果没有启用断言,那么程序就不能正确执行下去。

另外,断言语句不可以有任何边界效应,不要使用断言语句去修改变量和改变方法的返回值,如果这样当启动断言和不启动断言执行的结果会截然不同。

断言的使用时机:

1.检查流程的不变性:

在if-elseswitch-case的预期结果之外可以加上断言做额外的检查。

2.内部执行的不变性:

if(true){return;}assertfalse;

3.检查私有方法的参数,结果等

4.程序运行中的一致性

断言语句不是永远会执行,可以屏蔽也可以启用

javac–source1.4*.java

需要java–ea启用assert;当判断条件为FALSE时就抛出错误。

 

Answer:

(C)

26行不合适:

不要对public方法的参数断言

29合适:

程序员在程序中最不大可能到达的地方断言 

31合适:

断言private方法的参数 

33行不合适:

启用和不启用断言会产生不同的程序执行序

参考大纲:

异常处理—断言和AssertionError

 

QUESTION62

GIVENTHEEXHIBIT:

Whatistheresult?

A.null

B.zero

C.some

D.Compilationfails

E.Anexceptionisthrownatruntime

 

Answer:

(D)

13行会报错,应在15行使用elseif

参考大纲:

流程控制

QUESTION63

Giventheexhibit:

Whatistheresult?

A.test

B.Exception

C.Compilationfails

D.NullPointerException

 

Answer:

(C)

18行出错,应该先catch子异常,再catchException;

13行把args赋null,14行会报NullPointerException

如果没有第13行运行时14行会报ArrayIndexOutOfBoundsException异常。

参考大纲:

异常处理

QUESTION64

Giventheexhibit:

Whatistheresult?

A.Compilationfails

B.aAaAaAaAAaaAaA

C.AAaaAaAaAaaAaA

D.AaAAAaaaAaAaAa

E.aAaAaAaAaAAAaa

F.Anexceptionisthrownatruntime

 

Answer:

(C)

第10行将对strings这个集合做自然排序(ASCII小到大,一个一个比较)

Collections.sort(Listlist)对list进行排序,对set不能排序!

List里可以放对象,所以当list里面存放的是对象的时候就不能用Collections.sort(Listlist)去排序了。

因为JVM不知道用什么规则去排序!

只有把对象类实现Comparable接口,然后改写compareTo()

参考大纲:

集合

 

QUESTION65

Giventheexhibit:

Whatistheresult?

A.0

B.1

C.2

D.3

E.4

F.Compilationfails.

G.Anexceptionisthrownatruntime

 

Answer:

(D)

Set中存放的元素是无序不重复的。

如果你想Set里Add一个元素,首先他会去调用equals方法,判断set中是否有该元素,如果有则不更改set的值并返回false,如果没有,则把元素添加进去,并返回true。

Ws1ws2是自定义的类,ws1和ws2equals不相等;String的equals方法已经改写,s1和s2相等;

比较两个对象是否相同,先比较hashcode,如果相同,在用equals方法比较.如果都相同则两个对象就认为是相同的.

Hashcode是把对象的内存地址经过运算得来的.

基本数据类型和基本数据类型的包装类还有String类都已经覆盖了hashcode(),equals(),所以这些对象的值只要一样就认为对象一样.

参考大纲:

集合

 

QUESTION66

Givenapre-genericsimplementationofamethod:

Whichthreechangesmustbemadetothemethodsumtousegenerics?

(choosethree)

A.removeline14

B.replaceline14with"inti=iter.next();"

C.replaceline13with"for(inti:

intList){"

D.replaceline13with"for(Iteratoriter:

intList)"

E.replacethemethoddeclarationwith"sum(ListintList)"

F.replacethemethoddeclarationwith"sum(ListintList)"

 

Answer:

(A,C,F)

publicstaticintsum(ListintList){

intsum=0;

for(inti:

intList){

sum+=i;

}

returnsum;

}

参考大纲:

集合和泛型

 

Whatistheresult?

A.Compilationfailsduetoanerrorinline23.

B.Compilationfailsduetoanerrorinline29.

C.AClassCastExceptationoccursinline29.

D.AClassCastExceptationoccursinline31.

E.Thevalueofallfourobjectprintsinnaturalorder.

 

Answer:

(C)

Arrays.sort(Object[]a)方法中,a的每一个元素都必须是相互可以比较的(调用pareTo(Objecto2))。

否则会报ClassCastException的异常。

参考大纲:

泛型

QUESTION68

PlacethecodeintopositiontocreateaclassthatmapsfromStringstoIntegervalues.

Theresultofexecutionmustbe[one].Someoptionsmaybeusedmorethanonce.

Answer:

()

publicclassNumberNames{

privateHashMapmap=

newHashMap();

publicvoidput(Stringname,Integervalue){

map.put(name,value);

}

publicSetgetNames(){

Returnmap.keySet();

}

}

QUESTION69

Placearesultontoeachmethodcalltoindicatewhatwouldhappenifthemethodcall

wereinsertedatline9.Note:

Resultscanbeusedmorethanonce.

Answer:

()

Method

Result

m1(listA)

Compilesandrunswithouterror

泛型规范没问题

m2(listA)

Compilesandrunswithouterror

泛型规范没问题

m1(listB)

Compilesandrunswithouterror

B是A的子类,泛型规范没问题

m2(listB)

Doesnotcompile

m1(listO)

Doesnotcompile

m2(listO)

Doesnotcompile

QUESTION70

Giventheexhibit:

Whatistheresult?

A.apple:

apple

B.carrot:

apple

C.apple:

banana

D.banana:

apple

E.carrot:

carrot

F.carrot:

banana

 

Answer:

(C)

PriorityQueue优先级队列:

预设是自然排序,因此pq内的元素顺序将是apple->banana->carrot

poll()取第一个元素,取完之后删除,peek取第一个元素,并不删除元素

QUESTION71

Given:

AprogrammerisdevelopingaclassKey,thatwillbeusedasakeyinastandard

java.util.HashMap.

Whichtwomethodsshouldbeoverriddentoassurethatkeyworkscorrectlyasa

key?

(choosetwo)

A.publicinthashCode()

B.publicBooleanequals(Keyk)

C.publicintcompareTo(Objecto)

D.publicBooleanequals(Objecto)

 

Answer:

(A,D)

HashMap中的key不能重复,因此必须实现hashCode和equals方法

QUESTION72---

Giventheexhibit:

Whichtwo,insertedatline2willallowthecodetocompile?

(ChooseTwo)

A.publicclassMinMax

>{

B.publicclassMinMax

extendsNumber>{

C.publicclassMinMax{

D.publicclassMinMax{

E.publicclassMinMax

extendsObject>{

F.publicclassMinMax{

 

Answer:

(D,F)

N是泛型类别变量,它相当于一个类型。

A类声明是不能用?

这个万用字符。

B同上

CObject没有doubleValue()方法。

DOK.

E同A。

FOK.

QUESTION73

Giventheexhibit:

enumExample{ONE,TWO,THREE}

Whichstatementistrue?

A.Theexpressions(ONE==ONE)andONE.equals(ONE)arebothguaranteedtobetrue.

B.Theexpression(ONE

isguaranteedtobelessthanone.

C.TheExamplevaluescannotbeusedinarawjava.util.HashMap.;instead,the

programmermustuseajava.util.EnumMap.

D.TheExamplevaluescanbeusedinajava.util.SortedSet,butthesetwillNOTbe

sortedbecauseenumeratedTypedoNOTIMPLEMENTjava.lang.Comparable.

 

Answer:

(A)

A正确

B不能保证

C错误枚举类型的元素是可以用在HASHMAP里的

HashMaph=newHashMap;

h.put(1,Example.ONE);

D错误,枚举类型的元素值是可以放入SortedSet里的例如TreeSet.把枚举类型的元素转成字符串在放入其中,字符串就已经实现comparable接口。

可以自然排序。

SortedSets=newTreeSet();

s.add(Example.TWO);

s.add(Example.ONE);

System.out.println(s);

打印出结果[ONE,TWO]

QUESTION74

Giventheexhibit:

WhichlineofcodemarkstheearliestpointthatanobjectreferencedbyintObj

becomesacandidateforgarbagecollection?

A.Line16

B.Line17

C.Line18

D.Line19

E.TheobjectisNOTacandidateforgarbagecollection.

 

Answer:

(D)

intObj一直会被numbers引用,直到19行之后

QUESTION75

Given:

Andthecommandlineinvocation:

javaYippee2abc

Whatistheresult?

A.ab

B.bc

C.abc

D.Compilationfails.

E.Anexceptionisthrownatruntime.

 

Answer:

(B)

QUESTION76

Aclassgames.cards.PokeriscorrectlydefinedinthejarfilePoker.jar.Auserwants

toexecutethemainmethodofPokeronaUNIXsystemusingthecommand:

Javagames.cards.Poker

Whatallowstheusertodothis?

A.putPoker.jarindirectory/stuff/java,andsettheCLASSPATHtoinclude/stuff/java

B.putPoker.jarindirectory/stuff/java,andsettheCLASSPATHtoinclude

/stuff/java/*.jar

C.putPoker.jarindirectory/stuff/java,andsettheCLASSPATHtoinclude

/stuff/java/Poker.jar

D.putPoker.jarindirectory/stuff/java/games/cards,andsettheCLASSPATHtoinclude

/stuff/java

E.putPoker.jarindirectory/stuff/java/games/cards,andsettheCLASSPATHtoinclude

/stuff/java/*.jar

F.putPoker.jarindirectory/stuff/java/games/cards,andsettheCLASSPATHtoinclude

/stuff/java/Poker.jar

 

Answer:

(C)

classpath中须明确写明poker.jar,不能用*.jar

QUESTION77

Whichthreecodefragments,addedindividuallyatline29,producetheoutput100?

(Choosethree.)

A.n=100;

B.i.setX(100);

C.o.getY().setX(100);

D.i=newInner();i.setX(100);

E.0.setY(i);i=newInner();i.setX(100);

F.i=newInner();i.setX(100);o.setY(i);

 

Answer:

(B,C,F)

根据内存关系可知

QUESTION78

GivenaclassRepetition:

AndgivenanotherclassDemo:

Whichcodeshouldbeinsertedatline1ofDemo.javatocompileandrunDemotoprint"pizzapizza"

A.importutils.*;

B.staticimportutils.*;

C.importutils.Repetition.*;

D.staticimportutils.Repetition.*;

E.importutils.Repetition.twice();

F.importstaticutils.Repetition.twice;

G.staticimportutils.Repetition.twice;

 

Answer:

(F)

静态import引入静态方法.importstaticutils..Repetition*;或者importstaticutils.Repetition.twice;

A正常的导入类,Demo的第5行要new实例才能带用twice方法.

Bstaticimport顺序颠倒,而且要加上class名

C正常的导入,类名后面不能跟*

D顺序颠倒

E正常的导入,只能导入包下的类,不能导入类里的方法.

G顺序颠倒

QUESTION79

Given:

Andtheinvocation:

Whatistheresult?

A.Anexceptionisthrownatruntime.

B."Stringisempty"isprintedtooutput.

C.Compilationfailsbecauseofanerrorinline12.

D."Stringisnotempty"isprintedtooutput.

 

Answer:

(A)

A空指针异常------------------“|”是非短路逻辑运算符

QUESTION80

Exhibit:

Giventhefully-qualifiedclassnames:

com.foo.bar.Dog

com.foo.bar.blatz.Book

com.bar.Car

com.bar.blatz.Sun

WhichgraphrepresentsthecorrectdirectorystructureforaJARfilefromwhich

thoseclassescanbeusedbythecompilerandJVM?

A.JarA

B.JarB

C.JarC

D.JarD

E.JarE

 

Answer:

(A)

QUESTION81

Given:

and

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

当前位置:首页 > 初中教育 > 理化生

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

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