- 42.99 KB
- 2022-08-26 发布
- 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
- 网站客服QQ:403074932
一.单项选择题(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");\nObjectOutputStreamos=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.length>0)?elements[0]:null;以下哪个是正确结果?A.编译失败B.运行时抛出异常C.first的值被设为nullD.first的值被设位”for”6.代码片段:\npublicclassCertkiller3implementsRunnable{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.BCBA\nA.ABCB.CBAC.NBAD.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.运行时抛出一个异常\n11.如下代码: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{\nprivateStringname;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()\n二.多项选择(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(ListintList)F.方法的参数声明改为getSum(ListintList)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(Stringargs[]){inti=3,j;outer:while(i>0){j=3;\ninner:while(j>0){if(j<2)breakouter;System.out.println(j+"and"+i);j--;}i--;}}}以下哪些选项的内容会出现在输出中?AEA.3and3B.3and2C.3and1D.3and0E.2and319.如下代码:importjava.io.*;classDirectories{staticString[]films={"sora","shu"};publicstaticvoidmain(String[]args){for(Stringfp:films){//在这里插入第一句代码Filefile=newFile(path,args[0]);//在这里插入第二句代码}}}有一个文件夹,它有2个子文件夹,分别是“sora”和“shu”,“sora”里面有只名为“aoi.txt”的文件,“shu”里面只有名为“qi.txt”的文件。在此文件夹下执行以下命令:JavaDirectoriesqi.txt输出结果是:“falsetrue”。请问把以下哪些选项的代码分别插入到上面代码中能达到此效果?A.//第一句代码Stringpath=fp;//第二句代码System.out.print(file.exists()+"");B.//第一句代码Stringpath=fp;//第二句代码System.out.print(file.isFile()+"");C.//第一句代码Stringpath=File.separator+fp;\n//第二句代码System.out.print(file.exists()+"");D.//第一句代码Stringpath=File.separator+fp;//第二句代码System.out.print(file.isFile()+"");20.以下哪些选项的代码存在错误?BCEA.longn1=12_3_45___789;B.longn2=__123_45_678_9;C.intn3=0xFc_aB_C3_353;D.doublen4=0b11001_001_0_0_11;E.floatn5=1.4_142_13;F.floatn6=0_1_2_3;三.JAVA编程题(5+5+7+13=30)21.写一个名叫Square的类用于求一个数的平方。类里面提供两个静态方法,名字都叫square。其中一个方法的参数和返回值都是long类型,另一个方法的参数和返回值都是double型。这是一道范例题,下面是一个可行的答案:publicclassSquare{publicstaticlongsquare(longv){returnv*v;}publicstaticdoublesquare(doubled){returnd*d;}}22.给出以下接口HelloWorld,请编写一个类MyHelloWorld实现该接口,并满足接口中所要求的功能。这是一道范例题,下面是一个可行的答案:publicclassMyHelloWorldimplementsHelloWorld{publicStringsayHelloWorld(Stringname){returnname+"say:helloworld!";}}给定如下的代码:publicinterfaceHelloWorld{\n/***返回name+"say:helloworld!".*/StringsayHelloWorld(Stringname);}请你写出一个类名为MyHelloWorld的类,要求能满足题意。23.给出如下Shape类,请实现一个公有类Rectangle,满足以下要求:1.继承于Shape,实现Shape所规定的功能2.有int类型的width和height属性(宽和高)及相应的getter和setter3.有一个带两个int参数的公有构造方法,第一个参数用于设置宽,第二个参数用于设置高给定如下代码:publicabstractclassShape{/***计算形状的面积*/abstractpublicintgetArea();}请您写出一个类名为Rectangle的类,要求能满足题意。24.在某间软件公司里,小蔡接到上头的一个任务:某位离职的员工留下了一个接口IList,但是该接口的实现类的源码却已丢失,现在需要为该接口重新开发一个实现类MyList。下面提供了IList接口的代码。要实现的MyList类是一个公有类,里面需要提供一个公有无参构造方法MyList(),用于创建一个空的(不含任何元素的)IList。请你帮小蔡写出这个实现类的代码。(注意,若要使用java.lang包之外的类,请别忘了import。)给定如下的代码:/***精简的列表(List),用于存储一系列的元素(对象)。*IList里面存储的元素会按插入的顺序排放,也能根据下标获取这些元素。下标从0开始*/publicinterfaceIList{/**\n*往列表的尾部增加一个元素*/voidadd(Objectelem);/***获取下标所指定的元素。当下标越界时抛出java.lang.IndexOutOfBoundsException*/Objectget(intindex);/***获取列表里当前的元素个数*/intsize();/***清空列表,移除列表里所有的元素*/voidclear();}请您写出一个类名为MyList的类,要求能满足题意。