您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > SCJP认证考试题库1
•考试大纲第一部分:Java语言基础第二部分:流程控制第三部分:面向对象封装,继承,多态第四部分:异常处理第五部分:多线程第六部分:Java垃圾回收机制第七部分:JavaI/O第八部分:Java集合和泛型第九部分:JavaSE实用APIQUESTION1Giventhecodeintheexhibit.Whatistheresult?A.CompilationfailsB.Anexceptionisthrownatruntime.C.AninstanceofForestisserialized.D.AninstanceofForestandaninstanceofTreearebothserialized.Answer:(B)执行时期会抛出java.io.NotSerializableExcetpion异常。Tree必须实现Serialized接口;因为Forest实现了序列化,并且引用了Tree,但是Tree没有实现序列化!!当一个实现序列化的类在类体里调用另外一个类的时候,那么另外一个类也要实现序列化!如果没有实现,则会报出运行时异常!!如果要实现序列化,他的成员变量也必须实现序列化.本题中Tree没有实现序列化,所以会产生java.io.NotSerializableException的运行异常!参考大纲:IO操作—对象的序列化序列化的过程就是对象写入字节流和从字节流中读取对象。见SCJP.u1.SerializableTestQUESTION2Whichcode,insertedatline14,willallowthisclasstocorrectlyserializedanddesterilized?A.s.defaultReadObject();B.this=s.defaultReadObject();C.y=s.default();x=s.readInt();D.x=s.readInt();y=s.readInt();Answer:(D)在反序列化方法中,从s对象中读取两个整数.序列化是写对象,反序列化是读对象…参考大纲:IO操作—对象的序列化QUESTION3Giventheexhibit.Whatistheresult?A.0B.1C.4D.CompilationfailsE.AnexceptionisthrownatruntimeAnswer:(D)产生illegalescapecharacter非法转意符的编译错误split()字符切割器本题是想用空格来分割字符串,只能用“”或者“\\s”来分割,“\s”没有这个转意字符!所以会报编译错误……tab可以用“\t”;“\”可以用”\\”表示.String的split方法用来分割字符串,这个方法接受一个正则表达式,根据表达式来分割,“\\s”表示空格,“\s”没有这个转意字符,所以会产illegalescapecharacter的编译错误。参考大纲:实用API—String的split()方法和正则表达式QUESTION4Giventheexhibit:ThevariabledfisanobjectoftypeDateFormatthathasbeeninitializedinline11.WhatistheresultifthiscodeisrunonDecember14,2000?A.ThevalueofSis14-dic-2004B.ThevalueofSisDec14,2000C.AnexceptionisthrownatruntimeD.Compilationfailsbecauseofanerrorinline13.Answer:(D)DateFormat用来格式日期,它放在java.text包里,它没有setLocale方法,Local.Ialy应该为Locale.ITALY.代码语法有问题,,编译错误!参考大纲:实用API—java.util包和java.text包QUESTION5ThedoesFileExistmethodtakesanarrayofdirectorynamesrepresentingapathfromtherootfilesystemandafilename.Themethodreturnstrueifthefileexists,falseifdoesnot.Placethecodefragmentsinpositiontocompletethismethod.Answer:()publicstaticbooleandoesFileExist(String[]directories,Stringfilename){Stringpath=;for(Stringdir:directories){path=path+File.separator+dir;}Filefile=newFile(path,filename);returnfile.exists();}参考大纲:IO操作—FileQUESTION6Given:System.out.printf(Piisapproximately%fandEisapproximately%b,Math.PI,Math.E);Placethevalueswheretheywouldappearintheoutput.Answer:()3.141593True-----------判断E是否是NULL,NULL是FALSE否则是TRUE.Pi=3.1415926…….E=2.718282……Printf()是C中常用的语法;%f表示浮点数(小数点后6位),%b表示boolean,%d表示整数.%e十进制的科学计数法表示浮点数%a16进制表示浮点型科学计数法的整数部分,以10进制表示指数%0以8进制表示整数%x以16进制表示整数%s字符串个数输出%cchar型格式输出,提供的值应为整数型%t输出日期时间的前置????参考大纲:实用API—Formatter格式化输出工具QUESTION7Whencomparingjava.io.BufferedWritertojava.io.FileWriter,whichcapabilityexistasamethodinonlyoneofthetwo?A.closingthestreamB.flushingthestreamC.writingtothestreamD.markingalocationinthestreamE.writingalineseparatortothestreamAnswer:(E)只有BufferedWriter具有newLine()方法;Reader才有mark功能。参考大纲:I/O操作—BufferWriter和FileWriterQUESTION8Giventheexhibit:Whichtwocodefragments,insertedindependentlyatline3,generatetheoutput4247?(choosetwo)A.Strings=123456789;s.=(s-123).replace(1,3,24)-89;//String中只有”+”表示连接,但是无”-”;产生poerator-cannotbeappliedtojava..lang.String的编译错误B.StringBuffers=newStringBuffer(123456789);s.delete(0,3).replace(1,3,24).delete(4,6);//delete(0,3)表示从0下标开始删除到3下标以前C.StringBuffers=newStringBuffer(123456789);s.substring(3,6).delete(1,3).insert(1,24).Substring()回传的是一个String而不是StringBuffer,String没有delete方法,产生cannotfindsymbol的编译错误D.StringBuilders=newStringBuilder(123456789);s.substring(3,6)delete(1,2).insert(1,24)错误同上E.StringBuilders=newStringBuilder(123456789);s.delete(0,3)replace(1,3,””).delete(2,5).insert(1,24)Answer:(B,E)A,String没有“-”运算符;String不能修改!B,正确4247C,S.substring返回的是String,String没有delete()方法D,S.substring返回的是StringE,正确4247参考大纲:实用API—String、StringBuffer线程安全的适用于多线程、StringBuilder线程不安全,适合单线程,但是性能高.StringBufferStringBuilder的用法一样QUESTION9Answer:(B,D,E)A错误,聚合中的对象实现了serializable就能被序列化一个类包含另外一个类就是聚合.A的描述和对象是否支持序列化没有直接关系B正确java是跨平台的,序列化的工作也统一交给各个平台的jvm来处理C错误,不是volatile而是transient;有这个transient瞬态关键字的话,就不能序列化了!Volatile这个修饰符的变量,实现的和多线程同步的方法类似,但是不是很好用!D正确transient瞬态的对象是不支持序列化的E正确,只要子类实现serializable,不用考虑父类有无实现serializable参考大纲:IO操作—对象的序列化QUESTION10Giventheexhibit:Whatistheresult?A.shortLongB.SHORTLONGC.CompilationfailsD.AnexceptionisthrownatruntimeAnswer:(C)向上就近原则.第20行的go(z)将会依序找go(inti),go(longl),go(floatf),go(doubled)或go(Integeri)方法.但是并不会自动向上转型Long然后再呼叫go(Longn),这种依顺序向上找的特性只会发生在对应端基本资料型别的情况下,参考大纲:面向对象—重载;实用API—自动封包、拆包QUESTION11Giventheexhibit:*disvalid,non-nullDateobject*dfisavalid,non-nullDateFormatobjectsettothecurrentlocalWhatoutputsthecurrentlocal'scountrynameandtheappropriateversionofD'sdate?A.Localeloc=Locale.getLocal();System.outprintIn(loc.getDisplayCountry()B.Localeloc=Locale.getDefault();System.outprintIn(loc.getDisplayCountry()++df.format(d));C.Localeloc=Locale.getLocal();System.outprintIn(loc.getDisplayCountry()++df.setDateFormat(d));D.Localeloc=Locale.getDefault();System.outprintIn(loc.getDisplayCountry()++df.seDateFormat(d));Answer:(B)ALocale类没有getLocal()方法,编译错误B正确C错误Locale类没有getLocal()方法DateFormat没有setDateFormat()方法,编译错误DDateFormat没有setDateFormat(
本文标题:SCJP认证考试题库1
链接地址:https://www.777doc.com/doc-4338212 .html