一.单项选择题(3*15=45)1.如下代码:publicclassJavaContest{publicstaticvoidmain(String[]args)throwsException{Thread.sleep(3000);System.out.println(alive);}}请问编译运行的结果是什么?A.编译出错B.运行时抛出异常C.程序运行大约3秒后输出:aliveD.程序运行大约50分钟后输出:aliveE.代码正常运行但没有输出2.如下代码:publicclassTest{publicTest(){System.out.print(test);}publicTest(Stringval){this();System.out.print(testwith+val);}publicstaticvoidmain(String[]args){Testtest=newTest(wow);}}请问编译运行的结果是什么?A.testB.testtestwithwowC.testwithwowD.编译失败3.代码片段:importjava.io.*;publicclassForestimplementsSerializable{privateTreetree=newTree();publicstaticvoidmain(String[]args){Forestf=newForest();try{FileOutputStreamfs=newFileOutputStream(Forest.Ser);ObjectOutputStreamos=newObjectOutputStream(fs);os.writeObject(fs);os.close();}catch(Exceptionex){ex.printStackTrace();}}}classTree{}哪一项的描述是正确的?A.编译出错B.运行时抛出异常C.一个Forest的实例被序列化了D.一个Forest的实例和一个Tree的实例都被序列化了4.代码片段:publicvoidaSafeMethod(Objectvalue){//在这里检查方法的参数//这里省略其它代码System.out.println(value.toString());}代码中的方法要求传入的参数是非空的,请问有什么比较好的方式去处理一个空值?A.assertvalue==null;B.if(value==null){thrownewIllegalArgumentException(valuecannotbenull);}C.if(value==null){thrownewAssertionException(valuecannotbenull);}D.assertvalue!=null:valuecannotbenull;5.给出如下代码片段:String[]elements={for,tea,too};Stringfirst=(elements.length0)?elements[0]:null;以下哪个是正确结果?A.编译失败B.运行时抛出异常C.first的值被设为nullD.first的值被设位”for”6.代码片段:publicclassCertkiller3implementsRunnable{publicvoidrun(){System.out.print(running);}publicstaticvoidmain(String[]args){Threadt=newThread(newCertkiller3());t.run();t.run();t.start();}}执行的结果是?A.编译出错B.运行时抛出异常C.代码正常执行并且输出:runningD.代码正常执行并且输出:runningrunningE.代码正常执行并且输出:runningrunningrunning7.代码片段:System.out.format(Piisapproximately%d,Math.PI);请问执行的结果是什么?A.编译出错B.Piisapproximately3.C.Piisapproximately3.141593.D.运行时抛出异常8.如下代码:inti=1;while(i!=5){switch(i++%3){case0:System.out.print(A);break;case1:System.out.print(B);break;case2:System.out.print(C);break;}}请问编译运行的结果是什么?A.BCABB.BCBAC.ABCD.CBAE.NBAF.FIFA9.代码片段1:publicclassComplexCalc{publicintvalue;publicvoidcalc(){value+=5;}}代码片段2:publicclassMoreComplexCalcextendsComplexCalc{publicvoidcalc(){value-=2;}publicvoidcalc(intmulti){calc();super.calc();value*=multi;}publicstaticvoidmain(String[]args){MoreComplexCalccalc=newMoreComplexCalc();calc.calc(3);System.out.println(Ohitis:+calc.value);}}请问编译运行的结果是什么?A.Ohitis:9B.编译出错C.Ohitis:15D.Ohitis:-6E.代码正常运行但没有输出F.运行时抛出异常G.Ohitis:6H.Ohitis:-1510.代码片段:Stringtext=WelcometoJavacontest;String[]words=text.split(\s);System.out.println(words.length);请问编译运行的结果是什么?A.0B.1C.4D.编译出错E.运行时抛出一个异常11.如下代码:publicclassTest{privateinta;publicintb;protectedintc;intd;publicstaticvoidmain(String[]args){Testtest=newTest();inta=test.a++;intb=test.b--;intc=test.c++;intd=test.d--;System.out.println(a+-+b+-+c+-+d);}}请问哪个说法是正确的?A.编译错误,因为变量a,b,c和d没有被初始化B.编译错误,因为变量a无法被访问C.编译成功并输出0–0–0–0D.编译成功并输出1–1–1–112.代码片段:importjava.util.*;publicclassTestSet{enumNum{ONE,THREE,TWO}publicstaticvoidmain(String[]args){Collectioncoll=newLinkedList();coll.add(Num.THREE);coll.add(Num.ONE);coll.add(Num.THREE);coll.add(Num.TWO);coll.add(Num.TWO);Setset=newHashSet(coll);System.out.println(set);}}关于set变量的描述哪个选项是正确的?A.set变量只包含了coll集合中的3个变量,并且顺序与coll里的相同。B.set变量只包含了coll集合中的3个变量,但顺序无法确定。C.set变量包含了coll集合中的5个变量,但顺序无法确定。D.set变量包含了coll集合中的5个变量,并且顺序与coll里的相同。13.代码片段:publicclassPerson{privateStringname;publicPerson(Stringname){this.name=name;}publicbooleanequals(Personp){returnp.name.equals(this.name);}}哪个选项的描述是正确的?A.equals方法没有正确覆盖Object类中的equals方法。B.编译这段代码会出错,因为第5行的私有属性p.name访问不到。C.如果要与基于哈希的数据结构一起正常地工作,只需要在这个类中再实现hashCode方法即可。D.当添加一组Person对象到类型为java.util.Set的集合时,第4行中equals方法能够避免重复。14.代码片段:publicclassJavaContest{publicstaticvoidfun(shortn){System.out.print(short);}publicstaticvoidfun(Shortn){System.out.print(SHORT);}publicstaticvoidfun(Longn){System.out.print(LONG);}publicstaticvoidmain(String[]args){Shorty=0;intz=y;fun(y);fun(z);}}请问编译运行的结果是什么?A.shortLongB.SHOTRLONGC.编译出错D.运行时抛出异常15.代码片段:contestKiller=newReallyBigObject();//这里省略部分代码contestKiller=null;/*在这里补充代码*/以下哪一选项的代码是告诉虚拟机尽最大的能力去回收contestKiller这个对象所占用的内存?A.Runtime.getRuntime().freeMemory()B.Runtime.gc()C.System.freeMemory()D.Runtime.getRuntime().growHeap()E.System.gc()二.多项选择(5*5=25)16.给出一个尚未使用泛型的方法:11.publicstaticintgetSum(Listlist){12.intsun=0;13.for(Iteratoriter=(list).iterator();iter.hashNext();)14.inti=((Integer)iter.next()).intValue;15.sum+=i;16.}17.returnsum;18.}为了使用泛型,需要对代码做以下哪三项改动?A.删除第14行B.将第14行替换成inti=iter.next();C.将第13行替换成for(inti:inList){D.将第13行替换成for(Integeriter:inList)E.方法的参数声明改为getSum(ListintintList)F.方法的参数声明改为getSum(ListIntegerintList)17.代码片段:publicabstractinterfaceSudo{publicvoidcrazy(Strings);}请问以下哪些选项中的类定义是正确的?A.publicabstractclassMySudoimplementsSudo{publicabstractvoidcrazy(Strings);{}}B.publicabstractclassYourSudoimplementsSudo{}C.publicclassHerSudoimplementsSudo{publicvoidcrazy(Stringi);{}publicvoidcrazy(Intergers);{}}D.publicclassHisSudoimplementsSudo{publicvoidcrazy(Intergeri);{}}E.publicclassItsSudoextendsSudo{publicvoidcrazy(Intergeri);{}}18.如下代码:publicclassTest{publicstaticvoidmain(