《JAVA程序设计》练习题一、单选择题1、编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。A.javaB..classC.htmlD..exe2、设x=1,y=2,z=3,则表达式y+=z--/++x的值是(A)。A.3B.3.5C.4D.53、不允许作为类及类成员的访问控制符的是(C)。A.publicB.privateC.staticD.protected4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。A.staticvoidmethod()B.publicvoidmethod()C.finalvoidmethod()D.abstractvoidmethod()5、当某一线程正处于休眠状态,而另一个线程用Thread类中的interrupt()方法中断它时,抛出的异常类型是(C)。A)IOExceptionB)RuntimeExceptionC)InterruptedExceptionD)ClassNotFoundException6、下面的程序段的功能是(D)。Filefile1=newFile(d:\\xxx\\yyy\\zzz);file1.mkdirs();A)在当前目录下生成子目录:\xxx\yyy\zzzB)生成目录:e:\xxx\yyy\zzzC)在当前目录下生成文件xxx.yyy.zzzD)以上说法都不对7、关于下面的程序Test.java说法正确的是(D)。publicclassTest{Stringx=1;inty;publicstaticvoidmain(Stringargs[]){intz=2;System.out.println(x+y+z);}}A)3B)102C)12D)程序有编译错误8、应用程序的main方法中有以下语句,则输出的结果是(A)。intb[][]={{1,1,1},{2,2},{3}};intsum=0;for(inti=0;ib.length;i++){for(intj=0;jb[i].length;j++){sum+=b[i][j];}}System.out.println(sum=+sum);A)10B)6C)9D)139、应用程序的main方法中有以下语句,则执行后输出的结果是(B)。int[]x={125,21,5,168,98};intmin=x[0];for(inti=1;ix.length;i++){if(x[i]min)min=x[i];}System.out.println(min);A)125B)5C)98D)16810、下面说法不正确的是(D)?A)列表(List)、集合(Set)和映射(Map)都是java.util包中的接口。B)List接口是可以包含重复元素的有序集合。C)Set接口是不包含重复元素的集合。D)Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值。11、下列修饰符中与访问控制无关的是(D)A.privateB.publicC.protectedD.Final12、void的含义:(A)A.方法没有返回值B.方法体为空C.没有意义D.定义方法时必须使用13、return语句:(C)A.只能让方法返回数值B.方法都必须含有C.方法中可以有多句returnD.不能用来返回对象14、关于对象成员占用内存的说法哪个正确?(B)A.同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对15、下列说法哪个正确?(C)A.不需要定义类,就能创建对象B.对象中必须有属性和方法C.属性可以是简单变量,也可以是一个对象D、属性必须是简单变量16、下列说法哪个正确?(A)A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用17、关于方法main()的说法哪个正确?(C)A.方法main()只能放在公共类中Bmain()的头定义可以根据情况任意更改C.一个类中可以没有main()方法D.所有对象的创建都必须放在main()方法中18、构造函数何时被调用?(A)A、创建对象时B、类定义时C、使用对象的方法时D、使用对象的属性时19、抽象方法:(C)A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法20、关于继承的说法正确的是:(B)A、子类将继承父类所有的属性和方法。B、子类将继承父类的非私有属性和方法。C、子类只继承父类public方法和属性D、子类只继承父类的方法,而不继承属性21、关于构造函数的说法哪个正确?(C)A、一个类只能有一个构造函数B、一个类可以有多个不同名的构造函数C、构造函数与类同名D、构造函数必须自己定义,不能使用父类的构造函数22、this和super:(C)A、都可以用在main()方法中B、都是指一个内存地址C、不能用在main()方法中D、意义相同23、覆盖与重载的关系是(A)A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中B.覆盖方法可以不同名,而重载方法必须同名C.final修饰的方法可以被覆盖,但不能被重载D.覆盖与重载是同一回事24、关于接口哪个正确?(A)A、实现一个接口必须实现接口的所有方法B.一个类只能实现一个接口C.接口间不能有继承关系D.接口和抽象类是同一回事25、异常包含下列哪些内容?(A)A.程序执行过程中遇到的事先没有预料到的情况B.程序中的语法错误C.程序的编译错误D.以上都是26、对于已经被定义过可能抛出异常的语句,在编程时:(A)A、必须使用try/catch语句处理异常,或用throws将其抛出B.如果程序错误,必须使用try/catch语句处理异常C.可以置之不理D.只能使用try/catch语句处理27、字符流与字节流的区别在于(D)A.前者带有缓冲,后者没有B.前者是块读写,后者是字节读写C.二者没有区别,可以互换使用D.每次读写的字节数不同28、下列流中哪个不属于字节流(D)A.FileInputStreamB.BufferedInputStreamC.FilterInputStreamD.InputStreamReader29、下列____D____是Java合法的标识符A.staticB.5stuC.-3eD._atm30、Java中main()方法的返回值是______D________A.stringB.intC.charD.Void31、以下关于JAVA程序的叙述中正确的是____D______。A.在JAVA程序中,main函数必须位于程序的最前面B.JAVA程序的每行只能有一条语句C.在对一个JAVA程序进行编译的过程中,可发现注释中的描写错误D.JAVA程序中必须有一个主函数32、下列语句序列执行后,k的值是(C)。intj=8,k=15;for(inti=2;i!=j;i+=6){k++;}A.18B.15C.16D.1733、下列语句序列执行后,i的值是(D)。inti=0;do{i+=3;}while(i10);A.3B.6C.9D.1234、下面关于JavaApplication程序结构特点描述中,错误的是(D)。A.一个JavaApplication程序由一个或多个文件组成,每个文件中可以定义一个或多个类,每个类由若干个方法和变量组成。B.Java程序中声明有public类时,则Java程序文件名必须与public类的类名相同,并区分大小写,扩展名为.java。C.组成JavaApplication程序的多个类中,有且仅有一个主类。D.一个.java文件中定义多个类时,允许其中声明多个public类。35、下面哪些选项是正确的main方法说明?(D)A.voidmain()B.privatestaticvoidmain(Stringargs[])C.publicmain(Stringargs[])D.publicstaticvoidmain(Stringargs[])36、在成员方法的访问控制修饰符中,规定访问权限包含该类自身,同包的其他类和其他包的该类子类的修饰符是(B)。A.默认B.protectedC.privateD.Public37、下列关于抽象类的描述中,错误的是(B)。A.抽象类是用修饰符abstract说明的B.抽象类是不可以定义对象的C.抽象类是不可以有构造方法的D.抽象类通常要有它的子类38、下面关于接口的描述中,错误的是(A)。A.一个类只允许继承一个接口B.定义接口使用的关键字是interfaceC.在继承接口的类中通常要给出接口中定义的抽象方法的具体实现D.接口实际上是由常量和抽象方法构成的特殊类39、以下关于继承的叙述正确的是(A)。A、在Java中类只允许单一继承B、在Java中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实现一个接口D、在Java中接口只允许单一继承40、在java中,()对象可以使用键/值的形式保存数据。(C)a)ArrayListb)HashSetc)HashMapd)LinkedList41、以下哪个不是Java的原始数据类型(B)A、intB、BooleanC、floatD、char42、以下有关构造方法的说法,正确的是:(A)A.一个类的构造方法可以有多个B.构造方法在类定义时被调用C.构造方法只能由对象中的其它方法调用。D.构造方法可以和类同名,也可以和类名不同44、给出下面代码,关于该程序以下哪个说法是正确的?(C)publicclassPerson{staticintarr[]=newint[5];publicstaticvoidmain(Stringa[]){System.out.println(arr[0]);}}A、编译时将产生错误B、编译时正确,运行时将产生错误C、输出零D、输出空45、下列哪一项不属于Swing的顶层容器?(B)A)JAppletB)JTreeC)JDialogD)JFrame46、为了使包ch4在当前程序中可见,可以使用的语句是(A)。A)importch4.*;B)packagech4.*;C)ch4import;D)ch4package;47、请问所有的异常类皆继承哪一个类?(B)。A)java.io.ExceptionB)java.lang.ThrowableC)java.lang.ExceptionD)java.lang.Error48、当点击鼠标或者拖动鼠标时,触发的事件是下列的哪一个?(D)A)KeyEventB)ActionEventC)ItemEventD)MouseEvent49、ArrayList是实现了List接口的类,现欲构造ArrayList类的一个实例,下述方法中正确的是(D)A.ArrayListmyList=newObject();B.ArrayListmyList=newList();C.ListmyList=newList();D.ListmyList=newArrayList();50、设有如下程序代码,则表达式s1==s2和s1==s3的值分别是(B)Stringsl=123;Strings2=123;Strings3=newString(123);A.truetrueB.truefalseC.falsefalseD.falsetrue51、当使用SomeThreadt=newSomeThread()创建一个线程时,下列叙述中正确的是(C)A.SomeThread类是包含run()方法的任意java类B.SomeThread类一定要实现Runnable接口C.SomeThread类是Thread类的子类D.SomeThread类是Thread类的子类并且要实现Runnable接口52、Java中的抽象类Reader和Writer所处理的流是(D)A.图像