SCJP考试真题和解析Read.docx

上传人:b****3 文档编号:4794134 上传时间:2023-05-07 格式:DOCX 页数:21 大小:24.70KB
下载 相关 举报
SCJP考试真题和解析Read.docx_第1页
第1页 / 共21页
SCJP考试真题和解析Read.docx_第2页
第2页 / 共21页
SCJP考试真题和解析Read.docx_第3页
第3页 / 共21页
SCJP考试真题和解析Read.docx_第4页
第4页 / 共21页
SCJP考试真题和解析Read.docx_第5页
第5页 / 共21页
SCJP考试真题和解析Read.docx_第6页
第6页 / 共21页
SCJP考试真题和解析Read.docx_第7页
第7页 / 共21页
SCJP考试真题和解析Read.docx_第8页
第8页 / 共21页
SCJP考试真题和解析Read.docx_第9页
第9页 / 共21页
SCJP考试真题和解析Read.docx_第10页
第10页 / 共21页
SCJP考试真题和解析Read.docx_第11页
第11页 / 共21页
SCJP考试真题和解析Read.docx_第12页
第12页 / 共21页
SCJP考试真题和解析Read.docx_第13页
第13页 / 共21页
SCJP考试真题和解析Read.docx_第14页
第14页 / 共21页
SCJP考试真题和解析Read.docx_第15页
第15页 / 共21页
SCJP考试真题和解析Read.docx_第16页
第16页 / 共21页
SCJP考试真题和解析Read.docx_第17页
第17页 / 共21页
SCJP考试真题和解析Read.docx_第18页
第18页 / 共21页
SCJP考试真题和解析Read.docx_第19页
第19页 / 共21页
SCJP考试真题和解析Read.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

SCJP考试真题和解析Read.docx

《SCJP考试真题和解析Read.docx》由会员分享,可在线阅读,更多相关《SCJP考试真题和解析Read.docx(21页珍藏版)》请在冰点文库上搜索。

SCJP考试真题和解析Read.docx

SCJP考试真题和解析Read

SCJP考试真题和解析

Choosethethreevalididentifiersfromthoselistedbelow.

  A.IDoLikeTheLongNameClass

  B.$byte

  C.const

  D._ok

  E.3_case

  解答:

A,B,D

  点评:

Java中的标示符必须是字母、美元符($)或下划线(_)开头。

关键字与保留字不能作为标示符。

选项C中的const是Java的保留字,所以不能作标示符。

选项E中的3_case以数字开头,违反了Java的规则。

  例题2:

  Howcanyouforcegarbagecollectionofanobject?

  A.Garbagecollectioncannotbeforced

  B.CallSystem.gc().

  C.CallSystem.gc(),passinginareferencetotheobjecttobegarbagecollected.

  D.CallRuntime.gc().

  E.Setallreferencestotheobjecttonewvalues(null,forexample).

  解答:

A

  点评:

在Java中垃圾收集是不能被强迫立即执行的。

调用System.gc()或Runtime.gc()静态方法不能保证垃圾收集器的立即执行,因为,也许存在着更高优先级的线程。

所以选项B、D不正确。

选项C的错误在于,System.gc()方法是不接受参数的。

选项E中的方法可以使对象在下次垃圾收集器运行时被收集。

 

 例题3:

 Considerthefollowingclass:

  1.classTest(inti){

  2.voidtest(inti){

  3.System.out.println(“Iamanint.”);

  4.}

  5.voidtest(Strings){

  6.System.out.println(“Iamastring.”);

  7.}

  

  8.

  

  9.publicstaticvoidmain(Stringargs[]){

  10.Testt=newTest();

  11.charch=“y”;

  12.t.test(ch);

  13.}

  14.}

  Whichofthestatementsbelowistrue?

