Sun-Java程序员考试题库_第1页
Sun-Java程序员考试题库_第2页
Sun-Java程序员考试题库_第3页
Sun-Java程序员考试题库_第4页
Sun-Java程序员考试题库_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一部分基础知识练习目标本章对应于《学生指南》各章的内容分别提供了练习题集,包括:.第一章Java入门.第二章数据类型和运算符.第三章流程控制与数组.第四章封装.第五章继承.第六章抽象类与接口.第七章多态.第八章异常.第九章多线程机制.第十章输入输出流.第十一章使用泛型和集合框架.第十二章基于Swing的图形用户界面(GUI)设计.第十三章Java事件驱动编程第一章练习题(Java入门).下列哪项不是JDK所包含的内容?(选一项)A.Java编程语言B.工具及工具的APIJavaEE扩展APIJava平台虚拟机.下列关于JDK、JRE和JVM的描述。哪项正确?JDK中包含了JRE,JVM中包含了JREJRE中包含了JDK,JDK中包含了JVMJRE中包含了JDK,JVM中包含了JREJDK中包含了JRE,JRE中包含了JVM.下列哪个工具可以编译java源文件?javacjdbjavadocjunit.JDK工具javadoc的作用是哪项?A.生成Java文档B.编译Java源文件C.执行Java类文件D.测试Java代码.以下哪些包是Java标准库中常用的包?(选三项)java.langjavax.servlet.httpjava.iojava.sql.使用JDK工具生成的Java文档的文件格式是?A.XML格式B.自定义格式c.二进制格式D.HTML格式.以下关于JVM的叙述,哪项正确?(选两项)A.JVM运行于操作系统之上,它依赖于操作系统.JVM运行于操作系统之上,它与操作系统无关JVM支持Java程序运行,它能够直接运行Java字节码文件JVM支持Java程序运行,它能够直接运行Java源代码文件.以下关于支持Java运行平台的叙述,哪项错误?Java可在Solaris平台上运行Java可在Windows平台上运行C.Java语言与平台无关。Java程序的运行结果依赖于操作系统D.Java语言与平台无关。Java程序的运行结果与操作系统无关.以下关于Applet和Java程序之间关系的叙述,哪项错误?A.一个Applet就是一段Java程序Applet是一种特殊的Java程序,它需要运行在Web服务器上Applet是一种特殊的Java程序,它需要运行在Web浏览器上Applet是一种JavaSE平台的应用程序10.以下关于JavaHotSpot的描述,哪两项错误?(选两项)A.JavaHotSpot是一种热编译技术,在编译Java源程序时会被使用B.JavaHotSpot是一种热编译技术,在运行Java代码时会被使用C.JavaHotSpot是一种热编译技术,它只对程序的部分字节码进行优化D.JavaHotSpot是一种热编译技术,它会对程序的全部字节码进行优化.环境变量PATH中含有多个路径时,路径和路径之间可以用哪项来隔开?A.:B.,C.*D:|.CLASSPATH中的“.”的含义是哪项?A.省略号B.当前目录C.所有目录D.上级目录13.JVM在执行一个Java类时,大致采用以下过程?A.执行类中的代码一》装载类一〉校验类B.校验类一〉装载类一》执行类中的代码C.装载类一》执行类中的代码一》校验类D.装载类一〉校验类一》执行类中的代码.当运行一个Java程序时,传递参数的格式是哪项?java类名参数1,参数2javac类名参数1参数2java类名参数1参数2java类名参数1+参数2.以下关于Java文件名的叙述,正确的有?(选两项)A.Java源文件的扩展名应为.javaB.Java源文件的文件名应与文件中的类名一致Java字节码文件的扩展名应为.java一^个Java源文件中只能包含一y个Java类CDAAACDDACCBADABDCAB第二章练习题(数据类型和运算符).下列哪项不属于Java语言的基本数据类型?intStringdoubleboolean.下列哪项不是int类型的字面量?\u03A6077OxABBCD.20.下列哪项不是有效的标识符?userName2test$change_password.下列哪项是Java语言中所规定的注释样式?(选三项)A.//单行注释B.--单行注释/**单行或多行注释*//kk*文档注释*/5.下列哪项不是Java语言的关键字?A.gotosizeofinstanceofD.volatile.现有如下五个声明:Linel:inta_really_really_really_long_variable_name=5Line2:int_hi=6;Line3:intbig=Integer.getlnteger("7");Line4:int$dollars=8;line5:int%opercent=9;哪行无法通过编译?LinelLine3Line4Line5.现有:classTop{staticintx=l;publicTop(inty){x*=3;})classMiddleextendsTop{publicMiddle(){x+=1;)publicstaticvoidmain(String[]args){Middlem=newMiddle();System.out.println(x);))名结果为:B.2C.3D.编译失败8.现有:classPasserfstaticfinalintX=5;staticvoidmain(String[]args){newPasser().go(x);out.print(x);)void go(intx){System.out.print(x++);))结果是什么?555665669.现有:classWrenchfstaticvoidmain(String[]args){w=newWrench();Wrenchw2=newWrench();4. w2=go(w,w2);(w2==w);TOC\o"1-5"\h\z6. )Wrenchgo(Wrenchwrl,Wrenchwr2){wr3=wrl;wrl=wr2;wr2=wr3;returnwr3;))结果是什么?falsetrueC.编译失败D.运行的时候有异常抛出10.现有:classWrench2{intsize;staticvoidmain(String[]args){w=newWrench2();TOC\o"1-5"\h\z=II;Wrench2w2=go(w,;System.out.print (w2. size);)staticWrench2go(Wrench2 s)S=12;returnwr;))名结果为:1112c.编译失败。D.运行时异常被抛出.现有:classTest2fpublicstaticvoidmain(String[]args){shorta,b,C;a=l;b=2;C=a+b;a+=2:))以上代码中,哪一句是错误的?A.a=1:B.C=a+b;C.a+=2;D.shorta,b,C;.表达式:1-2/5+2'k5的结果是哪项?10.69.现有代码片段:Strings="123";Stringsl=S+456;请问sl的结果是哪项?A.123456B.579C.编译错误D.运行时抛出异常.基本数据类型float的包裹类是哪项?IntegerDoubleFloatCharacter.现有:classTest4{publicstaticvoidmain(String[]args){booleanX=true;booleany=false;shortZ=42;if((z++==42) &&(y二true))z++;((x二false) || (++z==45))z++;System.("z="+z);))名结果为:Z=42z=44Z=45z=46BABACDBDDABABDACDargs){args){args){args){第三章练习题第三章练习题(流程控制与数组).现有:classTestApp(publicstaticvoidmain(String1]for(inti=0;i<lO;i++){if(i==3)break;System.out.print(i);)))程序运行后的输出是哪项?0123009012.程序:classTestApp(publicstaticvoidmain(String1]intx=6;if(x>l)System.out.println("x>l");elseif(x>5)System.out.println("x>5");elseif(x<10)System.out.println("x<lO");elseif(x<29)System.out.println("x<29");elseSystem.out.println("以上都不是")))上述程序运行后的结果是哪项?A.x>5B.x>lC.x<10D.x<29.现有:classTestApp(publicstaticvoidmain(String口args){int[5]myarray={10,11,12,13,14);intsum=0;for(intx:myarray)sum+=x;System.out.println("sum="+sum);))上述程序运行后的结果是哪项?A.sum=10B.sum=70C.sum=60D.运行时抛出异常.下列有关数组的声明中,正确的是哪项?(选两项)A. ints[10];int[10]s;int[5]s={l,2,3,4,5};ints[];.已知数组array,其最后一个元素的下标是?A.array.sizeB.array.length-lC.array.size-lD.array.length.程序:classTestApp{publicstaticvoidmain(String[]args){intX=5:switch(x){casel:case2:case3:System.out.println("一季度”);break;case4:case5:case6:System.out.println("二季度");break;default:System.out.println("三季度以上“);break;)))上述程序运行后的结果是哪项?A.一季度B.二季度c.三季度以上D.无输出.为将数组myArray的长度由3改为6,现采取以下编码:int[]myArray=newint[3];myArray=newint[6];代码执行后,以下叙述哪项是正确的?A.数组myArray的长度已由3改为6,其中前3个元素的值不变,后3个元素的值为空。.数组myArray的长度已由3改为6,其中前3个元素的值不变,后3个元素需再经过初始化后才能使用。C.数组myArray的长度没有变化。D.数组myArray的长度已由3改为6,原来3个元素的值全部丢失。8.现有:classIfs{publicstaticvoidmain(String[]args){booleanstate=false;inti=2;if((++i>2) &&(state=true))i++;if((++i>4)ll(state=false))i++;.println(i);))名结果为:654D.编译失败现有:3.publicclassTester{staticvoidmain(String口args){intx-5;Integerxl=x; Integerx2=x;x3=newInteger(5);system..(x));system..(xl==x);lu. system..(xl));system..(x2==xl);system..(x2==x3);system..(x3));“ l4.)15. )名结果为:A.编译失败B.falsefalsetruetruetruetrueC.truetruetruetruetruetrueD.falsefalsetruetruetruefalseE.truefalsetruefalsefalsetrueF.运行时异常被抛出10.现有:1. class Rectangle {2' publicstaticmain(string []args)int[]x=(1,2,3);x⑴=(x[1]>1)?x[2]:O;. println(x[1]);))名结果为:3210.现有:classOutput(publicstaticvoidmain(String口args){inti=5:"4"+i+"");(i+5+"7");(i+-8");))名结果为:997229557584510758459722.以下哪种初始化数组的方式是错误的?String[]names={"zhang", "wang","li");Stringnames[]=newString[3];names[O]="zhang";names[1]="wang";names[2]="li"String[3]names={"zhang","wang","li");D.以上皆正确.现有:classWhileTests{publicstaticvoidmain(String[]args){intX=5;TOC\o"1-5"\h\zwhile(++x<4) {--x;)"x="+x);))结果是什么?=6B.X=5二2D.编译失败14.现有:classTest2fpublicstaticvoidmain(String[]args){booleanX=true;booleany=false;shortZ=20;if((x二二true)&&(y=true))z++;if((y二二true)|| (++z==22))z++;System.out.println("z="+z);))结果是什么?=21z=22z=23Z=2415.现有:classFoo{publicstaticvoidmain(String[]args){intx=O;inty=4;TOC\o"1-5"\h\zfor(intz=0; z<3;Z++;X++) {if(x>1&++y<10)y++;)9.System.out.println(y);))结果是什么?A.7B.8C.10D.12DBCCDBBDACCCABB第四章练习题(封装).下列有关类、对象和实例的叙述,正确的是哪一项?A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别B.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称C类是对象的抽象,对象是类的具体化,实例是类的另一个名称D.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称.下列类Account的构造方法中,声明正确的是?Account(Stringname)()Account(Stringname)Account(name)()NewAccount(Stringname)().类Account中字段声明正确的是哪项?classAccountfname;amount;)classAccount(Stringname=;doubleamount="Mike";)classAccountfStringname;doubleamount;)classAccount(Stringname="Mike,,,doubleamount=;).类Account中方法声明正确的是哪一项?classAccountfdeposit();)classAccountfvoiddeposit();)classAccountfvoiddeposit()())classAccountfvoiddeposit{)).下列有关类声明的代码片段,哪一项是正确的?packageschool;importjava.sql.*;classStudent{)importjava.sql.*;packageschool;classStudentf)packageschool;classStudent{)importjava.sql.*jpackageschool;importjava.sql.*;privateStringname;classStudent{).有关new关键字的描述正确的是哪项?A.创建对象实例的时候可以不使用new关键字B.new所创建的对象不占用内存空间C.new会调用类的构造器来创建对象D.new所创建的对象一定存在引用变量.下列哪些是方法publicintadd(inta)的重载方法?(选三项)A.publicintadd(longa);.publicvoidadd(inta)j.publicvoidadd(longa);publicintadd(floata);.我们定义一个Account类来描述银行账户,银行账户有账户名、金额等属性特征,同时有存款、取款等行为特征,下述代码适合描述的是哪项?classAccountfStringname;//账户Stringamount;//金额Account(Stringname)()voiddeposit(doublemount){//存款)voidwithdraw(doublemount){//取款))classAccountfStringname;//账户doujoleamount;//金额Account(doubleamount)()voiddeposit(doublemount){//存款)voidwithdraw(doublemount){//取款))classAccountfStringname;//账户doubleamount;//金额Account(Stringname)()voiddeposit(double巾0口门七){//存款)voidwithdraw(doublemount){//取款))classAccountfStringname;//账户doubleamount;//金额Account(Stringname){)voiddeposit(){//存款)voidwithdraw(){//取款)).现有:classBanana2fstaticintX=2;.'publicstaticvoidmain(String[]args){. intX=2;b=newBanana2();b.go(x);TOC\o"1-5"\h\z)static{x+=x;)voidgo(intx){++x;System. (x);))名结果为:753210.现有:classTestFoofintx;Stringy;getX(){returnx;}getY(){returny;}voidsetX(intx){TOC\o"1-5"\h\zint Z=7:=x;))可以添加多少个修饰符来封装此类?432.定义枚举如下:publicenumDirection(EAST,SOUTH,WEST,NORTH)F列正确使用该枚举类型的语句是哪项?DirectionDirection=EAST;Directiondirection二;inta-;nDirectiondirection=2;.定义类:packageutils;publicclassRep(publicstaticStringtwice(Strings){returns+s;))再定义另一个类Demo:l.publicstaticvoidmain(String[]args){.out.println(twice("Hello"));))在第一行插入哪项代码,可以使程序正常编译和执行?A.importutils.*;import.*;importstaticD.staticimport13.现有:publicclassTestDemo(privateintX-2;staticinty=3;publicvoidmethod(){finalinti=100;intj=10;classCinner{publicvoidmymethod(){yji.现有如F包结构:comI一一XI I一一I II I y||l--和类:classTest{Alphaa;Betab;Gammac;}哪三个必须加入到类Test中,以使其通过编译?(选三项)A.packagey;B.packagecom;C.importD.import.*;.现有2个文件:packagex;publicclassX{staticvoiddoX(){"doX");}4.}和:1.classFind{staticvoidmain(String[]args){}哪两行分别插入到类Find的第3行将编译并产生输出“doX”?(选两项)doX();X.doX();C.x.X.doX();D.myX=new();();1D2A3C4C5A6C7ACD8C9CDBCABDBCDCD第五章练习题(继承)1.下列关于继承优点的叙述正确的是哪几项?(选三项)A.可以创建更为特殊的类型B.消除重复代码C执行效率高D.便于维护.在子类中调用父类中被覆盖的方法时需要使用哪项关键字?thissupernewD.以上都不是.现有publicclassParenttpublicvoidchange(intx)())publicclassChildextendsParent(//覆盖父类change方法)下列哪个声明是正确的覆盖了父类的change方法?protectedvoidchange(intx){}publicvoidchange(intx,inty){}publicvoidchange(intx){}publicvoidchange(Strings){}.如果想要一个类不能被任何类继承的话,需要使用哪个关键字来修饰该类?abstractnewstaticfinal.为了使得输出对象引用的时候得到有意义的信我们应该覆盖Objectt{-的哪个方法?equalstoStringhashCodenotify.现有:publicclassPet()publicclassCatextendsPet{)执行代码Catc-newCat();Petp=(Pet)c;后下列哪项是正确的?Petp=(Pet)c运行错误Petp=(Pet)c编译错误Petp=(Pet)c止常执行D.以上都不对.程序:publicclassPet{publicvoidspeak(){("pet");))publicclassCatextendsPet{pulolicvoidspeak(){"Cat");))publicclassDogextendsPet(publicvoidspeak(){"Dog");))执行代码Pet[]p={newCat(),newDog(),nexPet());for(inti=O;i<;i++)p[i].speak();后输出的内容是哪项?.CatCatCat.CatDogDogCatDogPet8.现有:classDog{)classHarrierextendsDog{)classDogTest{staticvoidmain(String[]args)(6.Dogdl=newDog();hl=newHarrier();8. Dogd2=hl;h2=(Harrier)d2;Harrierh3=d2;))下面哪一项是正确的?个Dog对象被创建个Harrier对象被创建个Harrier对象被创建D.编译失败9.现有:classCat{(intc){{"cat"+c+"");}TOC\o"1-5"\h\z)classSubCatextendsCat{(intc){super(5); ("cable");)SubCat(){this(4); )staticvoidmain(String[]args){s=newSubCat();))名结果为:cat5cablecat5cablecablecat5

