《Java程序员考试题.pdf》由会员分享,可在线阅读,更多相关《Java程序员考试题.pdf(83页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一部分基础知识练习目标本章对应于 学生指南各章的内容分别提供了练习题集,包括:1.第一章Java入门2.第二章数据类型和运算符3.第三章流程控制与数组4.第四章封装5.第五章继承6.第六章抽象类与接口7.第七章多态8.第八章异常9.第九章多线程机制10.第十章输入输出流11.第十一章使用泛型和集合框架12.第十二章基于Swing的图形用户界面(GUI)设计13.第十三章Java事件驱动编程第一章练习题(Java入门)1.下列哪项不是JDK所包含的内容?(选一项)A.Java编程语言B.工具及工具的APIC.Java EE 扩展 APID.Java平台虚拟机2.下列关于JDK、JRE和 JVM
2、的描述。哪项正确?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.j ava.ioD.java,sql6.使
3、 用JDK工具生成的Java文档的文件格式是?A.XML格式B.自定义格式C.二进制格式D.HTML格式7.以下关于JVM的叙述,哪项正确?(选两项)A.JVM运行于操作系统之上,它依赖于操作系统B.JVM运行于操作系统之上,它与操作系统无关C.JVM支持Java程序运行,它能够直接运行Java字节码文件D.JVM支持Java程序运行,它能够直接运行Java源代码文件8.以下关于支持Java运行平台的叙述,哪项错误?A.Java可在Sedaris平台上运行B.Java可在Windows平台上运行C.Java语言与平台无关。Java程序的运行结果依赖于操作系统D.Java语言与平台无关。Java
4、程序的运行结果与操作系统无关9.以下关于Applet和Java程序之间关系的叙述,哪项错误?A.个Applet就是一段Java程序B.Applet是一种特殊的Java程序,它需要运行在W eb服务器上C.Applet是一种特殊的Java程序,它需要运行在W eb浏览器上D.Applet是一种Java SE平台的应用程序10.以下关于Java HotSpot的描述,哪两项错误?(选两项)A.JavaHotSpot是一种热编译技术,在编译Java源程序时会被使用B.Java HotSpot是一种热编译技术,在运行Java代码时会被使用C.Java HotSpot是一种热编译技术,它只对程序的部分字
5、节码进行优化D.Java HotSpot是一种热编译技术,它会对程序的全部字节码进行优化1 1.环境变量PATH中含有多个路径时,路径和路径之间可以用哪项来隔开?A.:B.,C.*D:|12.CLASSPATH中 的 的 含 义 是 哪 项?A.省略号B.当前目录C.所有目录D.上级目录13.JVM在执行一个Java类时,大致采用以下过程?A.执行类中的代码一 装载类一 校验类B.校验类一 装载类一 执行类中的代码C.装载类一 执行类中的代码一 校验类D.装载类一 校验类一 执行类中的代码14.当运行一个Java程序时,传递参数的格式是哪项?A.java类名参数1,参数2B.javac类名参数
6、1 参数2C.java类名参数1 参数2D.java类名参数1+参数215.以下关于Java文件名的叙述,正确的有?(选两项)A.Java源文件的扩展名应为.javaB.Java源文件的文件名应与文件中的类名一致C.Java字节码文件的扩展名应为.javaD.一个Java源文件中只能包含一个Java类1.c2.D3.A4.A5.ACD6.D7.AC8.C9.B10.AD11.A12.B13.D14.C15.AB第二章练习题(数据类型和运算符)1.下列哪项不属于Java语言的基本数据类型?A.intB.StringC.doubleD.boolean2.下列哪项不是int类型的字面量?A.uO3A
7、6B.077C.OxABBCD.203.下列哪项不是有效的标识符?A.userNameB.2testC.$changeD._password4.下列哪项是Java语言中所规定的注释样式?(选三项)A./单行注释B.-单行注释C./*单行或多行注释*/D./kk*文档注释*/5.下列哪项不是Java语言的关键字?A.gotoB.sizeofC.instanceofD.volatile6.现有如下五个声明:Linel:int a_really_really_really_long_variable_name=5;Line2:int _hi=6;Line3:int big=lnteger.getln
8、teger(7);Line4:int$dollars=8;Iine5:int%opercent=9;哪行无法通过编译?A.LinelB.Line3C.Line4D.Line57.现有:1.class Top 2.static int x=l;3.public Top(inty)x*=3;4.)5.class Middle extends Top 6.public Middle()x+=1;)7.public static void main(String args)8.Middle m=new Middle();9.System.out.printin(x);IO.II.结果为:A.1B.2C
9、.3D.编译失败8.现有:1.class Passer f2.static final int X=5;3.public static void main(String args)4.new Passer().go(x);5.Sy stem.out.print(x);6,)7.void go(int x)8.System.out.print(x+);9.)10.结果是什么?A.55B.56C.65D.669.现有:1.class Wrench f2.public static void main(String args)3.Wrench w=new Wrench();Wrench w2=new
10、 Wrench();4.w2=go(w,w2);5.System.out.print(w2=w);6.7.static Wrench go(Wrench wrl,Wrench wr2)8.Wrench wr3=wrl;wrl=wr2;wr2=wr3;9.return wr3;10.11.)结果是什么?A.falseB.trueC.编译失败D.运行的时候有异常抛出1 0.现有:5.class Wrench2 6.int size;7.public static void main(String args)8.Wrench2 w=new Wrench2();9.w.size=ll;IO.Wrenc
11、h2 w2=go(w,w.size);II.System.out.print(w2.size);12.)13.static Wrench2 go(Wrench2 wr.int s)14.S=12;15。return wr;16.17.结果为:A.11B.12c.编译失败。D.运行时异常被抛出11.现有:class Test2 fpublic static void main(String args)short a,b,C;a=l;b=2;C=a+b;a+=2:)以上代码中,哪一句是错误的?A.a=1:B.C=a+b;C.a+=2;D.short a,b,C;12.表达式:1-2/5+2 k 5
12、 的结果是哪项?A.10.6B.9.8C.913.现有代码片段:String s=123;String sl=S+456;请问s i的结果是哪项?A.123456B.579C.编译错误D.运行时抛出异常14.基本数据类型float的包裹类是哪项?A.IntegerB.DoubleC.FloatD.Character15.现有:1.class Test4 2.public static void main(String args)3.boolean X=true;4.boolean y=false;5.short Z=42;6.7.if(z+=42)&(y=true)z+;8.i f(x=fal
13、se)|(+z=45)z+;9.10.System.out.println(z=,+z);II.12.)结果为:A.Z=42B.z=44C.Z=45D.z=461.B2.A3.B4.ACD5.B6.D7.D8.A9.B10.A11.B12.D13.A14.C15.D第三章练习题第三章练习题(流程控制与数组)1.现有:class TestApppublic static void main(String args)for(int i=0;il)System.out.println(xl);else if(x5)System.out.println(x5);else if(x10)System.o
14、ut.println(xIO);else if(x29)System.out.println(x5B.xlC.x10D.x2)&(state=true)6.i+;7.if(+i4)1 1 (state=false)8.i+;9.System.out.printin(i);10.11.)结果为:A.6B.5C.4D.编译失败9.现有:3.public class Tester 4.public static void main(String args)5.intx-5;6.Integer xl=x;Integer x2=x;7.i nt x3=new lnteger(5);8.system.ut
15、.print(x1.equals(x);9.system.ut.print(xl=x);lu.system.ut.print(x2.equals(xl);11.system.ut.print(x2=xl);12-system.ut.print(x2=x3);13-system.ut.print(x2.equals(x3);“I4.15.结果为:A.编译失败B.falsefalsetruetruetruetrueC.truetruetruetruetruetrueD.falsefalsetruetruetruefalseE.truefalsetruefalsefalsetrueF.运行时异常被抛
16、出1 0.现有:1.class Rectangle 2 public static V.id main(string args)3.intx=(1,2,3);4.x1=(x11)?x2:O;5.System.out.println(x1);6.7.)结果为:A.3B.2C.1D.011.现有:1.class Output(2.public static void main(String args)3.int i=5:4.System.out.print(4+i+);5.System.out.print(i+5+7);6.System.out.printin(i+8);7.)8.)结果为:A.9
17、9722B.9 55758C.45 10758D.45 972212.以下哪种初始化数组的方式是错误的?A.Stringnames=zhang,wang,li);B.String names=new String 3;names O=zhang;names 1=wang;names 2=li;C.String3 names=zhang,wang,li;D.以上皆正确13.现有:1.class WhileTests 2.public static void main(String args)3.int X=5;4.while(+x4)5.-x;6.)7.System.out.println(x=
18、+x);8.9.)结果是什么?A.X=6B.X=5C.X=2D.编译失败1 4.现有:1.class Test2 f2.public static void main(String args)3.boolean X=true;4.boolean y=false;5.short Z=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=21B.z=22C.z=23D.Z=2415.现有:1.class Foo 2.public static void
19、main(String args)3.int x=O;4.int y=4;5.for(int z=0;z1&+y10)7.y+;8.)9.System.out.printin(y);10.11.)结果是什么?A.7B.8C.10D.12一 一 i 9 8 7 6 5 4 3 2 4 3 2 1。.BBACCCADBBCCBDD第四章练习题(封装)1.下列有关类、对象和实例的叙述,正确的是哪一项?A.类就是对象,对象就是类,实例是对象的另一个名称,三者没有差别B.对象是类的抽象,类是对象的具体化,实例是对象的另一个名称C.类是对象的抽象,对象是类的具体化,实例是类的另一个名称D.类是对象的抽象,
20、对象是类的具体化,实例是对象的另一个名称2.下列类Account的构造方法中,声明正确的是?A.Account(String name)B.Account(String name)C.Account(name)()D.NewAccount(String name)3.类Account中字段声明正确的是哪项?A.class Account fname;amount;)B.class AccountString name=I.O;double amount=Mike;)C.class AccountfString name;double amount;)D.class AccountString
21、name=Mike,double amount=1000.0;)4.类Account中方法声明正确的是哪一项?A.class Account fdeposit();)B.class Accountfvoid deposit();C.class Accountfvoid deposit()D.class Accountfvoid deposit)5.下列有关类声明的代码片段,哪一项是正确的?A.package school;import java,sql.*;class Student)B.import java,sql.*;package school;class Student f)C.pa
22、ckage school;class Student)import java.sql.*jD.package school;import java,sql.*;private String name;class Student)6.有关new关键字的描述正确的是哪项?A.创建对象实例的时候可以不使用new关键字B.new所创建的对象不占用内存空间C.new会调用类的构造器来创建对象D.new所创建的对象一定存在引用变量7.下列哪些是方法public int add(int a)的重载方法?(选三项)A.public int add(long a);B.public void add(int a
23、)jC.public void add(long a);D.public int add(float a);8.我们定义一个Account类来描述银行账户,银行账户有账户名、金额等属性特征,同时有存款、取款等行为特征,下述代码适合描述的是哪项?A.class AccountfString name;/账户String amount;/金额Account(String name)()void deposit(double mount)/存款)void withdraw(double mount)/取款)B.class AccountfString name;/账户doujole amount;/
24、金额Account(double amount)()void deposit(double mount)/存款)void withdraw(double mount)/取款)C.class AccountfString name;/账户double amount;/金额Account(String name)void deposit(double mount)/存款)void withdraw(double mount)/取款)D.class AccountfString name;/账户double amount;/金额Account(String name)void deposit()/存
25、款)void withdraw()/取款)9.现有:1.class Banana2 f2.static int X=2;3.public static void main(String args)4.int X=2;5.Banana2 b=new Banana2();6.b.go(x);7.8.static x+=x;)9.void go(int x)1 0.H F X;11.System,out.printin(x);12.13.结果为:A.7B.5C.3D.21 0.现有:1.class TestFoo f2.int x;3.String y;4.int getX()return x;5.
26、String getY()return y;6.void setX(int x)7.int Z=7:8.this.x=x;9.10.可以添加多少个修饰符来封装此类?A.5B.4C.3D.211.定义枚举如下:public enum Direction(EAST.SOUTH,WEST,NOR TH)F 列正确使用该枚举类型的语句是哪项?A.Direction Direction=EAST;B.Direction direction=Direction.WEST;C.int a-Direction.NOR TH;n Direction direction=2;12.定义类:package util
27、s;public class R eppublic static String twice(String s)return s+s;)再定义另一个类Demo:I./insert code here2.public class Demo3.public static void main(String args)4.Sy stem.out.println(twice(Hello);5.6.在第一行插入哪项代码,可以使程序正常编译和执行?A.import utils.*;B.import utils.R ep.*;C.import static utils.R ep.twice;D.static i
28、mport utils.R ep.twice;1 3.现有:public class TestDemoprivate int X-2;static int y=3;public void method()final int i=100;int j=10;class Cinner public void mymethod()/Here在Here处可以访问的变量是哪些?(选三项)A.XB.VC.jD.i1 4.现有如F包结构:com|X|-Alpha.classI II I yI|-Beta.classI1 1 -Gamma.class和类:class Test Alpha a;Beta b;Ga
29、mma c;哪三个必须加入到类Test中,以使其通过编译?(选三项)A.package y;B.package com;C.import com.x.y.*;D.import com.x.*;1 5.现有2个文件:1.package x;2.public class X3.public static void doX()System.out.print(doX);4.)和:1.class Find2.public static void main(String args)3./insert code here4.5.哪两行分别插入到类Find的第3行将编译并产生输出“doX”?(选两项)A.d
30、oX();B.X.doX();C.x.X.doX();D.x.X myX=new x.X();myX.doX();1D2A3C4C5A6C7ACD8C9C10 D11 B12C13AB D14 BCD15C D第五章练习题(继承)1.下列关于继承优点的叙述正确的是哪几项?(选三项)A.可以创建更为特殊的类型B.消除重复代码C.执行效率高D.便于维护2.在子类中调用父类中被覆盖的方法时需要使用哪项关键字?A.thisB.superC.newD.以上都不是3.现有public class Parenttpublic void change(int x)public class Child exte
31、nds Parent/覆盖父类change方法)下列哪个声明是正确的覆盖了父类的change方法?A.protected void change(int x)B.public void change(int x,int y)C.public void change(int x)D.public void change(String s)4.如果想要一个类不能被任何类继承的话,需要使用哪个关键字来修饰该类?A.abstractB.newC.staticD.final5.为了使得System.out.println。输出对象引用的时候得到有意义的信我们应该覆盖Object t-的哪个方法?A.eq
32、ualsB.toStringC.hashCodeD.notify6.现有:public class Pet()public class Cat extends Pet)执行代码Cat c-new Cat();Pet p=(Pet)c;后下列哪项是正确的?A.Pet p=(Pet)c 运行错误B.Pet p=(Pet)c 编译错误C.Pet p=(Pet)c 止常执行D.以上都不对7.程序:public class Petpublic void speak()System.out.print(pet);public class Cat extends Petpulolic void speak(
33、)System.out.print(Cat);)public class Dog extends Pet(public void speak()System.out.print(Dog);)执行代码Pet p=new Cat(),new Dog(),nex Pet();for(int i=O;ip.length;i+)pi.speak();后输出的内容是哪项?B.Cat Cat CatC.Cat Dog DogD.Cat Dog Pet8.现有:1.class D o g)2.class Harrier extends Dog )3.4.class DogTest5.public static
34、 void main(String a rg s)(6.Dog dl=new Dog();7.Harrier hl=new Harrier();8.Dog d2=hl;9.Harrier h2=(Harrier)d2;10.Harrier h3=d2;11.)12.)下面哪一项是正确的?A.2个Dog对象被创建B.2个Harrier对象被创建C.3个Harrier对象被创建D.编译失败9.现有:2.class Cat 3.Cat(int c)System.out.print cat+c+);4.5.class SubCat extends Cat 6.SubCat(int c)super(5)
35、;System.out.print(cable);7.SubCat()this(4);8.public static void main(String args)9.SubCat s=new SubCat();10.11.)结果为:A.cat5B.cableC.cat5 cableD.cable cat51 0.现有:1.class Guy String greet()return hi;2.class Cowboy extends Guy(String greet()(returnhowdy)3.class Surfer extends Guy(String greet()(return d
36、 u d e!4.5.class Greetings 6.public static void main(String args)7.Guy guys=(new Guy(),new CowboyO,new Surfer();8.for(Guy g:guys)9.System.out.print(g.greet();10.11.)结果为:A.hi howdy dude!B.运行时异常被抛出。c.第 7 行出现一个错误,编译失败。D.第 8 行出现一个错误,编译失败。1 1.现有:1.class Over 2.i nt dolt(long x)return 3;3.)4.5.class Under
37、 extends Over 6./insert code here7.)和四个方法:short dolt(int y)return 4;int dolt(long Xr long y)return 4;private int dolt(short y)return 4;protected int dolt(long x)return 4;分别插入到第6 行,有几个可以通过编译?A.1B.2C.3D.412现有1.class Beverage 2.Beverage()System.out.print(beverage);3.4.class Beer extends Beverage 5.publ
38、ic static void mainstring args)6.Beer b=new Beer(14);7.)8.public int Beer(int x)9.this();10.System.out.print(beerl);11.)12.public Beer()System.out.print(beer2);13.结果是什么?A.beerl beverageB.beer2 beverageC.beverage beer2 beerlD.编译失败13.现有:1.class Bird 2.void talk()System.out.print(chirp);3.4.class Parro
39、t2 extends Bird 5.protected void talk()System.out.printfhello);6.public static void main(String args)7.Bird birds=new Bird(),new Parrot2();8.for(Bird b:birds)9.b.talk();10.11.)结果 是 什 么?A.chirp chirpB.hello helloC.chirp helloD:编译错误1 4.现有:1.class SuperFoo(2.SuperFoo doStuff(int x)3.return new SuperFoo
40、();4.5.)6.7.class Foo extends SuperFoo 8./insert code here9.)和四个声明:Foo doStuff(int x)return new Foo();Foo doStuff(int x)return new SuperFoo();SuperFoo doStuff(int x)return new Foo();SuperFoo doStuff(int y)return new SuperFoo();分别插入到第8 行,有几个可以通过编泽?A.1B.2C.3D.41 5.现有:1.class HorseRadish 2./insert code
41、 here3.protected HorseRadish(int x)4.System.out.println(bok choy);5.6.7.class Wasabi extends HorseRadish 8.public static void main(String args)(9.Wasabi w-new Wasabi();10,11.)分别插入到第2 行,哪两项允许代码编译并产生 bok choy”输出结果?(选两项)A.protected HorseRadish()this(42);B.protected HorseRadish()C./just a commentD.prote
42、cted HorseRadish()new HorseRadish(42);参考答案1ABD2B3C4DSB6A7D8D9C10A11 D12 D13C14 D15AD第六章练习题(抽象类与接口)1.下列有关抽象类的叙述正确的是哪项?A.抽象类中一定含有抽象方法B.抽象类的声明必须包含abstract关键字C.抽象类既能被实例化也能被继承D.抽象类中不能有构造方法2.下列有关抽象方法叙述正确的是哪项?(选两项)A.抽象方法和普通方法一样,只是前面多加一个修饰符asbtractB.抽象方法没有方法体c.抽象方法可以包含存任何类中D.包含抽象方法的类的具体子类必须提供具体的覆盖方法3.下列有关接口
43、的叙述错误的是哪项?A.接口中只能包含抽象方法和常量B.一个类可以实现多个接口C.类实现接口时必须实现其中的方法D.接口不能被继承4.下列关于接口的定义哪项是正确的?A.interface Cint a;)B.public interface A implements B)C.public interface A int a();)D.abstract interface D)5.现有:1.interface Animal f2.void eat();3.4.5./insert code here6.7.public class HouseCat implements Feline 8.pub
44、lic void eat()9.和以下三个接口声明:interface Feline extends Animal()interface Feline extends Animal void eat();interface Feline extends Animal void eat()分别插入到第5 行,有多少行可以编译?A.0B.1C.2D.36.现自:1.interface Color 2.interface Weight 3./insert code here和以下足六个声明:class Boat extends Color,extends Weight class Boat exte
45、nds Color and Weight class Boat extends Color,Weight class Boat implements Color,implements Weight class Boat implements Color and Weight class Boat implements Color,Weight 分别插入到第3 行,有多少行可以编译?A.0B.1C.2D.37.现有:1.abstract class Color 2.protected abstract String getRGB();3.4.5.public class Blue extends
46、 Color 6./insert code here7.)和四个声明:public String getRGB()return blue;String getRGB()return blue;)private String getRGB()return blue;protected String getRGB()return blue;分别插入到第6 行,有几个可以通过编译?A.0B.1C.2D.38.现有:1.abstract class Color2 2./insert code here3.)4.5.public class Blue2 extends Color2 6.public S
47、tring getRGB()return blue;7.和 4 个声明:public abstract String getRGB();abstract String getRGB();private abstract String getRGB();protected abstract String getRGB();分别插入到第2 行,有多少行可以编译?A.OB.1C.2D 39.现有:1.class Top 2.static int X=l;3.public Top()x*=3;)4.5.class Middle extends Top 6.public Middle()x+=l;7.p
48、ublic static void main(String args)8.Middle m=new Middle();9.System.out.println(x)j10.11.)结果是什么?A.2B.3C.4D.编译失败1 0.现有两个文件:1.package X;2.public class X 3.public static void doX()System.out.print(doX);4.)和:1.import x.X;2.class Find 3.public static void main(String args)4.X myX=new X();myX.doX();5.X.do
49、X();6.x.X.aoXQ:7.x.X myX2=new x.X();myx2.doX();8.9.结果为:A.Find类中第4 行出现一个错误,编译失败。B.Find类第5 行出现一个错误,编译失败。C.Find类第6 行出现一个错误,编译失败。D.doX doX doX doX11.现有:1.class Tree 2.private static String tree=tree3.String getTree()return tree;4.)5.class Elm extends Tree 6.private static String tree=elm7.public static
50、void main(String args)8.new 曰m().g。(new Tree。);9.)10.void go(Tree t)11.String s=t.getTree()+日m.tree+tree+(newElm().getTree();12.System.out.println(s);结果为:A.elm elm elm elmB.tree elm elm elmC.tree elm elm treeD.tree elm tree elm12.现有:1.interface Animal 2.void eat();3.)4.5./insert code here6.7.public