(Chooseone.)

  A.Line5willnotcompile,becausevoidmethodscannotbeoverridden.

  B.Line12willnotcompile,becausethereisnoversionoftest()thatrakesacharargument.

  C.Thecodewillcompilebutwillthrowanexceptionatline12.

  D.Thecodewillcompileandproducethefollowingoutput:

Iamanint.

  E.Thecodewillcompileandproducethefollowingoutput:

IamaString.

  解答:

D

  点评:

在第12行,16位长的char型变量ch在编译时会自动转化为一个32位长的int型,并在运行时传给voidtest(inti)方法。

  例题4:

  Whichofthefollowinglinesofcodewillcompilewithouterror?

  A.

  inti=0;

  if(i){

  System.out.println(“Hi”);

  }

  B.

  booleanb=true;

  booleanb2=true;

  if(b==b2){

  System.out.println(“Sotrue”);

  }

  C.

  inti=1;

  intj=2;

  if(i==1||j==2)

  System.out.println(“OK”);

  D.

  inti=1;

  intj=2;

  if(i==1&|j==2)

  System.out.println(“OK”);

  解答:

B,C

  点评:

选项A错,因为if语句后需要一个boolean类型的表达式。

逻辑操作有^、&、|和&&、||,但是“&|”是非法的,所以选项D不正确。

  例题5:

  Whichtwodemonstratea"hasa"relationship?

(Choosetwo)

  A.publicinterfacePerson{}

publicclassEmployeeextendsPerson{}

  B.publicinterfaceShape{}

  publicinterfaceRectandleextendsShape{}

  C.publicinterfaceColorable{}

  publicclassShapeimplementsColorable

  {}

  D.publicclassSpecies{}

  publicclassAnimal{privateSpeciesspecies;}

  E.interfaceComponent{}

  classContainerimplementsComponent{

  privateComponent[]children;

  }

  解答:

D,E

  点评:

在Java中代码重用有两种可能的方式,即组合(“hasa”关系)和继承(“isa”关系)。

“hasa”关系是通过定义类的属性的方式实现的;而“isa”关系是通过类继承实现的。

本例中选项A、B、C体现了“isa”关系;选项D、E体现了“hasa”关系。

  例题6:

  Whichtwostatementsaretruefortheclassjava.util.TreeSet?

(Choosetwo)

  

  A.Theelementsinthecollectionareordered.

  B.Thecollectionisguaranteedtobeimmutable.

  C.Theelementsinthecollectionareguaranteedtobeunique.

  D.Theelementsinthecollectionareaccessedusingauniquekey.

  E.Theelementsinthecollectionareguaranteedtobesynchronized

  解答:

A,C

  点评:

TreeSet类实现了Set接口。

Set的特点是其中的元素惟一,选项C正确。

由于采用了树形存储方式,将元素有序地组织起来,所以选项A也正确。

例题7:

  TrueorFalse:

Readershavemethodsthatcanreadandreturnfloatsanddoubles.

  A.Ture

  B.False

  解答:

B

  点评:

Reader/Writer只处理Unicode字符的输入输出。

float和double可以通过stream进行I/O.

  例题8:

  Whatdoesthefollowingpaint()methoddraw?

  1.publicvoidpaint(Graphicsg){

  2.g.drawString(“Anyquestion”,10,0);

  3.}

  A.Thestring“Anyquestion?

”,withitstop-leftcornerat10,0

  B.Alittlesquigglecomingdownfromthetopofthecomponent.

  解答:

B

  点评:

drawString(Stringstr,intx,inty)方法是使用当前的颜色和字符,将str的内容显示出来,并且最左的字符的基线从(x,y)开始。

在本题中,y=0,所以基线位于最顶端。

我们只能看到下行字母的一部分,即字母‘y’、‘q’的下半部分。

  例题9:

  Whathappenswhenyoutrytocompileandrunthefollowingapplication?