10.现有:classGuy{Stringgreet(){return"hi";}}returndude!returndude!classSurferextendsGuy(Stringgreet()(return;))classGreetings{staticvoidmain(String[]args){[]guys=(newGuy(),newCowboy(),newSurfer());for(Guyg:guys)());))名结果为:A.hihowdydude!B.运行时异常被抛出。c.第7行出现一个错误,编译失败。D.第8行出现一个错误,编译失败。11.现有:1.classOver{dolt(longx){return3;}3.)4.classUnderextendsOver{//insertcodehere)和四个方法:shortdolt(inty){return4;}intdolt(longXrlongy){return4;}privateintdolt(shorty){return4;}protectedintdolt(longx){return4;}分别插入到第6行,有几个可以通过编译?A.123412现有classBeverage{Beverage() {("beverage");})classBeerextendsBeverage{publicstaticvoidmain{string[]args){Beerb=newBeer(14);)publicintBeer(intx){this();("beerl");)publicBeer(){"beer2");})结果是什么?beerlbeveragebeer2beveragebeveragebeer2beerlD.编译失败.现有:classBird{voidtalk(){"chirp");})classParrot2extendsBird{protectedvoidtalk(){"hello");publicstaticvoidmain(String[]args){Bird[]birds={newBird(),newParrot2());for(Birdb:birds)();))结果是什么?chirpchirphellohellochirphelloD:编译错误.现有:classSuperFoo(doStuff(intx){newSuperFoo();))classFooextendsSuperFoo{//insertcodehere)和四个声明:TOC\o"1-5"\h\zFoodoStuff(intx){ returnnew Foo(); }FoodoStuff(intx){ returnnew SuperFoo() ; }SuperFoodoStuff(intx) {return newFoo(); }SuperFoodoStuff(inty) {return newSuperFoo(); }分别插入到第8行,有几个可以通过编泽?123415.现有:classHorseRadish{//insertcodehereHorseRadish(intx){("bokchoy");TOC\o"1-5"\h\z))classWasabiextendsHorseRadish{staticvoidmain(String[]args)(w-newWasabi();10, 1)(选分别插入到第2行,哪两项允许代码编译并产生"bokchoy”输出结果?(选两项)protectedHorseRadish(){this(42);}protectedHorseRadish(){}//justacommentprotectedHorseRadish(){newHorseRadish(42);}参考答案1ABD2B3C4DSB6A7D8D9CADDCDAD第六章练习题(抽象类与接口)1.下列有关抽象类的叙述正确的是哪项?A.抽象类中一定含有抽象方法B.抽象类的声明必须包含abstract关键字C抽象类既能被实例化也能被继承D.抽象类中不能有构造方法2.下列有关抽象方法叙述正确的是哪项?(选两项)A.抽象方法和普通方法一样,只是前面多加一个修饰符asbtractB.抽象方法没有方法体c.抽象方法可以包含存任何类中D.包含抽象方法的类的具体子类必须提供具体的覆盖方法3.下列有关接口的叙述错误的是哪项?A.接口中只能包含抽象方法和常量B.一个类可以实现多个接口C.类实现接口时必须实现其中的方法D.接口不能被继承.下列关于接口的定义哪项是正确的?interfaceC{inta;)publicinterfaceAimplementsB{)publicinterfaceA{inta(); )abstractinterfaceD{).现有:interfaceAnimalfvoideat();TOC\o"1-5"\h\z)publicclassHouseCatimplementsFeline{publicvoideat(){})和以下三个接口声明:interfaceFelineextendsAnimal()interfaceFelineextendsAnimal{voideat();}interfaceFelineextendsAnimal{voideat(){} }分别插入到第5行,有多少行可以编译?01236.现自:interfaceColor{}interfaceWeight{}01237.现有:1.abstractclassColor{abstractStringgetRGB();)publicclassBlueextendsColor{//insertcodehere)和四个声明:publicStringgetRGB(){return"blue";}StringgetRGB(){return"blue";)privateStringgetRGB(){return"blue";}protectedStringgetRGB(){return"blue";)分别插入到第6行,有几个可以通过编译?A.01238.现有:abstractclassColor2{)publicclassBlue2extendsColor2{StringgetRGB(){return"blue";})和4个声明:publicabstractStringgetRGB();abstractStringgetRGB();privateabstractStringgetRGB();protectedabstractStringgetRGB();分别插入到第2行,有多少行可以编译?O12D3现有:classTop{staticintX=l;publicTop(){x*=3;))classMiddleextendsTop{Middle(){x+=l;}staticvoidmain(String[]args){m=newMiddle();(x)j))结果是什么?234D.编译失败10.现有两个文件:packageX;publicclassX{publicstaticvoiddoX(){("doX");})和:1.import;classFind{publiCstaticvoidmain(String[]args)TOC\o"1-5"\h\zXmyX=newX(); ();();:myX2=new();myx2.doX();} ,)名结果为:Find类中第4行出现一个错误,编译失败。Find类第5行出现一个错误,编译失败。Find类第6行出现一个错误,编译失败。doXdoXdoXdoX11.现有:classTree{privatestaticStringtree="tree";StringgetTree() {returntree;})classElmextendsTree{privatestaticStringtree="elm";publicstaticvoidmain(String[]args){newElm().go(newTree());)voidgo(Treet){Strings= ()++tree+(newElm().getTree());(s);结果为:elmelmelmelmtreeelmelmelmtreeelmelmtreetreeelmtreeelm12.现有:interfaceAnimal{voideat();)7.publicclassHouseCatextendsFeline{publicvoideat(){})和五个申明abstractclassFelineimplementsAnimal{}abstractclassFelineimplementsAnimal{voideat();)abstractclassFelineimplementsAnimal{publicvoideat();)abstractclassFelineimplementsAnimal{publicvoideat(){1}abstractclassFelineimplementsAnimal{abstractpublicvoideat();)12313.现有:interfaceI{voidgo();}abstractclassAimplementsI{}classCextendsA{voidgo(){))结果是什么?A.代码通过编译B.由于第1行的错误导致编译失败C.由于笫3行的错误导致编译失败D.由于第6行的错误导致编译失败14.现有:interfaceData{publicvoidload();)abstractclassInfo{publicabstractvoidload();)下列类定义中正确使用Data和Info的是哪项?A.publicclassEmployeeimplementsInfoextendsDatapublicvoidload(){/*dosomething*/))classEmployeeextendsData{publicvoidload(){/*dosomething*/))classimplementsInfextendsData{publicvoid() {*dosomething*/)publicvoidload(){/*dosomething*/))classEmployeeextendsInfimplementsData{publicvoid() {/*dosomething*/)publicvoid(){/*dosomething*/))15.下列代码正确的是哪项?publicclassSessionimplementsRunnable,Clonable(publicvoidrun();publicObjectclone();)publicclassSessionextendsRunnable,Cloneable{publicvoidrun(){/*dosomething*/)publicObjectclone(){/*makeacopy*/))publicabstractclassSessionimplementsRunnable,Clonable{pu)olicvoidrun(){/*dosomething*/)publicObjectclone(){/*makeacopy*/))publicclassSessionimplementsRunnable,implementsClonable{publicvoidrun(){/*dosomething*/)publicObjectclone(){/*makeacopy*/))参考答案1B2BDDCCDBC3D4C5C6B7C8D9C101112131415第七章练习题(多态).下列自‛关多态的叙述正确的是哪项?(选两项)A.父类的引用指向子类的实例是一种多态B.子类的引用指向子类的实例是一种多态c.接口的引用指向实现该接口类的实例是一种多态D.抽象类的引用指向抽象类的实例是一种多态.Java中方法绑定有哪些形式?(选两项)A.编译时刻绑定.运行时刻绑定c.静态绑定D.私有绑定.表达式"hello"instanceofString返回的值是哪项?truefalse10.求平方根方法publicstaticdoublesqrt(doublea)可以传递的参数类型有哪些?(选三项)A.byteB.floatStringlong.涉及类MyClass的方法签名足publicvoidfind(MyClassa),那么该方法可接收的实际参数的类型可以是哪些?(选两项)MyClass类的类型MyClass子类的类型Object类型D.所有接口.使用下列哪些关键字可以判定实参的具体类型?asisinstanceofextends.现有:classPencil{publicvoidwrite(Stringcontent){("Write"+content);))classRubberPencilextendsPencil{publicvoiderase(Stringcontent){("Erase"+content);))执行下列代码的结果是哪项?Pencilpen=newRubberPencil();("Hello");("Hello");WriteHelloEraseHelloEraseHelloWriteHelloC.编译错误D.运行时抛出异常.现有:classPencil{publicvoidwrite(Stringcontent){("Write"+content);))classRubberPencilextendsPencil{publicvoidwrite(Stringcontent){("RubberWrite"+content);)publicvoiderase(Stringcontent){("Erase"+content);))执行下列代码的结果是哪项?Pencilpen=newRubberPencil();("Hello");WriteHelloRubberWriteHelloC.编译错误D.运行时抛出异常9下列哪些方法是在编译时刻绑定的?(选三项)A.静态方法private方法final方法D.非private方法10.现有:classPencil{publicvoidwrite(Stringcontent){"Write",+content){))classRubberPencilextendsPencil{publicvoidwrite(Stringcontent){"RubberWrite"+content);)publicvoiderase(Stringcontent){"Erase"+content);))执行下列代码的结果是哪项?Pencilpen=newPencil();((RubberPencil)pen).write("Hello");WriteHelloRubberWriteHelloc.编译失败D.运行时抛出异常1.现有:classTestA{publicvoidstart(){"TestA");})publicclassTestBextendsTestA{publicvoidstart(){"TestB");}publicstaticmain(string[]args)(((TestA)newTestB()).start();))运行结果是哪项?TeStATeStBc.编译失败D.运行时抛出异常.现有:classA{publicStringname="a"}classBextendsA{publicStringname="b"}执行如下代码后的结果是哪项?Aa=newB();abc.编译失败D.运行时抛出异常.现有:InterfaceF{}class A implementsF{}TOC\o"1-5"\h\zclass B extends A{}class C extends B{publicstaticvoidmain(String[]args){Bb=newB();//inSertC0dehere}}

下列哪行代码插入到第7行,将抛出异常7A a=b;F f=(C)b;F f=(A)b;B bb=(B)(A)b;14.现有:classGuy{Stringgreet(){return"hi";}jclassCowboyextendsGuy{Stringgreet(){return.howdy";}}classWranglerextendsCowboy{Stringgreet(){return"orch!";}}classGreetings2{publicstaticvoidmain(String[]args){Guyg=newWrangler();Guyg2=newCowboy();Wranglerw2=newWrangler();System.out.print()+()+w2.greet());}}结果是什么?A.B.A.B.C.D.ouch!howdyouch!hihowdyouch!编译失败E.运行的咐候有异常抛出15.现有:classClassA{}classClassBextendsClassA{)classClassCextendsClassA{)以及:ClassAp0=newClassA();ClassBpl=newClassB();ClassCp2=newClassC();ClassAp3=newClassB();ClassAp4=newClassC();下列哪些是正确的?(选三项]p0=pl;pl=p2;p2=p4;p2=(ClassC)pl;pl=(ClassB)p3;p2=(Classc)p4;参考答案1AC2AB3A4ABD5AB6C7C8B9ABCDBABB15AEF第八章练习题(异常)I.Java语言中异常的分类是哪项?A.运行时异常和异常B.受检异常和非受检异常C错误和异常D.错误和运行时异常.所有异常的父类是哪项?A.B.A.B.C.D.ErrorRuntimeExceptionException.关于try...catch...finally结构,描述正确的是哪项? (选两项)确的是确的是A,可以有多个catchB.只能有一y个catchC.可以没有catchD.finally必须有4.下列属于非受检异常的是哪项?SQLExceptionlOExceptionC.NullPointerExceptionD.OutOfMemoryError5.假设有自定义异常类ServiceException,那么抛出该异常的语句正哪项?raiseServiceExceptionthrownewServiceException()throwServiceExceptionthrowsServiceException.在方法的声明中,要求该方法必须抛出异常时使用哪个关键字?throwcatchfinallythrows.现有:classNumber(publicstaticvoidmain(String[]aras){try{("forty"));}catch(RuntimeExceptionr){("runtime");}catch(NumberFormatExceptione){system..("number");TOC\o"1-5"\h\z)))结果是什么?numberruntimefortynumberD.编译失败现有:voidtopGo(){try{middleGo();TOC\o"1-5"\h\z) catch(Exception e){"catch");14. ))6. void middleGo()throws Exception {17. go();18. "latemiddle");9. ).voidgo()throwsException{thrownewException();)如果调用topGo(),则结果为:latemiddlecatchlatemiddlecatchcatchIatemiddle9.现有classCalc{publicstaticvoidmain(String[]args){try{intx=("42a");("oops");)))下面哪两行分别插入到第五行,会导致输"oops"?(选两项)}catch(IllegalArgumentExceptione){}catch(IllegalStateExceptionc){}catch(NumbelFormatExceptionn){}catch(ClassCastExceptionc){10.现有:classFlow{publicstaticvoidmain(String[]args)ttry{. System.out.print("before");. doRiskyThing();("after");}catch(Exceptionfe){("catch");). System.out.println("done");)publicstaticvoiddoRiskyThing()throwsException{beforecatchbeforeafterdonebeforecatchdonebeforeaftercatch11.现有:classBirds{publicstaticvoidmain(String[]args){try{thrownewException();}catch(Exceptione){try{thrownewException();}catch(Exceptione2) {("inner");)System.("middle");)("outer");))inneroutermiddleouterinnermiddleouterD.编译失败12.现有:classParserextendsUtilis{publicstaticvoidmain(String[]args){. try{System.(newParser().getlnt("42"));}catch(NumberFormatExceptionn){TOC\o"1-5"\h\z. .println("NFExc"); })intgetlnt(Stringarg)throwsNumberFormatException{return(arg);))classUtils{intgetlnt(Stringarg){return42;})绐果为:NFExc4242NFExc.编译失败13.现有:1.classParserextendsUtils(staticvoidmain(String1]args){{(newParser().getlnt("42"));4. }catch(Exceptione){TOC\o"1-5"\h\z"Exc");)6. )getlnt(Stringarg)throwsException((arg);))classUtils{intgetlnt(Stringarg){return42;})名结果为:A.42B.ExcC.42ExcD.编译失败现有:classPropeller2{pulolicstaticvoidmain(String[]args)//addcodehere?{newPropeller2().topGo();}topGo()//addcodehere?{middleGo(); }middleGo()//addcodehere?9. { go();("latemiddle");}voidgo()//addcodehere?{thrownewException();})为使代码通过编译,需要在哪一行加入声明throwsException?A.只在第11行B.在第8行和第11行C.在第5行、第8行和第11行D.在第2行、第5行、第8行和第11行15.现有classParserextendsUtils{publicstaticvoidmain(String[]args)try{(newParser().getlnt("42"))}catch(Exceptione){("Exc");))intgetlnt(Stringarg)throwsException{return(arg);))classUtils{intgetlnt() {return42;})结果是什么?42ExcExc42D.编译失败参考答案1B2A3AC4D5B6D7D8BACBCCBDDC第九章练习题(多线程机制).线程由以下哪些部分组成?(选三项)A.虚拟的CPUB.CPu执行的代码C支持代码工作的数据D.进程2.创建线程的时候必须实现哪项接口?RunnableThreadRunStart.启动一个线程的方法是哪项?join()runf)start()sleep().当一个处于阻塞状态的线程解除阻塞后,它将回到哪个状态?A.运行中状态B.结束状态C.新建状态D.可运行状态.可以通过继承哪个类来创建线程?A.ThreadB.RunnableC.tartD.run.为了保证方法的线程安全,声明方法的时候必须用哪个修饰符?newtransientvoidsynchronized7.线程的默认优先级是哪项?01c.5D.108.现有:classThread?implementsRunnable(voidrun(){("go");)staticvoidmain(String[]args){t2=newThread2();t二newThread(t2);();))名结果为:A.go.运行时异常被抛出c.代码运行,无输出结果D.编译失败.程序员想要创建一个名为MyThread的类以便在main方法中用Thread实例化。对于下面三行:MyThread必须继承Thread。MyThread必须实现Thread。MyThread必须覆盖publicvoidrun()。有几行是正确的7.A.012310.现有:classThreadBothextendsThreaaimplementsRunnable{voidrun()"hi"); }staticvoiclmain(String[]args){tl二newThreadBoth():t2=newThread(tl):TOC\o"1-5"\h\z():():))名结果为:hihihiC.编译失败D.运行时异常被抛出11.现有:t是一个合法的Thread对象的引用,并且t的合法run()方法如下:publicvoidrun(){("go");)及:();();n();哪一个是结果?gogogogogogo之后跟着一个异常gogo之后跟着一个异常12.现有:1.classThreadExceptimplementsRunnable2.publicvoidrun()thrownewRuntimeException("exception");}args)publicstaticvoidmain(Stri_ng[]args)newThread(newThreadExcept()).start();try{intx=(args[0]);Thread.sleep(x);"main");}catch(Exceptione){}))和命令行: javaThreadExceptl000哪一个是结果?A.mainB.编译失败C.mainexceptionD.代码运行,但没有输出13.现有:classOrder2implementsRunnable{publicvoidrun(){(intx-o;x<4;x++) {{(100);)catch(Exceptione){}"r");))publicstaticvoidmain(string[]args)Threadt=newThread(neworder2());t.start();for(intx=0; x<4; x++) {//insertcodehere"m");}))哪一y个插入到第15行,最有可能产生输出rmrmrmrm?A.B.C.D.E.A.B.C.D.E.F.Thread.sleep(1);Thread.sleep(100);(1000);try{(1);try{(100);try{(1000);)catch)catch

)catch(Exceptione)(Exceptione)(Exceptione)14.现有:classWaitingimplementsRunnable{booleanflag=false;synchronizedvoidrun(){if(flag){flag=false;(T);7.try{(); )catch(Exceptione){}("2"))else{flag=true;("3");try{(2000); }catch(Exceptione){}("4");notify();))publicstatic voidmain (String[]args)Waitingw=new Waiting();newThread(w) .start();newThread(w).start();))以下哪两项是止确的?(选两项)A.代码输出l34码输出341C.代码输出l234D。代码输出1342E.代码运行完毕F.代码不会完成classOrderimplementsRunnable{publicvoidrun() {try{(2000);}catch(Exceptione)"in");publicstaticvoidmain(String[]args)Threadt=newThread(newOrder());();("pre");try{();}catch(Exceptione){}("post");可产生哪两项结果?(选两项)preinpostpreininpostpreinprepostprepostin参考答案1ABDACCEBFAD2A3C4DSA6D7C8D9A101112131415第十章练习题(输入输出流).下列哪项是Java语言中所定义的字节流?OutputReaderWriterInputStream.在输入流的read方法返回哪个值的时候表示读取结束?01-1null3为了从文本文件中逐行读取内容,应该使用哪个处理流对象?BufferedReaderBufferedWriterBufferedInputStreamBufferedOutputStream.为了实现自定义对象的序列化,该自定义对象必须实现哪个接口?VolatileSerializableRunnableTransient.以下关于File类的叙述,哪两项正确?(选两项)A.File类位于java.io包中B.创建一个File类的实例将导致打开指定文件进行读写c.File实例不能用于封装目录D.File实例封装了指定文件的信息.删除File实例所对应文件的方法是?mkdirexistsdeleteisHidden.现有:import.*;classScanStuff{staticvoidmain(String[]args){S="x,yy,123”;sc=newScanner(s);())()+"");. ).)结果是什么?xyyx,yy,123xyy123x,yyE.编译失败F.运行的时候有异常抛出8.现有:一f对一y个java.io.File型实例的合法引用一fr对'个型实例的合法引用一br对一个型实例的合法引用和:StringLine=null;(line);38. )哪一行代码插入到36行将循环通过一个文本文件并存文本域中每次输出一行?A.while((line=())!=null)(B.while((line=())!=null)(C.while((line=())!=null)(D.while((line=())!=null)(E.while((line=())!=null)(F.while((line=())!=null)(.现有:intx-();下面哪一项正确?A.阅读器不是FileReader或者BufferedReader类型B.阅读器可以是FileReader或者BufferedReaderc.阅读器可以是FileReader类型,但不能是BufferedReader类型D.阅读器可以是BufferedReader类型,但不能是FileReader类型.现有:Strings="writealinetoafile";w.print(s+"\n");哪一个是对的?A.w即可以是PrintWriter类型,也可以足BufferedWriter类型。即不可以是PrintWriter类型,也不可以足BufferedWriter类型。可以是BufferedWriter类型,但不可以是PrintWriter类型。D.w以是PrintWriter类型,但不可以是BufferedWriter类型。.现有:-f是一个合法的实例的引用-fr是一个合法的实例的引用-br是一个合法的实例的引用哪两个是合法的?(选两项)Filef2=newFile(f);FileReaderfr2=newFileReader(fr);FileReaderfr2=newFileReader(f);FileReaderfr2=newFileReader(br);BufferedReaderbr2=newBufferedReader(f);BufferedReaderbr2=newBufferedReader(fr);.现有:f是一个对java.io.File实例的合法引用fw足'个对实例的合法引用bw足一个对实例的合法引用以卜哪一项无效?PrintWriterprtWtr=newPrintWriter(f);PrintWriterprtWtr=newPrintWriter(fw);PrintWriterprtWtr=newPrintWriter(bw):BufferWriterbufWtr=newBufferedWritr(f);BufferWriterbufWtr=newBufferedWriter(fw);BufferWriterbufWtr=newBufferedWriter(bw):13.现有1.import2.3. classDoFormat(staticvoidmain(String[]args){intx=42;inty=12345;floatZ-7;”一%4d-",X)jSystem.("-%4d-",y);System. ("-%",z);))名结果为:A.编译失败-42--1234--42--1234--42--12345-E.运行时异常被抛出14.现自:10.classCarimplem

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论