1Java练习题一、单选题1.Java程序的执行过程中用到一套JDK工具,其中java.exe是指(B)A.Java文档生成器B.Java解释器C.Java编译器D.Java类分解器2.编译Java程序的命令文件名是(B)A.java.exeB.javac.exeC.javacD.appletviewer.exe3.编译Java程序file.java后生成的程序是(C)A.file.htmlB.File.classC.file.classD.file.jar4.Java语言与其他主要语言相比较,独有的特点是(C)A.面向对象B.多线程C.平台无关性D.可扩展性5.声明Java独立应用程序main()方法时,正确表达是(A)A.publicstaticvoidmain(String[]args){…}B.privatestaticvoidmain(Stringargs[]){…}C.publicvoidmain(Stringargs[]){…}D.publicstaticvoidmain(){…}6.下列有关Java语言的叙述中,正确的是(B)。A.Java是不区分大小写的B.源文件名与public类型的类名必须相同C.源文件的扩展名为.jarD.源文件中public类的数目不限7.Java用来定义一个新类时,所使用的关键字为(A)。A.classB.publicC.structD.class或struct8.一个可以独立运行的Java应用程序(D)。A.可以有一个或多个main方法B.最多只能有两个main方法C.可以有一个或零个main方法D.只能有一个main方法9.下面哪个是Java语言中正确的标识符(B)A.3DB.$thisC.extendsD.implements10.下面哪个不是Java的保留字或关键字?(B)A.defaultB.NULLC.throwsD.long11.对if(…)句型括号中的表达式,下列Java类型中哪一个是合法的?(C)A.byteB.shortC.booleanD.Objectreference12.Java中整型包括(D)。A.int,byte,charB.int,short,long,byte,charC.int,short,long,charD.int,short,long,byte213.哪个是将一个十六进制值赋值给一个long型变量?(D)A.longnumber=345L;B.longnumber=0345;C.longnumber=0345L;D.longnumber=0x345L;14.下面的哪个赋值语句是不对的?(A)A.floatf=11.1;B.doubled=5.3E12;C.doubled=3.14159;D.doubled=3.14D;15.下列哪个数代表八进制整数?(D)A.0XA6B.-1E3C.1840D.014416.在Java中,表示换行符的转义字符是(A)。A.'\n’B.'\f'C.'n'D.\dd17.下列代码真正出错的在那一行:(C)1)publicvoidmodify(){2)intI,j,k;3)I=100;4)while(I0){5)j=I*2;6)System.out.println(Thevalueofjis+j);7)k=k+1;8)I--;9)}10}A.line4B.line6C.line7D.line818.以下代码段执行后的输出结果为(C)。(符号随被除数)intx=-3;floaty=10.0f;System.out.println(y%x);A.不能成功编译B.-1.0C.1.0D.-119.执行完以下代码int[]x=newint[10];后,以下哪项说明是正确的(A)A.x[9]为0B.x[9]未定义C.x[10]为0D.x[0]为空20.对数组的定义及初始化不正确的方法是:(B)A.intarray[];B.intarray[8];C.int[]array=newint[8];D.intarray[]=newint[8];21.下面哪条语句定义了5个元素的数组(A)A.int[]a={22,23,24,25,12};B.inta[]=newint(5);C.int[5]array;D.int[]arr;22.定义一维数组名为abc时,下面哪项可以得到数组元素的个数?(B)A.abc.length()B.abc.lengthC.len(abc)D.ubound(abc)323.设有定义语句inta[]={66,88,99};则以下对此语句的叙述错误的是(C)。A.定义了一个名为a的一维数组B.a数组有3个元素C.a数组的下标为1~3D.数组中的每个元素是整型24.根据下面给出的代码,判断那个叙述是对的?(C)(p29)publicclassPerson{staticintarr[]=newint[10];publicstaticvoidmain(Stringa[]){System.out.println(arr[1]);}}A.编译时将发生错误B.编译时正确但是运行时出错C.输出为0D.输出为null25.以下程序执行完后,c与result的值是:(A)booleana=false;booleanb=true;booleanc=(a&&b)&&(!b);intresult=c==false?1:2;A.c:false;result:1;B.c:true;result:2;C.c:true;result:1;D.c:false;result:2;26.代码“Greeneggs”+“Ham”的结果是什么?(C)。A.Greeneggs+HamB.GreeneggsHamC.GreeneggsHamD.Error27.下面哪个是对字符串String的正确定义(A)A.Strings1=null;B.Strings2=’null’;C.Strings3=(String)‘abc’;D.Strings4=(String)‘\uface’;28.给出下面一段程序,选择运行结果(C)publicclassX{publicstaticvoidmain(String[]args){Stringnames[]=newString[5];for(intx=0;xargs.length;x++)names[x]=args[x];System.out.println(names[2]);}}命令行执行:javaXab命令后,其输出结果是下面哪一个?A.namesB.bC.nullD.运行出现异常29.哪种方法返回String中的字符数?(B)。A.size()B.length()C.width()D.girth()30.下面哪个不是String类的方法?(C)A.subString()B.startsWith()C.toString()D.toUpperCase()31.关于以下程序段,正确的说法是(C)41.Strings1=“a”+“b”;2.Strings2=newString(s1);3.if(s1==s2)4.System.out.println(“==issucceeded”);5.if(s1.equals(s2))6.System.out.println(“.equals()issucceeded”);A.行4与行6都将执行B.行4执行,行6不执行C.行6执行,行4不执行D.行4行6都不执行32.下面关于java中类的说法哪个是不正确的?(C)A.类体中不仅可以有变量定义和成员方法的定义,还可包含静态代码块。B.构造方法是类中的特殊方法。C.类一定要声明为public的,才可以执行。D.一个java文件中可以有多个class定义。33.下面关于变量及其范围的陈述哪个是不对的?(B)A.实例变量是类的成员变量B.实例变量用关键字static声明C.在方法中定义的局部变量在该方法被执行时创建D.局部变量在使用前必须被初始化34.下列类的定义中,错误的是(B)。A.classx{....}B.publicxextendsy{....}(p66)C.publicclassxextendsy{....}D.classxextendsyimplementsy1{....}35.下面是程序ObjectText.java的代码段:classEmpty{}publicclassObjectTest{publicstaticvoidmain(String[]args){Emptyem=newEmpty();}}以下错误的结论是(A)。A.类Empty是空的,既没有成员变量也没有成员方法B.类Empty非空,有一个默认的构造方法C.类Empty中有一个构造方法Empty()D.类Empty能够被继承536.下列应用程序打印多少行?(D)publicclasshellotest{{System.out.println(hello.);}publicstaticvoidmain(String[]args){newhellotest();newhellotest();newhellotest();}}A.0B.1C.2D.337.假设A类有如下定义,设a是A类的一个实例,下列语句调用哪个是错误的?(C)classA{inti;staticStrings;voidmethod1(){}staticvoidmethod2(){}}A.System.out.println(a.i);B.a.method1();C.A.method1();D.A.method2();38.看下面一段程序:classAclass{voidgo(){System.out.println(Aclass);}}publicclassBclassextendsAclass{voidgo(){System.out.println(Bclass);}publicstaticvoidmain(Stringargs[]){Aclassa=newAclass();Aclassa1=newBclass();a.go();a1.go();}}以上程序运行结果是:(C)A.AclassB.BclassC.AclassD.BclassAclassBclassBclassAclass639.哪一行定义了一个静态变量?(A)A.publicstaticinti;B.staticpublicinti;C.publicintstatici;D.intpublicstatici;40.MAX_LENGTH是int型public成员变量,变量值保持为常量100,其定义是(C)。A.finalpublicintMAX_LENGTH=100;B.publicintMAX_LENGTH=100;C.publicfinalintMAX_LENGTH=100;D.finalintMAX_LENGTH=100;41.若在某个类中定义了如下的方法:finalvoidaFinalFunction();,则该方法属于(C)。A.本地方法B.静态方法C.最终方法D.抽象方法42.MyClass类的默认构造方法是哪一个?(B)A.newMyClass()B.MyClass(){}C.MyClass{}D.publicclassMyClass43.构造方法何时被调用(B)A.类定义时B.创建对象时C.调用对象方法时D.使用对象的变量时44.对于构造方法,下列叙述不正确的是(B)。A.构造方法是类的一种特殊方法,它的方法名必须与类名相同。B.构造方法的返回类型只能是void型,且书写格式是在方法名前加void前缀。C.构造方法的主要作用是完成对类的对象的初始化工作。D.一般在创建新对象时,系统会自动调用构造方法。45.给出下面代码段1.publicclassTest2.{intm,n;3.publicTest(){}4.publicTest(inta){m=a;}5.publicstaticvoidmain(String