Chooseallcorrectoptions.

  1.publicclassZ{

  2.publicstaticvoidmain(String[]args){

  3.newZ();

  4.}

  5.

  6.Z(){

  7.Zalias1=this;

  8.Zalias2=this;

  9.synchronized(alias1){

  10.try{

  11.alias2.wait();

  12.System.out.println(“DONEWAITING”);

  13.}

14.catch(InterruptedExceptione){

  15.System.out.println(“INTERR

  UPTED”);

  16.}

  17.catch(Exceptione){

 

  18.System.out.println(“OTHEREXCEPTION”);

  19.}

  20.finally{

  21.System.out.println

  (“FINALLY”);

  22.}

  23.}

  24.System.out.println(“ALLDONE”);

  25.}

  26.}

  A.Theapplicationcompilesbutdoesn'tprintanything.

  B.Theapplicationcompilesandprint“DONEWAITING”

  C.Theapplicationcompilesandprint“FINALLY”

  D.Theapplicationcompilesandprint“ALLDONE”

  E.Theapplicationcompilesandprint“INTERRUPTED”

  解答:

A

  点评:

在Java中,每一个对象都有锁。

任何时候,该锁都至多由一个线程控制。

由于alias1与alias2指向同一对象Z,在执行第11行前,线程拥有对象Z的锁。

在执行完第11行以后,该线程释放了对象Z的锁,进入等待池。

但此后没有线程调用对象Z的notify()和notifyAll()方法,所以该进程一直处于等待状态,没有输出。

  例题10:

  Whichstatementorstatementsaretrueaboutthecodelistedbelow?

Choosethree.

  1.publicclassMyTextAreaextendsTextArea{

  2.publicMyTextArea(intnrows,intncols){

  3.enableEvents(AWTEvent.TEXT_

  EVENT_MASK);

  4.}

  5.

  6.publicvoidprocessTextEvent

  (TextEventte){

  7.System.out.println(“Processingatextevent.”);

  8.}

  9.}

  A.ThesourcecodemustappearinafilecalledMyTextArea.java

  B.Betweenlines2and3,acallshouldbemadetosuper(nrows,ncols)sothatthenewcomponentwillhavethecorrectsize.

  C.Atline6,thereturntypeofprocessTextEvent()shouldbedeclaredboolean,notvoid.

  D.Betweenlines7and8,thefollowingcodeshouldappear:

returntrue.

  E.Betweenlines7and8,thefollowingcodeshouldappear:

super.processTextEvent(te).

  解答:

A,B,E

  点评:

由于类是public,所以文件名必须与之对应,选项A正确。

如果不在2、3行之间加上super(nrows,ncols)的话,则会调用无参数构建器TextArea(),使nrows、ncols信息丢失,故选项B正确。

在Java2中,所有的事件处理方法都不返回值,选项C、D错误。

选项E正确,因为如果不加super.processTextEvent(te),注册的listener将不会被唤醒。

1.Whichstatementaboutthegarbagecollectionmechanismaretrue?

  A.Garbagecollectionrequireadditionalprogramecodeincaseswheremultiple threadsarerunning.

  B.Theprogrammercanindicatethatareferencethroughalocalvariableisnolongerofinterest.

C.TheprogrammerhasamechanismthatexplicityandimmediatelyfreesthememoryusedbyJavaobjects.

  D.ThegarbagecollectionmechanismcanfreethememoryusedbyJavaObjectatexplectiontime.

  E.Thegarbagecollectionsystemneverreclaimsmemoryfromobjectswhilearestillaccessibletorunninguserthreads.

1。

B、E

  JAVA的垃圾回收机制是通过一个后台系统级线程对内存分配情况进行跟踪实现的,对程序员来说是透明的,程序员没有任何方式使无用内存显示的、立即的被释放。

