Java试题(三)一、选择1.给定下面的代码片段:1)Stringstr=null;2)if((str!=null)&&(str.length()10)){3)System.out.println(morethan10);4)}5)elseif((str!=null)&(str.length()5)){6)System.out.println(lessthan5);7)}8)else{System.out.println(end);}哪些行会导致错误?(C)A.line1B.line2C.line5D.line82.下面哪种注释方法能够支持javadoc命令:(D)A./**...**/B./*...*/C.//D./**...*/3.欲编写如下图的一个界面,用于显示用户指定的图像:如果在区域A中只能放置一个AWT组件,从各组件的本来功能角度考虑,最好使用哪种组件:(D)A.TextAreaB.PanelC.AppletD.Canvas4.界面如上题所示。若Button1的功能是:点击后弹出一个用于输入的界面,获取用户想要显示的图像文件名,则该界面最好是(从编程简单和程序不易出错的角度考虑):(C)A.模式(Modal)Dialog12B.非模式(None-modal)DialogC.FileDialogD.Frame5.界面如上题所示。如果在A区域使用某种AWT组件(java.awt.Component的子类)来负责绘制图像,则绘图的语句最好应放在该组件的哪个方法中(考虑到应用程序和Java虚拟机的AWT线程都会要求重画该组件)?(B)A.构造方法B.paint(Graphicsg)C.update(Graphicsg)D.repaint()6.下面关于Applet的说法正确的是(B)A.Applet也需要main方法B.Applet必须继承自java.awt.AppletC.Applet能访问本地文件D.Applet程序不需要编译7.看下面一段程序:classAclass{voidgo(){System.out.println(Aclass);}}publicclassBclassextendsAclass{voidgo{System.out.println(Bclass);}publicstaticvoidmain(Stringargs[]){Aclassa=newAclass();Aclassa1=newBclass();a.go();a1.go();}以上程序运行结果是:(C)A.AclassAclassB.BclassBclassC.AclassBclassD.BclassAclass8.下列关于Java线程的说法那些是正确的(D)3A.每一个Java线程可以看成由代码、一个真实的CPU以及数据三部份组成。B.创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。C.Thread类属于java.util程序包。D.以上说法无一正确。9.看以下程序:booleana=false;booleanb=true;booleanc=(a&&b)&&(!b);intresult=c==false?1:2;这段程序执行完后,c与result的值是:(A)A.c=false;result=1;B.c=true;result=2;C.c=true;result=1;D.c=false;result=2;10.运行下列程序,会产生什么结果(A)publicclassXextendsThreadimplementsRunable{publicvoidrun(){System.out.println(thisisrun());}publicstaticvoidmain(Stringargs[]){Threadt=newThread(newX());t.start();}}A.第一行会产生编译错误B.第六行会产生编译错误C.第六行会产生运行错误D.程序会运行和启动11.指出下列程序的运行结果(B)inti=9;switch(i){default:System.out.println(default);case0:System.out.println(zero);break;case1:System.out.println(one);case2:System.out.println(two);}4A.defaultB.default,zeroC.errordefaultclausenotdefinedD.nooutputdisplayed那个12.运行下列程序,会产生什么结果:(B)classOuter1{privateinta;voidfoo(doubled,finalfloatf){Strings;finalbooleanb;classInner{voidmethodInner(){System.out.println(intheInner);}}}publicstaticvoidmain(Stringargs[]){Outer1me=newOuter1();me.foo(123,123);System.out.println(outer);}}A.intheInnerouterB.outerC.intheInnerD.编译不通过二、多项选择1.下面哪些标识符在Java语言中是合法的?(AB)A.persons$B.TwoUsersC.*pointD.instanceofF.end-line2.下面哪些代码片段会产生编译错误?(BD)A.Strings=Gonewiththewind;Stringt=good;Stringk=s+t;B.Strings=Gonewiththewind;Stringt;t=s[3]+one;C.Strings=Gonewiththewind;Stringstandard=s.toUpperCase();D.Strings=homedirectory;Stringt=s-directory.3.下面哪些赋值语句是错误的?(ADE)A.floatf=11.1;B.doubled=5.3E12;5C.charc='\r';D.bytebb=433;E.Booleanb=true;4.给定下面的代码片段:publicvoidTest(){try{method();System.out.println(HelloWorld);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println(Exception?);}catch(Exceptione){System.out.println(Exception1);}finally{System.out.println(Thankyou!);}}如果函数method正常运行并返回,会显示下面的哪些信息?(AD)A.HelloWorldB.ExceptionC.Exception1D.Thankyou!5.下列哪些语句是正确的?(BCD)A.inta[][]=newint[][3];B.inta[][]={{1,3},{2,3,4},{1,2}};C.Strings[][]=newString[2][];D.Strings[][]={{can,I},{help,you}}6.下面哪些语句能够正确地生成5个空字符串?(AB)A.Stringa[]=newString[5];for(inti=0;i5;a[i++]=);B.Stringa[]={,,,,};C.Stringa[5];D.String[5]a;E.String[]a=newString[5];for(inti=0;i5;a[i++]=null);7.下面关于Java代码安全的说法哪些是正确的?(ABCD)A.程序执行过程中需要的所有类都是通过字节码校验程序装入的。B.代码的运行是由Java运行环境中的解释器完成的。C.在运行时,字节码要经过装入,校验之后,才能在解释器中执行。6D.在缺省的安全配置条件下,JavaApplet不能访问任何本地资源。8.下列方法属于java.lang.Math类的有(方法名相同即可):(ABCD)A.random()B.abs()C.sqrt()D.sin()9.下列表达式哪些是正确的:(BC)A.byte=340;B.Boolean=1;C.longl=-2;D.double=0.9239d;10.下面的说法正确的是:(BC)A.Java语言里的线程不是对象B.Applet不需要main方法C.Java语言的对象都是java.lang.Object的子类D.double是Java语言的合法标识符11.下面的Java语句错误的是:(AC)A.Doublea=1.0;B.doublea=1.0;C.out.println(hello);D.DatagramSocketa=newDatagramSocket()三、填空题1.Java中类成员的限定词有以下几种:private,public,(protected),(default)。其中(public)的限定的范围最大。2.Java中所有类都是类(Object)的子类。3.请填出在java.lang包中与下列基本数据类型相对应的封装类:float:java.lang.Float,char:(java.lang.Character),boolean:(java.lang.Boolean)。4.请写出下面程序的运行结果。publicclassTestextendsTT{publicvoidmain(Stringargs[]){Testt=newTest(Tom);}publicTest(Strings){super(s);System.out.println(Howdoyoudo?);}publicTest(){this(IamTom);}}7classTT{publicTT(){System.out.println(Whatapleasure!);}publicTT(Strings){this();System.out.println(Iam+s);}}结果:()Whatapleasure!IamTomHowdoyoudo?5.给定下面的未完成的代码片断:publicclassExample{intx,y;publicExample(inta){…x=a;}publicExample(inta,intb){//和上面一个参数的构造方法做同样的操作,包括赋值x=ay=b;}}如果要用最简捷的一行代码实现//和上面一个参数的…注释所指出的功能,请写出你认为最合适的一行代码:(this(a))6.如果有一个类MyFrame是Frame的子类,能够被不同包中的类所使用,同时又能够为线程提供运行代码(run()方法),请写出该类的声明头。你的解答:()publicclassMyFrameextendsFrameimplementsRunnable四、编程题1.编写一个程序用选择法对数组a[]={20,10,50,40,30,70,60,80,90,100}进行由大到小的排序。importjava.io.*;publicclassSelectSort{publicstaticvoidmain(Stringargs[]){inta[]={20,10,50,40,30,70,60,80,90,100};inttemp;for(inti=0;ia.length-1;i++)for(intj=i+1;ja.length;j++){8if(a[i]a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}}for(intk=0;ka.length;k++){System.out.println(a[+k+]:+a[k]);}}}运行结果:a[0]:100a[1]:90a[2]:80a[3]:70a[4]:60a[5]:50a[6]:40