Java程序员认证考试题库资料_第1页
Java程序员认证考试题库资料_第2页
Java程序员认证考试题库资料_第3页
Java程序员认证考试题库资料_第4页
Java程序员认证考试题库资料_第5页
已阅读5页,还剩78页未读 继续免费阅读

下载本文档

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

文档简介

第一部分基础知识练习目标本章对应于《学生指南》各章的内容分别提供了练习题集,包括:● 第一章Java入门● 第二章数据类型和运算符● 第三章流程控制与数组● 第四章封装● 第五章继承● 第六章抽象类与接口● 第七章多态● 第八章异常● 第九章多线程机制● 第十章输入输出流● 第十一章使用泛型和集合框架● 第十二章基于 Swing的图形用户界面 (GUI)设计● 第十三章Java事件驱动编程1-1第一章练习题(Java入门)(C)1.下列哪项不是 JDK所包含的内容?(选一项)A.Java编程语言B.工具及工具的 APIC.JavaEE扩展APID.Java平台虚拟机2.下列关于JDK、JRE和JVM的描述。哪项正确?A.JDK中包含了JRE,JVM中包含了JREB.JRE中包含了JDK,JDK中包含了JVMC.JRE中包含了JDK,JVM中包含了JRED.JDK中包含了JRE,JRE中包含了JVM3.下列哪个工具可以编译 java源文件?A.javacB.jdbC.javadocD.junit4.JDK工具javadoc的作用是哪项?A.生成Java文档B.编译Java源文件C.执行Java类文件D.测试Java代码5.以下哪些包是Java标准库中常用的包?(选三项)A.java.langB.javax.servlet.httpC.java.ioD.java.sql1-26.使用JDK工具生成的Java文档的文件格式是?A.XML格式B.自定义格式c.二进制格式D.HTML格式(AC)7.以下关于JVM的叙述,哪项正确?(选两项)A.JVM运行于操作系统之上,它依赖于操作系统B.JVM运行于操作系统之上,它与操作系统无关C.JVM支持Java程序运行,它能够直接运行Java字节码文件D.JVM支持Java程序运行,它能够直接运行Java源代码文件8.以下关于支持Java运行平台的叙述,哪项错误?A.Java可在Solaris平台上运行B.Java可在Windows平台上运行C.Java语言与平台无关。Java程序的运行结果依赖于操作系统D.Java语言与平台无关。Java程序的运行结果与操作系统无关(B)9.以下关于Applet 和Java程序之间关系的叙述,哪项错误?A.-个Applet 就是一段Java程序B.Applet 是一种特殊的Java程序,它需要运行在 Web服务器上C.Applet 是一种特殊的Java程序,它需要运行在 Web浏览器上D.Applet 是一种JavaSE平台的应用程序(AD)10.以下关于JavaHotSpot 的描述,哪两项错误?(选两项)A.JavaHotSpot是一种热编译技术,在编译Java源程序时会被使用B.JavaHotSpot是一种热编译技术,在运行Java代码时会被使用C.JavaHotSpot是一种热编译技术,它只对程序的部分字节码进行优化D.JavaHotSpot是一种热编译技术,它会对程序的全部字节码进行优化1-3(A)11.环境变量PATH中含有多个路径时,路径和路径之间可以用哪项来隔开?:,C.*D:|(B)12.CLASSPATH中的“.”的含义是哪项?A.省略号B.当前目录C.所有目录D.上级目录13.JVM在执行一个Java类时,大致采用以下过程?A.执行类中的代码一>装载类一>校验类B.校验类一>装载类一>执行类中的代码C.装载类一>执行类中的代码一>校验类D.装载类一>校验类一>执行类中的代码(C)14.当运行—个Java程序时,传递参数的格式是哪项?A.java类名参数1,参数2B.javac类名参数1参数2C.java类名参数1参数2D.java类名参数1+参数215.以下关于Java文件名的叙述,正确的有?(选两项)A.Java源文件的扩展名应为.javaB.Java源文件的文件名应与文件中的类名一致C.Java字节码文件的扩展名应为. javaD.一个Java源文件中只能包含一个 Java类1-4lC2D3A4ASACD6D7AC8C9B10ADABDCAB1-5第二章练习题(数据类型和运算符)1.下列哪项不属于 Java语言的基本数据类型?A.intB.StringC.doubleD.boolean2.下列哪项不是 int类型的字面量?A.\u03A6B.077C.OxABBCD.203.下列哪项不是有效的标识符?A.userNameB.2testC.$changeD._password(选项有误!!!!)4.下列哪项是Java语言中所规定的注释样式?(选三项)A.//单行注释B.--单行注释C. /**单行或多行注释*/D. /kk*文档注释*/(B)5.下列哪项不是 Java语言的关键字?A.gotoB.sizeofC.instanceofD.volatile1-66.现有如下五个声明:Linel:inta_really_really_really_long_variable_name=5;Line2:int_hi=6;Line3:intbig=Integer.getlnteger("7”);Line4:int$dollars=8;line5:int%opercent=9;哪行无法通过编译?A.Line1B.Line3C.Line4D.Line5(题目有问题)7.现有:1.classTop{2.staticintx=l;3.publicTop(inty){x*=3;}4.}5.classMiddleextendsTop{6.publicMiddle(){x+=1;)7.publicstaticvoidmain(String[]args){8.Middlem=newMiddle();9.System.out.println(x);IO.}}结果为:A.12C.3D.编译失败(A)8.现有:1.classPasserf2.staticfinalintX=5;3.publicstaticvoidmain(String[]args){4.newPasser().go(x);5.System.out.print(x);6,)7.voidgo(intx){8.System.out.print(x++);9.}10.}1-7结果是什么?A.55B.56C.65D.669.现有:1. classWrenchf2.publicstaticvoidmain(String [] args) {3.Wrenchw=newWrench(); Wrenchw2=newWrench();4. w2=go(w,w2);6. }7.staticWrenchgo(Wrenchwrl, Wrenchwr2) {8.Wrenchwr3=wrl;wrl=wr2;wr2=wr3;9. returnwr3;10. }11. }结果是什么?falseB.trueC.编译失败D.运行的时候有异常抛出10.现有:5.classWrench2{6.intsize;7.publicstaticvoidmain(String[]args){8.Wrench2w=newWrench2();9.w.size=II;IO.Wrench2w2=go(w,w.size11);System.out.print(w2.size);12.)13.staticWrench2go(Ws){14.S=12;}1-8结果为:1112c.编译失败。D.运行时异常被抛出11.现有:classTest2 fpublic staticvoidmain(String [] args) {shorta,b,C;a=1;b=2;C=a+b;a+=2:}}以上代码中,哪一句是错误的?A.a=1:B.C=a+b;C. a+=2;D. shorta,b,C;12.表达式:1-2/5+2'k5的结果是哪项?10.69.8913.现有代码片段:String s="123";Stringsl=S+456;请问sl的结果是哪项?123456579C.编译错误D.运行时抛出异常1-914.基本数据类型 float的包裹类是哪项?A.IntegerB.DoubleC.FloatD.Character(D)15.现有:1.classTest4{2.publicstaticvoidmain(String[]args){3.booleanX=true;4.booleany=false;5.shortZ=42;6.7.if((z++==42)&&(y=true))z++;8.if((x=false)||(++z==45))z++;9.10.System.out.println(¨z=”+z);}}结果为:Z=42z=44C.Z=45D.z=461-10第二章练习题参考答案1B2A3B4ACD5B6D7D8A9BABDACD1-11第三章练习题第三章练习题(流程控制与数组)1.现有:classTestApp{public static voidmain(String[] args){for(int i=0;i<lO;i++){if(i==3)break;System.out.print(i);}}}程序运行后的输出是哪项?A.0123B.012456789C. 0123456789D. 0122.程序:class TestApp{public static voidmain(String[] args){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<291-123.现有:classTestApp{public static voidmain(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.运行时抛出异常4.下列有关数组的声明中,正确的是哪项?(选两项)A.ints[10];B.int[10] s;C.int[5]s={l,2,3,4,5};D.ints[];5.已知数组array,其最后一个元素的下标是?A.array.sizeB.array.length-lC.array.size-lD.array.length6.程序:class TestApp{public staticvoidmain(String[] args){intX=5:switch(x){casel:case2:case3:System.out.println(“一季度”);break;case4:case5:1-13case6:System.out.println(“二季度”);break;default:System.out.println(“三季度以上”);break;)})上述程序运行后的结果是哪项?一季度B.二季度c.三季度以上D.无输出7.为将数组myArray的长度由3改为6,现采取以下编码:int[]myArray=newint[3];myArray=new int[6];代码执行后,以下叙述哪项是正确的?A.数组myArray的长度已由3改为6,其中前3个元素的值不变,后个元素的值为空。B.数组myArray的长度已由3改为6,其中前3个元素的值不变,后个元素需再经过初始化后才能使用。C.数组myArray的长度没有变化。D.数组myArray的长度已由3改为6,原来3个元素的值全部丢失。8.现有:1. class Ifs {2.public staticvoidmain(String [] args) {3.booleanstate=false;4. inti=2;5.if((++i>2) && (state=true))6.i++;7.if((++i>4) ll (state=false))8.i++;9.System.out.println(i);10. }11. }1-14结果为:A. 6B. 5C. 4D.编译失败9.现有:3. publicclassTester{4.publicstaticvoidmain(String[]args) {5. intx-5;6. Integerxl=x; Integerx2=x;7.intx3=newInteger(5);system..ut.print(x1.equals(x));system..ut.print(xl==x);lu. system..ut.print(x2.equals(xl));system..ut.print(x2==xl);12-system..ut.print(x2==x3);13-system..ut.print(x2.equals(x3));“l4.}15.}结果为:A.编译失败falsefalsetruetruetruetrueC.truetruetruetruetruetruefalsefalsetruetruetruefalsetruefalsetruefalsefalsetrueF.运行时异常被抛出10.现有:1.classRectangle{2'publicstaticV.idmain(string[]args){3.int[]x=(1,2,3);4.x[1]=(x[1]>1)?x[2]:O;5. System.out.println(x[1]);6. }7. }1-15结果为:A.3B.2C.1D.011.现有:1.classOutput (2.publicstaticvoidmain(String[] args) {3. inti=5:4.5.6. (i+"8");7. }8. }结果为:A. 99722B. 955758C. 4510758D. 45972212.以下哪种初始化数组的方式是错误的?A.String[]names={"zhang","wang","li");B.Stringnames[]=newString[3];names[O]="zhang";names[1]="wang";names[2]="li";C.String[3]names={"zhang","wang","li"};D.以上皆正确13.现有:1.classWhileTests{2.publicstaticvoidmain(String[]args){3.intX=5;4.while(++x<4){5.--x;6.}7.8. }9. }1-16结果是什么?A.X=6X=5C.X=2D.编译失败14.现有:1.classTest2f2.publicstaticvoidmain(String[]args){3.booleanX=true;4.booleany=false;5.shortZ=20;6.7.if((x==true)&&(y=true))z++;8.if((y==true)||(++z==22))z++;9.10.System.out.println("z="+z);11.}12.}结果是什么?A.Z=21z=22z=23D.Z=24现有:1.classFoo{2.publicstaticvoidmain(String[]args){3.intx=O;4.inty=4;5.for(intz=0;z<3;Z++;X++){6.if(x>1&++y<10)7.y++;8.}9.System.out.println(y);10. }11. }结果是什么?A.7B.8C.10D.121-17D2B3C4CD5B6B7D8A9C11C12C13A14B15B1-18第四章练习题(封装)1.下列有关类、对象和实例的叙述,正确的是哪一项?A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别B.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称C.类是对象的抽象,对象是类的具体化,实例是类的另一个名称D.类是对象的抽象,对象是类的具体化,实例是对象的另一个名称2.下列类Account的构造方法中,声明正确的是?A. Account(Stringname){)B. Account(String name)C.Account(name)()D. NewAccount(Stringname){)3.类Account中字段声明正确的是哪项?A. class Accountfname;amount;)B. class Account{Stringname=l.0;doubleamount="Mike";)C. class AccountfStringname;doubleamount;)D. class Account{String name="Mike,,,double amount=1000.0;)4.类Account中方法声明正确的是哪一项?A. class Accountfdeposit();)B. class Accountfvoiddeposit();}1-19C. class Accountfvoiddeposit(){))D.classAccountfvoid deposit{))5.下列有关类声明的代码片段,哪一项是正确的?A.packageschool;import java.sql.*;classStudent{}B.importjava.sql.*;packageschool;class Studentf)C.packageschool;classStudent{}import java.sql.*jD.packageschool;importjava.sql.*;privateStringname;classStudent{}6.有关new关键字的描述正确的是哪项?A.创建对象实例的时候可以不使用 new关键字B.new所创建的对象不占用内存空间C.new会调用类的构造器来创建对象D.new所创建的对象一定存在引用变量7.下列哪些是方法 public int add(inta)的重载方法?(选三项)A. public int add(longa);B. public void add(inta)jpublicvoidadd(longa);D. public int add(floata);1-208.我们定义一个 Account类来描述银行账户,银行账户有账户名、金额等属性特征,同时有存款、取款等行为特征,下述代码适合描述的是哪项?A.class AccountfStringname;//账户Stringamount;//金额Account(Stringname)()voiddeposit(doublemount){//存款)voidwithdraw(doublemount){//取款})B.classAccountfStringname;//账户doujoleamount;//金额Account(doubleamount){)voiddeposit(doublemount){//存款)voidwithdraw(doublemount){//取款))C.classAccountfStringname;//账户doubleamount;//金额Account(Stringname){)voiddeposit(doublemount){//存款)voidwithdraw(doublemount){//取款))D.classAccountfStringname;//账户doubleamount;//金额Account(Stringname){)voiddeposit(){//存款)voidwithdraw(){//取款))1-219.现有:1.classBanana2f2.staticintX=2;3.'publicstaticvoidmain(String[]args){4.intX=2;5.Banana2b=newBanana2() ;6. b.go(x);7. }8. static {x+=x; )9. voidgo(intx) {10. ++x;11. System.out.println(x);12. }13. }结果为:A.753210.现有:1.classTestFoof2.intx;3.Stringy;4.intgetX(){returnx;}5.StringgetY(){returny;}6.voidsetX(intx){7.intZ=7:8.this.x=x;9.}}可以添加多少个修饰符来封装此类?A.54321-2211.定义枚举如下:public enum Direction{EAST,SOUTH,WEST,NORTH)列正确使用该枚举类型的语句是哪项?A.DirectionDirection=EAST;B.Directiondirection=Direction.WEST;C.inta-Direction.NORTH;nDirectiondirection=2;12.定义类:packageutils;publicclassRep{publicstaticStringtwice(Strings){returns+s ;)}再定义另一个类Demo:l.//insertcodehere2.publicclassDemo{3. publicstaticvoidmain(String[] args){4.System.out.println(twice("Hello"));5. }6.}在第一行插入哪项代码,可以使程序正常编译和执行?A.importutils.*;13.现有:public class TestDemo{privateintX-2;staticinty=3;public voidmethod(){finalinti=100;intj =10;classCinner{publicvoidmymethod(){//Here}}}}1-23在Here处可以访问的变量是哪些?(选三项)A.XyjD. i14.现有如F包结构:com|一一X| |一一Alpha.class| || |一一yI |一一Beta.class||l--Gamma.class和类:classTest { Alphaa; Betab;Gammac; }哪三个必须加入到类 Test中,以使其通过编译?(选三项)A.packagey;B.packagecom;15.现有2个文件:1.packagex;2.publicclassX{3.publicstaticvoiddoX() }和:1. classFind{2.publicstaticvoidmain(String [] args) {3. //insertcodehere4. }}哪两行分别插入到类 Find的第3行将编译并产生输出“doX”?(选两项)A.doX();B.X.doX();C.x.X.doX();D.x.XmyX=newx.X();myX.doX();1-241D2A3C4C5A6CACD8C9CDBCABDBCDCD1-25第五章练习题(继承)1.下列关于继承优点的叙述正确的是哪几项?(选三项)A.可以创建更为特殊的类型B.消除重复代码C.执行效率高D.便于维护2.在子类中调用父类中被覆盖的方法时需要使用哪项关键字?A.thisB.superC.newD.以上都不是3.现有publicclassParenttpublicvoidchange(intx){))publicclassChildextendsParent{//覆盖父类change方法}下列哪个声明是正确的覆盖了父类的 change方法?protectedvoidchange(intx){}B. publicvoidchange(intx, inty){}publicvoidchange(intx){}publicvoidchange(Strings){}4.如果想要一个类不能被任何类继承的话,需要使用哪个关键字来修饰该类?abstractnewstaticfinal1-265.为了使得输出对象引用的时候得到有意义的信我们应该覆盖Objectt{-的哪个方法?A.equalsB.toStringC.hashCodeD.notify6.现有:publicclassPet()publicclassCatextendsPet{)执行代码Catc-newCat();Petp= (Pet)c;后下列哪项是正确的?A.Petp=(Pet)c运行错误B.Petp=(Pet)c编译错误C.Petp=(Pet)c止常执行D.以上都不对7.程序:publicclassPet{publicvoidspeak(){("pet");}}publicclassCatextendsPet{pulolicvoid speak(){;}}publicclassDogextendsPet(public void speak(){}}执行代码Pet[] p= {newCat(),newDog(),nexPet()};for(inti=O;i<p.length;i++)p[i].speak();1-27后输出的内容是哪项?B.CatCatCatC.CatDogDogD.CatDogPet8.现有:1.classDog{)2.classHarrierextendsDog{)3.classDogTest{5.public staticvoidmain(String [] args) (6. Dogdl=newDog();7.Harrierhl=newHarrier();8. Dogd2=hl;9.Harrierh2= (Harrier)d2;10. Harrierh3=d2;}}下面哪一项是正确的?A.2个Dog对象被创建B.2个Harrier对象被创建C.3个Harrier对象被创建D.编译失败9.现有:2.classCat{3.Cat(intc){System.out.print{"cat"+c+"");}4.}5.classSubCatextendsCat{7. SubCat() { this(4); }8.publicstaticvoidmain(String [] args) {9.SubCats=newSubCat();}}结果为:cat5cablecat5cablecablecat51-28.现有:1.classGuy{Stringgreet(){return"hi";}}2.classCowboyextendsGuy(Stringgreet()(return"howdy¨;))3.classSurferextendsGuy(Stringgreet()(return"dude!";}}4.5.classGreetings{6.publicstaticvoidmain(String[]args){7.Guy[]guys=(newGuy(),newCowboy(),newSurfer()};8.for(Guyg:guys)10. }}结果为:A.hihowdydude!B.运行时异常被抛出。c.第7行出现一个错误,编译失败。D.第8行出现一个错误,编译失败。11.现有:1. classOver {2.intdolt(longx) { return3; }3. }4.5.classUnderextendsOver {6. //insertcodehere7. }和四个方法:shortdolt(inty) { return4; }intdolt(longXrlongy) { return4; }privateintdolt(shorty) { return4; }protectedintdolt(longx) { return4; }分别插入到第6行,有几个可以通过编译?12341-29现有classBeverage{2. Beverage() { }}classBeerextendsBeverage{publicstaticvoidmain{string[]args){6. Beerb=newBeer(14);}publicintBeer(intx){9. this();}}结果是什么?A.beerlbeverageB.beer2beverageC.beveragebeer2beerl编译失败现有:classBird{}classParrot2extendsBird{publicstaticvoidmain(String[]args){Bird[]birds={newBird(),newParrot2()};for(Birdb:birds)9. b.talk();}}结果是什么?chirpchirphellohellochirphelloD:编译错误1-30.现有:1.classSuperFoo(2.SuperFoodoStuff(intx) {3.returnnewSuperFoo();4. }}6.7.classFooextendsSuperFoo {8. //insertcodehere9. }和四个声明:FoodoStuff(intx) { returnnewFoo(); }FoodoStuff(intx) { returnnewSuperFoo() ; }SuperFoodoStuff(intx) { returnnewFoo(); }SuperFoodoStuff(inty) { returnnewSuperFoo(); }分别插入到第8行,有几个可以通过编泽?123D.415.现有:1.classHorseRadish{2.//insertcodetectedHorseRadish(intx){4.System.out.println("bokchoy");5.}6.}7.classWasabiextendsHorseRadish {8.publicstaticvoidmain(String [] args) (9.Wasabiw-newWasabi();10, }}分别插入到第2行,哪两项允许代码编译并产生”bokchoy”输出结果?(选两项)A.protectedHorseRadish() {this(42);}B. protectedHorseRadish() {}C. //justacommentD. protected HorseRadish() { newHorseRadish(42);}1-31参考答案.1ABD2B3C4DSB6A7D8D9CADDCDAD1-32第六章练习题(抽象类与接口)1.下列有关抽象类的叙述正确的是哪项?A.抽象类中一定含有抽象方法B.抽象类的声明必须包含 abstract关键字C.抽象类既能被实例化也能被继承D.抽象类中不能有构造方法2.下列有关抽象方法叙述正确的是哪项?(选两项)A.抽象方法和普通方法一样,只是前面多加一个修饰符asbtractB.抽象方法没有方法体c.抽象方法可以包含存任何类中D.包含抽象方法的类的具体子类必须提供具体的覆盖方法3.下列有关接口的叙述错误的是哪项?A.接口中只能包含抽象方法和常量B.一个类可以实现多个接口C.类实现接口时必须实现其中的方法D.接口不能被继承4.下列关于接口的定义哪项是正确的?A. interfaceC{inta;)B.publicinterfaceAimplementsB {)C. publicinterfaceA {inta(); )D. abstractinterfaceD {)1-335.现有:1. interfaceAnimal fvoideat();3.}4.//insertcodehere6.7.publicclassHouseCatimplementsFeline{8.publicvoideat(){}9.}和以下三个接口声明:interfaceFelineextendsAnimal()interfaceFelineextendsAnimal{voideat();}interfaceFelineextendsAnimal{voideat(){}}分别插入到第5行,有多少行可以编译?01236.现自:1. interfaceColor{ }2.interfaceWeight { }3. //insertcodehere和以下足六个声明:classBoatextendsColor,extendsWeight { }classBoatextendsColorandWeight { }classBoatextendsColor,Weight { }classBoatimplementsColor, implementsWeight { }classBoatimplementsColorandWeight { }classBoatimplementsColor,Weight { }分别插入到第3行,有多少行可以编译?A. 0B. 1C. 2D. 31-347.现有:1.abstractclassColor{2.protectedabstractStringgetRGB();3.}4.5.publicclassBlueextendsColor{6.//insertcodehere7.}和四个声明:publicStringgetRGB(){return"blue";}StringgetRGB(){return"blue";)privateStringgetRGB(){return"blue";}protectedStringgetRGB(){return"blue";)分别插入到第6行,有几个可以通过编译?01238.现有:1.abstractclassColor2 {2. //insertcodehere3. }4.5.publicclassBlue2extendsColor2 {6.public StringgetRGB() { return "blue"; }7. }和4个声明:publicabstract StringgetRGB();abstract StringgetRGB();privateabstract StringgetRGB();protectedabstractStringgetRGB();分别插入到第2行,有多少行可以编译?O1231-359.现有:1. classTop {staticintX=l;3. publicTop() { x*=3; )4. }5. classMiddleextendsTop {6.public Middle() {x+=l; }7.publicstaticvoidmain(String [] args) {8.Middlem=newMiddle();}}结果是什么?234D.编译失败10.现有两个文件:1.packageX;2.publicclassX {3.publicstaticvoiddoX() }}和:1.importx.X;2.classFind{3.publiCstaticvoidmain(String[]args){4.XmyX=newX();myX.doX();5.X.doX();6.x.X.aoX():7.x.XmyX2=newx.X();myx2.doX();8.}’9.}结果为:A.Find类中第4行出现一个错误,编译失败。B.Find类第5行出现一个错误,编译失败。C.Find类第6行出现一个错误,编译失败。D.doXdoXdoXdoX1-3611.现有:classTree{privatestaticStringtree="tree";3. StringgetTree() { returntree; }}classElmextendsTree{privatestaticStringtree="elm";7.publicstaticvoidmain(String[]args){8.newElm().go(newTree());}10.voidgo(Treet){11.Strings=t.getTree()+Elm.tree+tree+(newElm().getTree());结果为:A.elmelmelmelmB.treeelmelmelmC.treeelmelmtreeD.treeelmtreeelm12.现有:interfaceAnimal{voideat();}4.//insertcodeherepublicclassHouseCatextendsFeline{publicvoideat(){}}和五个申明abstractclassFelineimplementsAnimal{}abstractclassFelineimplementsAnimal{voideat();}abstractclassFelineimplementsAnimal{publicvoideat();}abstractclassFelineimplementsAnimal{publicvoideat(){}}abstractclassFelineimplementsAnimal{abstractpublicvoideat();}123D.41-3713.现有:1.interface I { voidgo(); }2.abstractclassAimplementsI{}4.5.classCextendsA {6. voidgo(){ )}结果是什么?代码通过编译由于第1行的错误导致编译失败由于笫3行的错误导致编译失败由于第6行的错误导致编译失败14.现有:interfaceData{publicvoidload();}abstractclassInfo{publicabstractvoidload();}下列类定义中正确使用Data和Info的是哪项?A.publicclassEmployeeimplementsInfoextendsData {publicvoidload() {/*dosomething*/))B.publicclassEmployeeextendsInf.implementsData{publicvoidload() {/*dosomething*/}}c.publicclassEmpl.yeeimplementsInfextendsData{publicvoidData.1oad(){*dosomething*/}publicvoidload(){/*dosomething*/})D.publicclassEmployeeextendsInfimplementsData {publicvoidData.1oad() {/*dosomething*/)publicvoidinfo.1oad(){/*dosomething*/))1-38下列代码正确的是哪项?A.publicclassSessionimplementsRunnable,Clonable{publicvoidrun();publicObjectclone();}B.publicclassSessionextendsRunnable,Cloneable{publicvoidrun(){/*dosomething*/}publicObjectclone(){/*makeacopy*/}}C.publicabstractclassSessionimplementsRunnable,Clonable{pu)olicvoidrun(){/*dosomething*/}publicObjectclone(){/*makeacopy*/}}D.publicclassSessionimplementsRunnable,implementsClonable{publicvoidrun(){/*dosomething*/}publicObjectclone(){/*makeacopy*/}}1-39参考答案1B2BD3D4C5C6B7C8D9C10D11 C12C13D14B15C1-40第七章练习题(多态)1.下列自‘关多态的叙述正确的是哪项?(选两项)A.父类的引用指向子类的实例是一种多态子类的引用指向子类的实例是一种多态c.接口的引用指向实现该接口类的实例是一种多态D.抽象类的引用指向抽象类的实例是一种多态2.Java中方法绑定有哪些形式?(选两项)A.编译时刻绑定B.运行时刻绑定c.静态绑定D.私有绑定3.表达式"hello"instanceofString 返回的值是哪项?trueB.falseC.1D.04.求平方根方法publicstaticdoublesqrt(doublea)可以传递的参数类型有哪些?(选三项)byteB.floatC.StringD.long5.涉及类MyClass的方法签名足publicvoid find(MyClassa),那么该方法可接收的实际参数的类型可以是哪些?(选两项)A.MyClass类的类型B.MyClass子类的类型C.Object类型D.所有接口1-416.使用下列哪些关键字可以判定实参的具体类型?asisinstanceofextends7. 现有:classPencil {publicvoidwrite(Stringcontent){}}classRubberPencilextendsPencil{publicvoiderase(Stringcontent){}}执行下列代码的结果是哪项?Pencilpen=newRubberPencil();pen.write("Hello");pen.erase("Hello");A.WriteHelloEraseHelloB.EraseHelloWriteHelloC.编译错误D.运行时抛出异常8. 现有:classPencil {publicvoidwrite(Stringcontent){ ;}}classRubberPencilextendsPencil{publicvoidwrite(Stringcontent){}publicvoiderase(Stringcontent){}}1-42执行下列代码的结果是哪项?Pencilpen=newRubberPencil() ;pen.write("Hello");WriteHelloRubberWriteHello编译错误运行时抛出异常下列哪些方法是在编译时刻绑定的?(选三项)A.静态方法B.private方法C.final方法D.非private方法10.现有:classPencil {publicvoidwrite(Stringcontent){}}classRubberPencilextendsPencil{publicvoidwrite(Stringcontent){ ;}publicvoiderase(Stringcontent){}}执行下列代码的结果是哪项?Pencil pen=new Pencil();((RubberPencil)pen).write("Hello");A.WriteHelloRubberWriteHelloc.编译失败D.运行时抛出异常1-431.现有:classTestA{publicvoidstart(){System.out.println("TestA");}}publicclassTestBextendsTestA{publicvoidstart(){System.out.println("TestB");}publicstaticv.idmain(string[]args)(((TestA)newTestB()).start();}}运行结果是哪项?A.TeStAB.TeStBc.编译失败D.运行时抛出异常12.现有:classA {publicStringname="a"}classBextendsA{publicStringname="b"}执行如下代码后的结果是哪项?Aa=newB();A. aB. bc.编译失败D.运行时抛出异常13.现有:InterfaceF{}classAimplementsF{}classBextendsA{}classCextendsB{5 publicstaticvoidmain(String[] args){Bb=newB();//inSertC0dehere}}1-44下列哪行代码插入到第 7行,将抛出 异常7Aa=b;B.Ff=(C)b;C.Ff=(A)b;D.Bbb=(B)(A)b;14.现有:1.classGuy{Stringgreet(){return"hi";}jclassCowboyextendsGuy{Stringgreet(){return."howdy";}}3.classWranglerextendsCowboy{Stringgreet(){return"orch!";}}4.5.classGreetings2{6.publicstaticvoidmain(String[]args){Guyg=newWrangler();8. Guyg2=newCowboy();Wranglerw2=newWrangler();10. System.out.print(g.greet()+g2.greet()+w2.greet()) ;}}结果是什么?A.hihiouch!B.ouch! howdy ouch!C.hihowdyouch!D.编译失败E.运行的咐候有异常抛出15.现有:classClassA{}classClassBextendsClassA{)classClassCextendsClassA{)以及:ClassAp0=newClassA();ClassBpl=newClassB();ClassCp2=newClassC();ClassAp3=newClassB();ClassAp4=newClassC();1-45· 下列哪些是正确的?(选三项 ]A.p0=pl;B.p1=p2;C.p2=p4;D.p2=(ClassC)pl;E.p1=(ClassB)p3;F.p2= (Classc)p4;1-46参考答案1AC2AB3A4ABD5AB6C7C8B9ABCDBABB15AEF1-47第八章练习题(异常)1.Java语言中异常的分类是哪项?A.运行时异常和异常B.受检异常和非受检异常C.错误和异常D.错误和运行时异常2.所有异常的父类是哪项?A. ThrowableErrorC. RuntimeExceptionD. Exception3.关于try...catch...finally结构,描述正确的是哪项? (选两项)A.可以有多个catchB.只能有一个catchC.可以没有catchD.finally必须有4.下列属于非受检异常的是哪项?A.SQLExceptionIOExceptionNullPointerExceptionD.OutOfMemoryError5.假设有自定义异常类 ServiceException,那么抛出该异常的语句正确的是哪项?A.raiseServiceExceptionB.thrownewServiceException()C.throwServiceExceptionD.throwsServiceException1-486.在方法的声明中,要求该方法必须抛出异常时使用哪个关键字?throwcatchfinallythrows7.现有:1.classNumber{2.publicstaticvoidmain(String[]aras){3.try{4.System.out.print(Integer.parselnt("forty"));5.}catch(RuntimeExceptionr){6.System.out.print("runtime");7.}catch(NumberFormatExceptione){system..ut.print("number");9.}10. }11. }结果是什么?A. numberB. runtimeC. fortynumberD.编译失败8.现有:9.voidtopGo(){10.try{11.middleGo();12.)catch(Exceptione){14.}15.}16.voidmiddleGo()throwsException{17.go();18.system.out.print("latemiddle");19.}2.voidgo() throwsExceptiOn {thrownewException();.}1-49如果调用 topGo(),则结果为:A.latemiddlecatchlatemiddlecatchcatchIatemiddle9.现有classCalc{publicstaticvoidmain(String[]args){try{4. intx=Integer.parselnt("42a");//insertcodehere6. }}}下面哪两行分别插入到第五行,会导致输 "oops"?(选两项)A.}catch(IllegalArgumentExceptione){B.}catch(IllegalStateExceptionc){C.}catch(NumbelFormatExceptionn){D.}catch(ClassCastExceptionc){10.现有:classFlow{publicstaticvoidmain(String[]args)ttry{4.System.out.print("before");5.doRiskyThing();6.System.out.print("after");}catch(Exceptionfe){8. }10. System.out.println("done");}publicstaticvoiddoRiskyThing()throwsException{//thiscodereturnsunlessitthrowsanException}}可能会产生哪两项结果 ?(选两项)A.beforecatchB.beforeafterdoneC.beforecatchdoneD.beforeaftercatch1-5011.现有:classBirds{2. publicstaticvoidmain(String [] args) {try{4. thrownewException();}catch(Exceptione){try{7.thrownewException();8.}catch(Exceptione2){System.out.print("inner");}9.System.out.print("middle");}}}inneroutermiddleouterinnermiddleouter.编译失败现有:1.classParserextendsUtilis{2.publicstaticvoidmain(String[]args){3.try{System.out.print(newParser().getlnt("42"));}catch(NumberFormatExceptionn){5. System.out.println("NFExc"); }}7.intgetlnt(Stringarg)throwsNumberFormatException{8.returnInteger.parselnt(arg);}}classUtils{12. intgetlnt(Stringarg) { return42; }}绐果为:NFExc4242NFExcD..编译失败1-5113.现有:1.classParserextendsUtils (2.publicstaticvoidmain(String[] args) {4. }catch(Exceptione) { }6. }7.intgetlnt(Stringarg)throwsException (8.returnInteger.parselnt(arg);9. }}11.classUtils {12. intgetlnt(Stringarg) {return42; }13. }结果为:42Exc42ExcD.编译失败14.现有:1.classPropeller2{2.pulolicstaticvoidmain(String[]args)//addcodehere?3.{newPropeller2().topGo();}4.5.voidtopGo() //addcodehere?6.{middleGo();}7.8.voidmiddleGo()//addcodehere?9.{go();System.out.println("latemiddle");}voidgo()//addcodehere?12.{thrownewException();}}为使代码通过编译,需要在哪一行加入声明 throwsException?A.只在第11行B.在第8行和第11行C.在第5行、第8行和第11行D.在第2行、第5行、第8行和第11行1-5215.现有classParserextendsUtils{2.publicstaticvoidmain(String[]args){3.try{System.out.print(newParser().getlnt("42"))}catch(Exceptione){5. }}7.intgetlnt(Stringarg)throwsException{8.returnInteger.parselnt(arg);}}classUtils{12. intgetlnt() { return42; }}结果是什么?42ExcExc42编译失败1-53参考答案1B2A3AC4D5B6D7D8B9AC10BCCBDDC1-54第九章练习题(多线程机制)1.线程由以下哪些部分组成?(选三项)A.虚拟的CPUB.CPu执行的代码C.支持代码工作的数据D.进程2.创建线程的时候必须实现哪项接口 ?A. RunnableB. ThreadC. RunD. Start3.启动一个线程的方法是哪项?A.join()runf)C.start()D.sleep()4.当一个处于阻塞状态的线程解除阻塞后,它将回到哪个状态?A.运行中状态B.结束状态C.新建状态D.可运行状态5.可以通过继承哪个类来创建线程?A.ThreadB.RunnableC.tartD.run1-556.为了保证方法的线程安全,声明方法的时候必须用哪个修饰符?A.newtransientvoidsynchronized7.线程的默认优先级是哪项?015108.现有:1.classThread2implementsRunnable (2. voidrun() { ); ¨4. }5.6.publicstaticvoidmain(String [] args) { .7.Thread2t2=newThread2() ;8.Threadt=newThread(t2);9. t.start();10. }}结果为:A.goB.运行时异常被抛出c.代码运行,无输出结果D.编译失败9.程序员想要创建一个名为MyThread的类以便在main方法中用Thread实例化。对于下面三行:MyThread必须继承Thread。MyThread必须实现Thread。MyThread必须覆盖publicvoidrun()。1-56有几行是正确的7.A.0B.1C.2D.310.现有:1.classThreadBothextendsThreaaimplementsRunnable{2.3.publicvoidrun()(System.out.print("hi");}4.5.publicstaticvoiclmain(String[]args){6.Threadtl=newThreadBoth():7.Threadt2=newThread(tl):8.tl.run():9.t2.run():10.}}结果为:hihihiC.编译失败D.运行时异常被抛出11.现有:t是一个合法的Thread对象的引用,并且 t的合法run()方法如下:9. publicvoidrun() {;}及:t.start();t.start();nt.run();哪一个是结果?A.gogoB.gogogoC.go之后跟着一个异常D.gogo之后跟着一个异常1-5712.现有:1.classThreadExceptimplementsRunnable{2.publicvoidrun(){thrownewRuntimeException("exception");}3.4.publicstaticvoidmain(Stri_ng[]args){5.newThread(newThreadExcept()).start();6.try{7.intx=Integer.parselnt(args[0]);8.Thread.sleep(x);10. }catch(Exceptione) { }}.}和命令行:javaThreadExceptl000哪一个是结果?A.mainB.编译失败D.代码运行,但没有输出13.现有:5. classOrder2implementsRunnable {6. publicvoidrun() {7.for(intx-o; x<4; x++) {8.try{Thread.sleep(100); )catch (Exceptione) { }.}}11. publicstaticvoidmain(string [] args) {Threadt=newThread(neworder2());.t.start();14. for(intx=0;

温馨提示

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

评论

0/150

提交评论