而且它是在程序运行期间发生的。

  答案B告诉我们程序员可以使一个本地变量失去任何意义,例如给本地变量赋值为“null”;答案E告诉我们在程序运行期间不可能完全释放内存。

  2.Givethefollowingmethod:

  1)publicvoidmethod(){

  2)Stringa,b;

  3)a=newString(“helloworld”);

  4)b=newString(“gameover”);

  5)System.out.println(a+b+”ok”);

  6)a=null;

  7)a=b;

  8)System.out.println(a);

  9)}

  Intheabsenceofcompileroptimization,whichistheearliestpointtheobject  areferedisdefinitelyelibiletobegarbagecollection.

  A.beforeline3

  B.beforeline5

  C.beforeline6

  D.beforeline7

  E.Beforeline9

2。

D

  第6行将null赋值给a以后,a以前保存的引用所指向的内存空间就失去了作用,它可能被释放。

所以对象a可能最早被垃圾回收是在第7行以前,故选择D选项。

  3.Intheclassjava.awt.AWTEvent,whichistheparentclassuponwhichjdk1.1awteventsarebasedthereisamethodcalledgetIDwhichphraseaccuratelydescribesthereturnvalueofthismethod?

  A.Itisareferencetotheobjectdirectlyaffectedbythecauseoftheevent.

  B.Itisanindicationofthenatureofthecauseoftheevent.

  C.Itisanindicationofthepositionofthemousewhenitcausedtheevent.

  D.Inthecaseofamouseclick,itisanindicationofthetextunderthemouseatthetimeoftheevent.

  E.Ittellsthestateofcertainkeysonthekeybordatthetimeoftheevent.

  F.Itisanindicationofthetimeatwhichtheeventoccurred.

3。

B

  请查阅JAVA类库。

getID方法的返回值是“eventtype”。

在认证考试中,总会有类似的书本以外的知识,这只能靠多实践来增长知识了。

4.Whichstatementaboutlisteneristrue?

  A.Mostcomponentallowmultiplelistenerstobeadded.

  B.Ifmultiplelistenerbeaddtoasinglecomponent,theeventonlyaffectedonelistener.

  C.Componentdon?

tallowmultiplelistenerstobeadd.

  D.ThelistenermechanismallowsyoutocallanaddXxxxListenermethodasmanytimesasisneeded,specifyingasmanydifferentlistenersasyourdesignrequire.

4。

A、D

  控件可以同时使用多个“addXxxxListener”方法加入多个监听器。

并且当多个监听器加入到同一控件中时,事件可以响应多个监听器,响应是没有固定顺序的。

5.Givethefollowingcode:

  publicclassExample{

  publicstaticvoidmain(Stringargs[]){

  intl=0;

  do{

  System.out.println(“Doingitforlis:

”+l);

  }while(--l>0)

  System.out.println(“Finish”);

  }

  }

  Whichwellbeoutput:

  A.Doingitforlis3

  B.Doingitforlis1

  C.Doingitforlis2

  D.Doingitforlis0

  E.Doingitforlis?

C1

  F.Finish

5。

D、F

  本题主要考察考生对流程控制的掌握情况。

这是当型循环,条件为真执行,条件为假则退出。

循环体至少执行一次,故会输出D。

循环体以外的语句总会被执行,故输出F。

6.Givethecodefragment:

  1)switch(x){

  2)case1:

System.out.println(“Test1”);break;

  3)case2:

  4)case3:

System.out.println(“Test2”);break;

  5)default:

System.out.println(“end”);

  6)}

  whichvalueofxwouldcause“Test2”totheoutput:

  A.1

  B.2

  C.3

  D.default

6。

B.C

  在开关语句中,标号总是不被当做语句的一部分,标号的作用就是做为条件判断而已,一旦匹配成功,就执行其后的语句,一直遭遇break语句为止。

(包括default语句在内)

7.Giveincompletedmethod:

  1)

  2){if(unsafe()){//dosomething…}

  3)elseif(safe()){//dotheother…}

  4)}

  Themethodunsafe()wellthroeanI

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

当前位置:首页 > PPT模板 > 商务科技

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

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