99个java练习题及答案.pdf
1、编译并运行以下代码的输出结果是?(假设以下代码包含在main方法中)String si=new String(amitM);System.out.printlsl.replaceCW/r);System.out.println(sl);String s3=arit”;String s4=narit;String s2=sl.replace(,m7r,);System.out.println(s2=s3);System.out.println(s3=s4);thA.aritamitfalsetrue3超驳松 口-E郑貂B.aritaritfalsetrueC.amitamitfalsetrue3D.aritamittruetrue幅2、编译并运行以下代码的输出结果是?(1)/Filename;SuperclassX.javapackage packageX;public class SuperclassXprotected void superclassMethodX()protected int superclassVarX;/Filename SubclassY.java1.package packageY;2.import packageX.*;3.public class SubclassY extends SuperclassX4.(5.SuperclassX objX=new SubclassY();6.SubclassY objY=new SubclassY();7.void subclassMethodY()8.(9.obj Y.supercla ssMethodX();10.int i;11.i=objX.superclass VarX;12.13.A.第9行编译错误B.第5行编译错误C.第11行抛出运行期异常D.以上都不对3、编译并运行以下代码将发生什么?(1)class MyClass(int x;MyClass(int i)(x=i;)public static void main(String args)第2页MyClass ml=new MyClass(lOO);MyClass m2=new MyClass(lOO);if(ml.equals(m2)System.out.println(Both are equal);System.out.println(Both are not equal);th:A.代码编译时报出错误提示信息“equals。方法未定义”B.编译通过,抛出运行期异常.您输出 Both are equal.3辍D.输出 Both are not equal.直 4、以命令java Test 1 2 3运行以下代码时,将发生什么?取襦前 public class Teststatic public void main(String args)int counter=0;doSystem.out.println(args+counter);幅while(counter args.length);A.编译错误B.编译和运行均成功.C.代码总是漏掉最后一个传递给程序的参数D.编译通过,但是在运行时抛出一个运行期异常.5、class Parentclass Child extends Parent(public String getChild()(String name=child”;return name;)public static void main(String argvf)Parent p=new Child();插入代码以下哪个选项的代码插入注释语句“插入代码”处可以完成调用getChild。方法使程序输出为字符串child?A.System.out.println(p.getChild();B.System.out.println(p.name);C.System.out.println(Parent)p.getChild();D.System.out.println(Child)p).getChild();6、以下哪个选项的代码插入注释语句/Here”处,使得程序输出为5?public class MyClasspublic static void main(String argvf)(int x=5;/HereA.System.out.println(x+)第4页B.System.out.println(+x);C.System.out.println(x);D.System.out.println(x-);E.System.out.println(-x);7、以下代码段的输出结果是?3辍教松 口-E怅public class MyClasspublic static void main(String argv)(int i;intj;outer:for(i=1;i 3;i+)inner:for(j=1;j Value for i=2 value for j=1C、Value for i=2 value for j=2D、Value for i=3 value for j=18、以下代码段的输出结果是?1.int myArrayJ=new int10J10J;2.if(myArray00J 10)3.4.System.out.println(good question);5.A.第1行编译错误B.第2行运行期异常C.输出 good questionD.以上都不对9、以下哪个选项的代码编译时能顺利通过?A.short myshort=99s;B.String name=*Good job done1;C.char c=17c;D.int z=015;10、以下哪个选项中指示的代码行能打印输出false?1.public class MyClass2.3.static String si=I am unique!;4.public static void main(String argsJ)5.(6.String s2=I am unique!;7.String s3=new String(sl);8.Sy stem.ou t.pri ntl n(s 1=s2);9.System.out.println(sl.equals(s2);10.System.out.println(s3=si);11.System.out.println(s3.equals(sl);12.13.A.Line 8B.Line 9C.Line 10D.Line 11E.以上都不对11、以下哪个选项的代码编译不能通过?(1)A、int i=10;intj=4;System.out.println(illj);B、int i=10;intj=4;System.out.println(ilj);C、boolean bl=true;boolean b2=true;System.out.println(bl Ib2);第6页D、boolean bl=true;boolean b2=true;System.out.println(bl Ilb2);12、char类型是Java中唯一的无符号整数基本类型.True/False?(1)A.TrueB.False13、以下哪个选项的代码可以用来定义该类的构造器?(1)public class Test*3辍教松 口-EA.public void Test().B.public Test().C.public static Test().D.public static voidTest().14、你尝试编译并运行以下代码,会发生什么?import java.util.*;public abstract interface Testipublic void test();)(1)public class Test2 implements Testi;(W:public void test()函;:A.编译错误:B.运行期异常:C.编译通过:D.以上都不对15、运行以下的main()方法,结果是?1.public static void main(String args)2.13.String myString;4.int x=100;5.6.if(x 100)myString=x is greater than 100;8.System.out.println(myString.length();9.A.编译时报出错误提示信息“变量myString没有被初始化”B.编译通过C.编译未能通过。但如果变量myString在第8行前的代码中被初始化,代码可以编译通过,运行时可以输出字符串myString的长度D.以上都不对16、编译并运行以下代码将发生什么?public static void main(String args)char digit=a;for(int i=0;i 运行语句:float x=new float10;则下面哪个选项是不正确的?帐:A.x9=0:B.x10J=0.0f:C.x9=O.Ofx.D.x.length=1019、运行以下代码后,a 的值是?byte a;byte b=3;/binary 00000011byte c=-3;if(bc)a=c;)else(a=b;)A.-3B.3C.0D.以上都不对c C:P rogras F ilesX in o x S otvareJC reator.a:11 3卜:11 3Hb:11111111111111111111111111111100c:11111111111111111111111111111101Press any key to continue.-!1 x|20、运行以下代码后的结果是?(1)int a=-5;int b=-2;System.out.println(a%b);A.0B.1C.-1D.编译时报出错误提示“操作符对负数无效”21 5 对以下代码不做其它任何修改,可以将public,protected或private中的哪个访问控制符合法的修饰第3行的myMethod。?如果第3行保留原样,则哪个关键字可以合法的修饰第8行的myMethod()?1.class HumptyDumpty2.3.void myMethod()4.5.6.class HankyPanky extends HumptyDumpty7.8.void myMethod()9.)A.第3行中加入private或不做改动。第8行中加入protected或public或第 10页不做改动。B.第 3 行中加入public或 protectedo 第 8 行中加入private或不做改动。C.第 3 行中加入protected或 public或不做改动。第 8 行中加入private或不做改动。D.第 3 行中加入public。第 8 行中加入private。22、编译并运行以下代码,哪个选项中显示的是部分输出结果?教松 口-Efor(int i=0;i 5;i+)(for(int j=0;j 5;j+)(if(i!=j)(continue;System.out.println(i=+i+j=+j);3辍A、i=0 j=0B、i=1 j=2C、i=l j =lD、i=2 j=2E、i=5j=5N怅23、以下哪个选项中的代码能编译通过?A.float f=1.3;B.char c=a;C.byte b=257;D.boolean b=null;E.int i=0 x10;24、编译并运行以下代码的输出结果是?Integer ten=new Integer(lO);Long nine=new Long(9);System.out.println(ten+nine);int i=1;System.out.println(i+ten);A、1920B、1911C、编译出错:不能对java.lang.Integer进行转换D、10125、根据给出的变量声明,以下哪个选项是合法的?boolean a;boolean b;int c;(2)A、(alb)B、(a II a)C、(a A b)I cD、(a&c)E、(a&c)26、分析以下2个类,选择正确的说法。class Aprivate int x=0;static int y=1;protected int q=2;class B extends A(void method()System.out.println(x);System.out.println(y);System.out.println(q);)A.编译错误,因为变量x在B类中不可用。B.编译通过,运行结果为输出:0 1 2C.编译错误,因为包含有私有成员变量的类不能被继承D.如果将代码行System.out.println(x)”删除,代码就能编译通过第12页E.编译错误,报出提示信息:“变量x在B中未定义”27、以下哪项能打印与十进制数64等价的十六进制数?A.Integer i=new Integer(64);System.out.println(i.toHexStringO);B.System.out.println(Integer.toString(64,16);C.System.out.println(Integer.toHexString(64);D.Integer i=new Integer(64);System.out.println(i.toString(16);E.Integer i=new Integer(64);System.out.println(i.hexValue();3辍教松 口-E328、根据以下代码片段,选择正确的说法。1.Object o=new String(Habcd);2.String s=o;3.System.out.println(s);4.System.out.println(o);A.输出:abedabedB.第1行编译未能通过.C.第2行编译未能通过D.第4行编译未能通过.E.将第1行代码改为:String o=new StringCabcd);贝()能编译通过29、根据以下代码片段,选择正确的说法。怅1.public class AnyClass2.(3.abstract int method();4.void anotherMethod()5.(6.7.8.class Box extends AnyClass9.(10.int method()11.12.return 2;13.14.14.)A.将第6行的extends改为im plem ents,则能编译通过B.如果整个类没有被声明为抽象的,则AnyClass类中的方法method。不能为抽象方法。C.如果将AnyClass类声明为抽象类,则程序能编译通过D.AnyClass类必须有显式的缺省构造器,这样它才能被继承。E.编译错误,因为B o x类不能实现ano山erMethod。方法30、判断这种说法是否正确:instanceof操作符的右操作数可以是个接口,例如:a instanceof b,其中 b 是一个接 口。A.TrueB.False31、变量x为何值时,程序输出为Message 2?switch(x)(case 1 :System.out.println(Message 1);case 2:case 3:System.out.println(Message 2);default:System.out.println(End);)A.1B.2C.3D.4E.以上都不是32、运行以下代码的输出结果是?第 14页String s=new StringCBicycle);int iBegin=1;char iEnd=3;System.out.println(s.substring(iBegin,iEnd);A.BicB.IcC.IcyD.错误:没 有 和 substring(int,char)匹配的方法33、在以下给出的代码,你如果才能通过调用B ase构造器来实现输出字符串base constructor?(1)3辍驳松 口-E郛class Base(Base(int i)(System.out.println(base constructor);Base()N怅public class Sup extends Base(public static void main(String argvJ)(Sup s=new Sup();/OneSup()(/Twopublic void derived()/ThreeA.在位置“One 插入:Base(lO);B.在位置/One 插入:super(lO);C.在位置/Two 插入:super(lO);D.在位置/Three插入:super(lO);34、运行以下代码的输出结果是?String si=hello worldString s2=sl.trim();Sy stem.ou t.pri n tl n(s2);A.hello worldB.hello world C.hello worldD.hello worldE.以上都不对35、运行以下代码片段的结果是?1.int a=1,2;2.int b=1;3.b=ab=0;olio=一一=1JJ1Jo1o1rlrLrLrLaaaaA.BCD.b=0b=0b=1b=036、根据以下给出的类定义,选择可以合法的插入位置“/Here”中的选项?1.class InOut2.3.String s=new String(Between);4.public void amethod(final int iArgs)5.6.int iam;一第 16页th3辍教松 口-E7.class Bicycle8.(9.public void sayHello()10.11./Here12.13./End of Bicycle class14./End of amethod15.public void another()16.17.int iOther;18.19.)A.System.out.println(s);B.System.out.println(iOther);C.System.out.println(iam);/local variable iam is accessed from within inner class;needs to be declared finalD.System.out.printing Args);37、有以下的几个类结构关系:class Parent class DerivedOne extends Parent class DerivedTwo extends Parent 3关于以下表达式,说法正确的是?Parent p=new Parent();DerivedOne dl=new DerivedOne();DerivedTwo d2=new DerivedTwo();dl=(DerivedOne)d2;z:A.编译和运行均报告“非法”怅:B.编译通过,运行时报告“非法”:C.编译运行均能通过38、分析以下代码,选择正确的说法。void looper()int x=0;one:while(x 3)break two;)A.代码能编译通过B.代码编译未能通过C.该方法的输出为:0D.该方法的输出为:1039、switch分支语句中的分支判断点的数据类型可以是int,char,short或byte40、你尝试编译并运行以下代码,会发生什么?1.public class WrapperTest2.3.public static void main(String argsf)4.(5.Boolean bl=new Boolean(HtrueM);6.Boolean b2=new Boolean(HJavaH);7.Boolean b3=new Boolean(null);8.Boolean b4=new Boolean(true);9.System.out.println(bl+b2+b3+b4);10.11 A.第6行编译未能通过B.第7行编译未能通过C.第8行编译未能通过第18页D.输出 true,false,null,trueE.输出 true,false,false,trueF.抛出 NullPointerException 运行期异常41、_ 你尝试编译并运行以下代码,会发生什么?行时启用 assertions.)(1)(假设代码编译和运public class AssertTestprivate void methodA(int i)(assert i=0:methodBO;System.out.println(i);th辍驳松 口-E郛private String methodB()return The value must not be negative;)public static void main(String args|)(AssertTest test=new AssertTest();test.methodA(-lO);A、输出:-10.B、显示AssertionError信 息:”不能为负数C、编译未能通过D、以上都不对怅42、编译并运行以下代码的输出结果是?(1)public class MyThread extends Threadpublic int run(int time)System.out.println(,run()called);return 5;public static void main(String args)(new MyThread().start();)A、编译错误B、运行时出错C 输出:run()calledD、无输出4 3、编译并运行以下代码的输出结果是?(假设以下代码在m a in方法中)?(1)Boolean bl=new Boolean(TRUE);Boolean b2=new Boolean(true);Boolean b3=new Boolean(JUNK);System.out.printlnC+bl+b2+b3);A、编译错误B、运行时出错C、truetruefalseD、truetruetrue4 4、你尝试编译并运行以下代码,会输出什么结果(1)public class Test(public static void main(String argv)(Test t=newTest();t.myMethod();public void myMethod()int i=012;S yste m.out.pri ntln(i);第20页A、12B、012C、10D、以上都不对4 5、你尝试编译并运行以下代码,会发生什么?(1)3超教松 口-Epublic class Teststatic String strl=main method with String args;static String str2=main method with int args1;public static void main(String1 args)/line:6(System.out.println(strl);public static void main(int args)/line:11(System.out.println(str2);)A、第 6 行编译未能通过,因为有两个完全相同的main。B、第 11行编译未能通过,因为有两个完全相同的main。C 输出:main method with main String argsD、输出:main method with main int args;4 6、在以下代码的标准输出是哪个选项?(1)可;public class Test感;public void methodl(int x)throws Exceptiontrymethod2(x);catch(IllegalArgumentException e)S ystem.out.println(Checkpoint 1 );)finally(System.out.println(Checkpoint 2M);)System.out.println(Checkpoint 3);public void method2(int x)throws Exception(if(x Checkpoint 3D Checkpoint 44 7、以下哪种说法是正确的?(2)A、Java线程的执行是由时间分片调度系统来决定B、Java线程的执行是由优先级的协作系统决定C、Java调度系统由随系统平台的变化而变化D、可以自行决定代码中线程的优先级第2 2页-4 8、你尝试编译并运行以下代码,会发生什么?(1)public class MyCIass(public static void main(String argv)int x=0;int i=0;x=i+;System.out.println(x is:+x);System.out.println(i is:+i);thA、x is:1iis:0教松 口-EB、x is:0iis:0D、x is:1i is:1超郛悔 4 9、你尝试编译并运行以下代码,会发生什么?(1)public class MyCIasspublic static void main(String argv)MyCIass me=new MyClass();mc.myMethodO;N怅public void myMethod()int k=10;switch(k)default:System.out.println(This is the default output);break;case 10:System.out.println(,ten,);case 20:System.out.println(,twentyn);break;A、以下说法都不对B、编译错误,因为switch语句的分支判断点的数据类型应该是整型C 编译通过,运行时输出:This is the default outputD、编译通过,运行时输出:ten50、以下哪个赋值 语 句 无 效?(1)A double D=45456.444;B、long L=45784;C、int I=L;D、int J=(int)D;51、以下哪项明确定义 各 个 元 素 是 顺 序 存 放 的?(1)A、ListB、SetC、MapD、Iterator52、以 下 哪 个 命 令 行 语 句 可 以 启 用 在 标 准JDK 1.4的系统类库的assertions?(2)A、-eaB、-enablesystemassertionsC-enableassertionssystemD、-esaE、-easF、-enableassertions53、你 尝 试 编 译 并 运 行 以 下 代 码 片 段,会 发 生 什 么?(1)第 24页Hashtable table=new Hashtable();table.put(nJava*,MPlatform Independence0);table.put(nJavan,nGreat Language!*);System.out.println(MJava:+table.get(nJavan);A、代码编译时未能通过B、输出 Java:Platform IndependenceC、输出 J a v a :G r e a t L a n g u a g e!D、输出 Java:Platform IndependenceGreat Language!E、运行期异常3辍教松 口-E5 4、为了在代码中使用A s s e r t io n E r r o r类,必须引入以下哪个标准j a v a包?A、java.lang.assertions.B、java.errorC、java.lang.error.D、java.io.E、None of these5 5、以下代码片段运行时的输出顺序是?(1)class classC extends classApublic classC()(System.out.println(C!);)class classAN怅public classA()System.out.println(A);)class classB extends classCpublic classB()(System.out.println(B);)public class ABC(public static void main(String argsl)(System.out.println(,MainH);classB c=new classB();)A、C,B,B,MainB、Main,A,C,BC Main,A,B,CD Main,A,B,A5 6、你尝试编译并运行以下代码片段,会发生什么?(1)class MyClassstatic String myName=nSCJP;MyClass getMyClass()(System.out.println(myName);return null;)public static void main(String args)(System.out.println(new MyClass().getMyClass().myName);)A、编译时错误第2 6页,W4E-郛前朝-叩科Z莪sW幅B、运行时错误C、输出两次SCJPD、输出一次SCJPE、以上都不对57、运行以下代码片段,输出结果是?(1)classXYb=newY();X()(Syste m.out.print(X);)classYY()System.out.print(Y);)publicclassZextends X(Yy=newY();Z()(System.out.print(Z);)publicstaticvoidmain(Stringargs)newZ();)A、ZB、YZC、XYZD、YXYZ58、判断以下说法的对错:语句 public native int fastMethod。;可以合法定义 Java 中的 native 方法:(1)A、TrueB、False59、运行以下程序,输出结果是?(1)class Value|public int i=15;)public class Test(public static void main(String argv)(Test t=newTest();t.first();)public void first()(int i=5;Value v=new Value();v.i=25;second(v,i);System.out.println(v.i);public void second(Value v,int i)(i=0;v.i=20;Value val=new Value();v=val;第28页S y s t e m.o u t.p r in t ln(v.i+i);:A、15 0!20:B、1 5 0!1 5;C、2 0 0:2 0;D、0 1 5:2 0J :6 0、以下哪 项 是T h r e a d类 的 静 态 方 法?;A、sleep:B、yield鼠 C、w a it松 口 D、n o t if y:g*6 1、在以下哪种情 况 下 可 以 获 得 缺 省 构 造 器?(1)官 代 A、当作任何类的定义时邹B、当类没有其它构造器时翦 C、当定义至少一个构造器的时.望 D、从不需要g :62、根据以下的代 码:publi c i nt er fa ce M y C la s s!voi d m y M e t h o d();:)z;帐:以下哪项是对实现M y C l a s s接口的类的正确描述(2)A、类中应该有p u b l i c的m y M e t h o d方法.B 类中应该有publi c或fr i endly的m yMe t h o d方法:C、类中应该有m y M e t h o d方法,该方法不会抛出任何可检测到的异常:D、类中应该有m y M e t h o d方法,该方法不能是同步的63、判 断 以 下 说 法 对 错:一 个fi na l类 不 能 有 抽 象 方 法。(1)A、TrueB、F a ls e64、根 据下 面 的 代码:ch a r y =n e w ch a r 5 ;运行代码后,以下哪项是正确的?(1)A、y 4 =OB、y 5 =uO O O O1c、y4=A uO G O O,D、y 5 =*0*65、运 行 代 码 后,变 量a的 值 是?(1)by t e a;by t e b=2;/bi na r y 0 0 0 0 0 0 1 0by t e c=-3;i f(!(b 3)(a =b;)els e(a =c;)A、2B、一3C、0D、以上都不对66、运 行 以 下 代 码,输 出 结 果以下哪 项?(1)i nt a =5;i nt b=-2;S y s t em.out.pr i nt ln(a%b);A.编译错误,因 为“”操作符对负数无效B.1C.0D.-1E.以上都不对第30页67、关于以下的Ani ma l类 和L i on类,哪个说法是正确的?(1)*3辍教松 口-E1.package abc;2.3.public class Animal4.(5.protected static int refCount=0;6.public Animal()refCount+;7.protected static void runFast()8.static int getRefCount()return refCount;9.)10.11.class Lion extends abc.Animal12.13.public void runFast()14.public int getRefCount()return refCount;15.A、第 13行编译错误,因为 方 法 runFast。在父类中是protected的,在子类中是public的,就不能实现覆盖B、第 13行编译错误,因 为方 法runFast()在父类中是protected的,而两个类存在于同一个包中。C、第 14行编译错误,因为 方 法 runFast。在父类Animal类中是static的,在子类Lion类中是nonstatic的。non-static方法不能覆盖static方法。D、编译能通过,但是一旦runFast。方法被Lion类的实例调用,则会有运行期异常抛出E、编译能通过,但是一旦getRefCount。方法被Lion类的实例调用,则会有运行期异常抛出幅以下哪个说法不正确?(1)一次映射中不允许出现重复的键HashMap 和 Hashtable 都能实现 Map 接口HashMap是安全线程,而 Hashtable不是在 一次映射中,一个键至多映射一个值6 8、A、B、C、D、6 9、以下哪个不是J a va关键字?(2)A、sizeofB、mainC transientD、volatileE、instanceof70、一段文本中包含100个单词。要求你将这100个单词中互不相同的单词一一列出来,且要求你指出文本中互不相同的单词的个数。你将使用Java的哪个collection类和该类的哪个方法来实现?(1)A java.util.LinkedList 类,该类的 size。方法B、java.util.HashSet 类,该类的 size()方法C、java.util.HashMap 类,该类的 size。方法D、java.util.ArrayList 类,该类的 size(