《SCJP认证考试题库1.pdf》由会员分享,可在线阅读,更多相关《SCJP认证考试题库1.pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 考试大纲 第一部分:Ja v a语言基础 第二部分:流程控制 第三部分:面向对象封装,继承,多态 第四部分:异常处理 第五部分:多线程 第六部分:J a v a垃圾回收机制 第七部分:Java I/O 第八部分:Ja v a集合和泛型 第九部分:Java SE实用APIQUESTION 1Given the code in the ex h ib it.What is the re su lt?import java.io.*.;13.public class Forest implements Serializable(14.private Tree tree=new Tree();15.
2、public static void main(String args)16.Forest f=new Forest();17.tiy 18.FileOutputStream fs=new FileOutput Stream(uForest.Ser);19.ObjectOutputStream OS=new ObjectOutputStream(fs);20.os.vsTiteObject(f);OS.Close();21 catch(Exception ex)ex.PrintStackTrace();)222 3.24.class Tree()A.Co m p i l a t i o n f
3、 a i l sB.An e x c e p t i o n i s t h r o w n a t r u n t i m e.C.An i n s t a n c e o f Fo r e s t i s s e r i a l i z e d.D.An i n s t a n c e o f Fo r e s t a n d a n i n s t a n c e o f Tr e e a r e b o t hs e r i a l i z e d.An s w e r:(B)执行时期会抛出j a v a.i o.No t Se r i a l i z a b l e Ex c e t
4、 p i o n 异常。Tr e e 必须实现Se r i a l i z e d 接口;因为Fo r e s t 实现了序列化,并且引用了 Tr e e,但是Tr e e 没有实现序列化!当一个实现序列化的类在类体里调用另外一个类的时候,那么另外一个类也要实现序列化!如果没有实现,则会报出运行时异常!如果要实现序列化,他的成员变量也必须实现序列化.本题中Tr e e 没有实现序列化,所以会产生j a v a.i o.No t Se r i a l i z a b l e Ex c e p t i o n 的运彳亍异常!参考大纲:1 0 操 作 一 对象的序列化序列化的过程就是对象写入字节流和
5、从字节流中读取对象。见 SCJP.u l.Se r i a l i z a b l e Te s tQU ESTION 2W h i c h c o d e,i n s e r t e d a t l i n e 1 4,w i l l a l l o w t h i s c l a s s t o c o r r e c t l ys e r i a l i z e d a n dd e s t e r i l i z e d?1234567890123456A17import java 10*public class Foo iMpleaents Serializable public i
6、ni x.y.Dublic Foo(m t x.xnt y)this.x x.this y y.private void vriteObject(ObjoctOutputStreaa c)throws lOException s vritelnt(x).s.vritelnt(y).)private void readObject(ObiectInputStrea s)throws lOException.ClassNotFoundException(/insent code here)A.s.d e f a u l t Re a d Ob j e c t ();B.t h i s =s.d e
7、 f a u l t Re a d Ob j e c t ();C.y =s.d e f a u l t ();x =s.r e a d l n t ();D.x =s.r e a d l n t ();y =s.r e a d l n t ();An s w e r:(D)在反序列化方法中,从 s 对象中读取两个整数.序列化是写对象,反序列化是读对象参考大纲:1 0 操作一对象的序列化QU ESTION 3Gi v e n t h e e x h i b i t.11.&nng test=This is a test”;12 String tokens=test split Os*),13.
8、Systemout println(tokens lengyh);W h a t i s t h e r e s u l t?A.0B.1C.4D.Co m p i l a t i o n f a i l sE.An e x c e p t i o n i s t h r o w n a t r u n t i m eAn s w e r:(D)产 生 i l l e g a l e s c a p e c h a r a c t e r 非法转意符的编译错误s p l i t。字符切割器本题是想用空格来分割字符串,只能用“或 者“S”来分割,“S”没有这个转意字符!所以会报编译错误t a b
9、 可 以 用“t”;“可 以 用“”表示.St r i n g 的 s p l i t 方法用来分割字符串,这个方法接受一个正则表达式,根据表达式来分割,“s”表示空格,“s”没有这个转意字符,所以会产i l l e g a l e s c a p e c h a r a c t e r 的编译错误。参考大纲:实用API St r i n g 的 s p l i t。方法和正则表达式QU ESTION 4Gi v e n t h e e x h i b i t:12 Date date=new Date();13 df setLocale(Local lalyX14 String s=df F
10、ormat(date),Th e v a r i a b l e d f i sa n o b j e c t o f t y p e Da t e Fo r m a t t h a t h a s b e e ni n i t i a l i z e d i n l i n e 1 1.What is the result if this code is run on December 14,2000?A.The value of S is 14-dic-2004B.The value of S is Dec 14,2000C.An exception is thrown at runtim
11、eD.Compilation fails because of an error in line 13.Answer:(D)Dat eFormat用来格式日期,它放在java,text包里,它没有setLocale方法,Local.laly应 该 为 Locale.ITALY.代码语法有问题,,编译错误!参考大纲:实用API java,util包 和 java,text包QUESTION 5The doesFileExist method takes an array of directory namesrepresenting a pathfrom the root filesystem a
12、nd a file name.The method returnstrue if the file exists,false if does not.Place the code fragments in position to complete this method.I Ptocelwe Ifor(String dir directories)I Racehece|I Ptecehwe|Code FragmentsI Ptocehere|ieI Mh*Ftegk&L|*3 阳 修 呻 加 口|p1h p*a a to e d inAn s w e r:()p u b l i c s t a
13、 t i c b o o l e a n d o e s Fi l e Ex i s t(St r i n g d i r e c t o r i e s,f i l e n a m e)St r i n g p a t h =;f o r (St r i n g d i r :d i r e c t o r i e s)p a t h =p a t h +Fi l e,s e p a r a t o r +d i r;)Fi l e f i l e =n e w Fi l e(p a t h,f i l e n a m e);r e t u r n f i l e,e x i s t s()
14、;St r i n g参考大纲:1 0 操 作 一 Fi l eQU ESTION 6Gi v e n:Sy s t e m,o u t.p r i n t f (z,Pi i s a p p r o x i m a t e l y%f a n d E i sa p p r o xi m a t e l y%b ,M a t h.P I,M a t h.E);P l a c e t h e v a l u e s w h e r e t h e y w o u l d a p p e a r i n t h e o u t p u t.ValuesPi is approxxMately|Rtc
15、thwand E is approxm ately Pke*A n s w e r:()3.14 1593T r u e -判断E是否是N U L L,N U L L 是 F A L S E 否则是T R U E.P i=3.14 15926.E=2.718282P r i n t f O 是 C中常用的语法;%f表示浮点数(小数点后6 位),%b 表示 b o o l e a n,%d 表示整数.%e十进制的科学计数法表示浮点数%a 16进制表示浮点型科学计数法的整数部分,以 10进制表示指数%0 以8 进制表示整数%x 以 16进制表示整数%s 字符串个数输出%c c h a r 型格式输
16、出,提供的值应为整数型%t 输出日期时间的前置?参考大纲:实用A P I 一 F o r m a t t e r 格式化输出工具Q U E S T I O N 7W h e n c o m p a r i n g j a v a.i o.B u f f e r e d W r i t e r t o j a v a.i o.F i l e W r i t e r,w h i c h c a p a b i l i t ye xi s t a s a m e t h o d i n o n l y o n e o f t h e t w o?A.c l o s i n g t h e s t r
17、 e a mB.f l u s h i n g t h e s t r e a mC.w r i t i n g t o t h e s t r e a mD.m a r k i n g a l o c a t i o n i n t h e s t r e a mE.w r i t i n g a l i n e s e p a r a t o r t o t h e s t r e a mA n s w e r:(E )只有 B u f f e r e d W r i t e r 具有 n e w L i n e()方法;R e a d e r 才有 m a r k 功能。参考大纲:I/O
18、 操作 一B u f f e r w r i t e r 和 F i l e W r i t e rQ U E S T I O N 8G i v e n t h e e xh i b i t:W h i c h t w o c o d e f r a g m e n t s,i n s e r t e d i n d e p e n d e n t l y a t l i n e 3,g e n e r a t e t h e o u t p u t4 24 7?(c h o o s e t w o)1 public class Ceftkiller3(2.public static void
19、 main(String args)3/insert code here5 System out.pr in tin(s),6 )7.)A.S t r i n g s:1234 56789;s.=(s-123).r e p l a c e (1,3,24)-89;/S t r i n g 中只有“表示连接,但是无“一“;产生 p o e r a t o r-c a n n o t b e a p p l i e d t o j a v a.l a n g.S t r i n g编译错误B .S t r i n g B u f f e r s =n e w S t r i n g B u f f
20、 e r (“1234 56789);s.d e l e t e (0,3).r e p l a c e (1,3,24).d e l e t e (4,6);“d e l e t e (0,3)表示从0下标开始删除到3下标以前C.S t r i n g B u f f e r s =n e w S t r i n g B u f f e r (“1234 56789);s.s u b s t r i n g (3,6).d e l e t e(1,3).i n s e r t (1,24 ).S u b s t r i n g。回传的是一个 S t r i n g 而不是 S t r i n
21、 g B u f f e r,S t r i n g 没有 d e l e t e 方法,产生 c a n n o t f i n ds ym b o l的编译错误D.S t r i n g B u i l d e r s =n e w S t r i n g B u i l d e r (“1234 56789);s.s u b s t r i n g (3,6)d e l e t e (1,2).i n s e r t (1,24)错误同上E.S t r i n g B u i l d e r s =n e w S t r i n g B u i l d e r (“1234 56789);s.d e l e t e (0,3)r e p l a c e d,3,v ).d e l e t e (2,5).i n s e r t (1,24 )A n s w e r:(B,E )A,S t r i n g 没 有“一”运算符;S t r i n g 不能修改!B,正 确 4 24 7C,S.s u b s t r i n g 返回的是 S t r i n g,S t r i n g 没有 d e l e t e ()方法继续阅读
限制150内