《最新Java复习题-选择题100题.doc》由会员分享,可在线阅读,更多相关《最新Java复习题-选择题100题.doc(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品资料Java复习题-选择题100题.JAVA程序设计复习题 (选择100题)1.编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B ). A. java B. .class C. html D. .exe2.设 x = 1 , y = 2 , z = 3,则表达式 yz/x 的值是( A ). A. 3 B. 3. 5 C. 4 D. 53.不允许作为类及类成员的访问控制符的是( C ). A. public B. private C. static D. protected4.为AB类的一个无形式参数无返回值的方法method书写方法头
2、,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( A ). A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( )5.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?( B )A. String argsB.String argsC.Char argD.StringBuffer args6.以下关于继承的叙述正确的是( A ).A.在Java中类只允许单一继承B.在Java中一个类只能实现一个接
3、口C.在Java中一个类不能同时继承一个类和实现一个接口D.在Java中接口只允许单一继承7.paint()方法使用哪种类型的参数? ( a )A.Graphics B.Graphics2D C.String D.Color8.以下哪个不是Java的原始数据类型( B )A.intB.BooleanC.floatD.char9.以下哪项可能包含菜单条(B).A.PanelB.FrameC.AppletD.Dialog10.若需要定义一个类域或类方法,应使用哪种修饰符?( B )A.staticB.packageC.private D.public11.在浏览器中执行applet 程序,以下选项
4、中的哪个方法将被最先执行(B).A.init()B.start() C.destroy() D.stop()12.给出下面代码,关于该程序以下哪个说法是正确的?( B )public class Person static int arr = new int5;public static void main(String a) System.out.println(arr0); A.编译时将产生错误B.编译时正确,运行时将产生错误C.输出零D.输出空13.下列哪些语句关于Java内存回收的说明是正确的? ( )A.程序员必须创建一个线程来释放内存B.内存回收程序负责释放无用内存C.内存回收程序
5、允许程序员直接释放内存D.内存回收程序可以在指定的时间释放内存对象14.以下哪个关键字可以用来对对象加互斥锁?( ) A.transient B.synchronized C. serializeD.static15.以下代码段执行后的输出结果为( A )int x =3; int y =10;System.out.println(y%x);A.-1B.2C.1D.316.有以下程序片段,下列哪个选项不能插入到行1.( D )1.2 .public class Interesting3. /do sth 4.A.import java.awt.*; B.package mypackage;C.
6、class OtherClass D.public class MyClass 17. 设有下面两个赋值语句: a = Integer.parseInt(“12”); b = Integer.valueOf(“12”).intValue(); 下述说法正确的是( c ).A.a是整数类型变量,b是整数类对象.B.a是整数类对象,b是整数类型变量.C.a和b都是整数类对象并且值相等.D.a和b都是整数类型变量并且值相等.18.FilterOutputStream是BufferedOutputStream.DataOutputStream及PrintStream的父类,以下哪个类可能是Filter
7、OutputStream构造函数的参数类型?(A)A.OutputStreamB.FileC.InputStreamD.BufferedOutputStream19.在编写Java Applet程序时,需在程序的开头写上( A )语句.A.import java.awt.* ; B.import java.applet.Applet ;C.import java.io.* ; D.import java.awt.Graphics ;20.类Parent.Child定义如下:1.public class Parent2. public float aFun(float a, float b) t
8、hrows3. IOException 4.5.public class Child extends Parent6. 7.将以下哪种方法插入行6是不合法的.( A )A.float aFun(float a, float b) B.public int aFun(int a, int b)throws Exception C.public float aFun(float p, float q) D.public int aFun(int a, int b)throws IOException 21.在使用interface声明一个接口时,只可以使用( D )修饰符修饰该接口.A.priva
9、teB.protectedC.private protectedD.public22.有以下方法的定义,请选择该方法的返回类型( D ).ReturnType method(byte x, double y)return (short) x/y*2;A.byteB.shortC.intD.double23.关于以下代码段的说法正确的是( D )1.String s=abcde;2.StringBuffer s1=new StringBuffer(abcde);3.if(s.equals(s1)4. s1=null;5.if(s1.equals(s)6. s=null;A.第1行编译错误,Str
10、ing的构造器必须明确调用B.第3行编译错误,因为s与s1有不同的类型C.编译成功,但执行时在第5行有异常抛出D.编译成功,过程中也没有异常抛出24.编译并运行以下程序,以下描述哪个选项是正确的( c )1. class X2.protectied String toString( )i3.return super.toString();4.A.编译通过运行无异常B.编译通过但运行时出错C.行2出错,不能成功编译D.不能成功编译,行3出错25.如下哪个是Java中的标识符(D) A.public B.superC.3number D.width26.如下哪个是Java中的标识符(A )A.fi
11、eldname B.superC.3number D.#number27.已知如下定义:String s = story; 下面哪个语句不是合法的(C )A.s += books; B.s = s + 100;C.int len = s.length; D.String t = s + “abc”;28.如下哪个是Java中有效的关键字(C) A.nameB.helloC.false D.good29.下面的代码段执行之后count的值是什么( D )int count = 1;for (int i = 1; i = 5; i+) count += i;System.out.println(c
12、ount);A.5 B.1C.15 D.1630.定义一个类,必须使用的关键字是( B )A.publicB.classC.interfaceD.static31.定义一个接口必须使用的关键字是( C )A.public B.classC.interfaceD.static32.如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是( C)A.p.add(b);B.p.add(b,North);C.p.add(b,South);D.b.add(p,North);33.声明并创建一个按钮对象b,应该使用的语句是( A )A.Button b=new But
13、ton();B.button b=new button();C.Button b=new b();D.b.setLabel(“确定”);34.Frame对象默认的布局管理器是( B )A.FlowLayoutB.BorderLayoutC.CardLayoutD.null35.下列哪一个import命令可以使我们在程序中创建输入/输出流对象( C )A.import java.sql.*;B.import java.util.*;C.import java.io.*;D.import .*;36.下面哪一个import命令可以为我们提供编写网络应用程序的类( D )A.import java.
14、sql.*;B.import java.util.*;C.import java.io.*;D.import .*;37.如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象( B )A.FileInputStream B.FileOutputStream C.DataOutputStream D.FileWriter38.下列程序段执行后的结果是( A ). String s = new String(abcdefg);for (int i=0; is.length(); i+=2) System.out.print(s.charAt(i); A) aceg B) ACEG C) ab
15、cdefg D) abcd 39.有整型数组:int x=12,35,8,7,2;,则调用方法Arrays.sort(x)后,数组x中的元素值依次是( A ).A) 2 7 8 12 35 B) 12 35 8 7 2 C) 35 12 8 7 2 D) 8 7 12 35 240.下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt.File构造函数中正确的路径和文件名的表示是(C).File f = new File(填代码处);file =new FileReader(f);in=new BufferedReader(file);A)
16、./1.txt B) ./my/1.txt C) c:my1.txt D) c: my1.txt 41.应用程序的main方法中有以下语句,则输出的结果是 ( A ). String s1=new String(abc); String s2=new String(abc); boolean b1=s1.equals(s2); boolean b2=(s1=s2); System.out.print(b1+ +b2); A)true false B) false true C) true true D)false false 42.应用程序的main方法中有以下语句,则输出的结果是 ( B )
17、. Hashtable hashtable=new Hashtable(); hashtable.put(x,12345); hashtable.put(y,67890); hashtable.put(a,abcde); System.out.println(hashtable.get(a); A) a B) abcde C) 12345 D) 67890 43.下面语句的功能是( A ).RandomAccessFile raf2 = new RandomAccessFile(1.txt,rw ); A)打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据. B)打开当前目
18、录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据.C)打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据.D) 以上说法都不对. 44.应用程序的main方法中有以下语句,则输出的结果是 ( ).String s=12345#aaa#bbb#67890;int n=s.indexOf(#); int k=s.indexOf(#,n+1);int m=s.indexOf(#,k+1);String s2=s.substring(m+1);System.out.println(s2);A) 123456 B) 67890 C) aaa D) bbb 45.下面程
19、序段执行后b的值是( ).Integer integ =new Integer(9); boolean b = integ instanceof Object; A) 9 B) true C) 1 D) false46.应用程序Test.java的源程序如下,在命令行键入:java Test aaa bb c回车后输出的结果是 ( ).public class Test public static void main(String args) int k1=args.length; int k2=args1.length(); System.out.print(k1+ +k2); A) 3 2
20、 B)1 2 C) 1 3 D) 3 3 47.应用程序的main方法中有以下语句,则输出的结果是 ( ). int b=1, 2,2, 2,2,2; int sum=0; for(int i=0;ib.length;i+) for(int j=0;jbi.length;j+) sum*=bij; System.out.println(sum=+sum);A) 32 B)11 C) 2 D) 3 48.应用程序的main方法中有以下语句,则执行后输出的结果是 ( ).int x=125,21,5,168,98;int max=x0;for(int i=1;i max)max =xi;Syste
21、m.out.println(max);A) 125 B) 5 C) 98 D) 168 49.程序Test.java编译运行后输出的结果是( ).public class Test String s1=java; public static void main(String args) int z=2; Test t=new Test(); System.out.println(t.s1+z); A) java2 B)2 C)没有输出结果 D)java 50.应用程序的main方法中有以下语句,则输出的结果是 ( ).String s1=0.5, s2=12; double x=Double.
22、parseDouble(s1); int y=Integer.parseInt(s2); System.out.println(x+y);A) 12.5 B) 120.5 C) 12 D) “12.5” 51.下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt 的内容是( ).import java.io.*;public class Test public static void main(String args) try String s=ABC
23、DE;byte b=s.getBytes();FileOutputStream file=new FileOutputStream(test.txt,true);file.write(b); file.close();catch(IOException e) System.out.println(e.toString();A) ABCABC B) ABCDE C) Test D) ABCDE ABCDE ABCDE 52.当某一线程正处于休眠状态,而另一个线程用 Thread 类中的 interrupt() 方法中断它时,抛出的异常类型是( ).A) IOException B) Runtim
24、eExceptionC) InterruptedException D) ClassNotFoundException53.下面的程序段的功能是( ).File file1=new File(d:xxxyyyzzz);file1.mkdirs();A)在当前目录下生成子目录:xxxyyyzzz B)生成目录: e:xxxyyyzzzC)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对 54.应用程序的main方法中有以下语句,则输出的结果是 ( ).String s = xxxxxxxxxxxxxxx#123#456#zzzzz;int n = s.indexOf(#); int
25、 k = s.indexOf(#, n+1);String s2 = s.substring(n+1, k);System.out.println(s2);A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz55.关于下面的程序Test.java说法正确的是( ).public class Test String x=1; int y; public static void main(String args) int z=2; System.out.println(x+y+z); A)3 B)102 C) 12 D)程序有编译错误 56.应用程序的main方
26、法中有以下语句,则输出的结果是 ( ). int b=1, 1, 1, 2,2, 3; int sum=0; for(int i=0; ib.length; i+) for(int j=0; jbi.length; j+) sum+=bij; System.out.println(sum=+sum);A) 10 B)6 C) 9 D) 13 57.应用程序的main方法中有以下语句,则执行后输出的结果是 ( ).int x = 125,21,5,168,98;int min = x0;for (int i=1; ix.length; i+)if(xi min)min = xi;System.o
27、ut.println(min);A) 125 B) 5 C) 98 D) 168 58.应用程序的main方法中有以下语句,则输出的结果是 ( ).Hashtable hashtable=new Hashtable();hashtable.put(100,aaa);hashtable.put(200,bbb);hashtable.put(300,ccc); System.out.println(hashtable.get(300).toString()+ hashtable.get(200).toString() + hashtable.get(100).toString(); A) aaa
28、B) bbb C) ccc D) cccbbbaaa59.以下关于java异常说法不正确的是( ).A) Throwable 类是 Java 语言中Error类和Exception类的父类.B)当异常对象是Exception类(或其子类)的实例时,能通过 Java 虚拟机或者 throw 语句抛出该异常对象,并能通过trycatchfinally处理.C)如果只用一个catch块捕捉多个异常对象,则catch 子句中的参数类型应是所有异常对象的父类.D)以上说法都不对.60.下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,
29、编译下面的程序Test.java后,将该程序运行3次,则文件test.txt 的内容是( ).import java.io.*;public class Test public static void main(String args) try String s=ABCDE;byte b=s.getBytes();FileOutputStream file=new FileOutputStream(test.txt, true);file.write(b); file.close();catch(IOException e) System.out.println(e.toString();A)
30、 ABCABC B) ABCDE C)Test D) ABCDE ABCDE ABCDE 61.下面说法不正确的是( )?A)列表(List).集合(Set)和映射(Map)都是java.util包中的接口.B)List接口是可以包含重复元素的有序集合.C)Set接口是不包含重复元素的集合.D)Map接口将键映射到值,键可以重复,但每个键最多只能映射一个值.62.关于选择结构下列哪个说法正确?()A.if语句和 else语句必须成对出现B.if语句可以没有else语句对应C.switch结构中每个case语句中必须用break语句D.switch结构中必须有default语句63.while循
31、环和 dowhile循环的区别是:()A.没有区别,这两个结构任何情况下效果一样B.while循环比 dowhile循环执行效率高C.while循环是先循环后判断,所以循环体至少被执行一次D.dowhile循环是先循环后判断,所以循环体至少被执行一次64.关于 for循环和 while循环的说法哪个正确?()A.while循环先判断后执行,for循环先执行后判断.B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果C.两种循环任何时候都不可以替换D.两种循环结构中都必须有循环体,循环体不能为空65.下列修饰符中与访问控制无关的是()A.private B.public
32、C.protected D.final66. void的含义:()A.方法没有返回值 B. 方法体为空C.没有意义 D.定义方法时必须使用67. return语句:()A.只能让方法返回数值B.方法都必须含有C.方法中可以有多句return D.不能用来返回对象68.关于对象成员占用内存的说法哪个正确?()A.同一个类的对象共用同一段内存B.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C.对象的方法不占用内存D.以上都不对69.下列说法哪个正确?A.不需要定义类,就能创建对象B.对象中必须有属性和方法C.属性可以是简单变量,也可以是一个对象D.属性必须是简单变量70.下列说法哪
33、个正确?()A.一个程序可以包含多个源文件B.一个源文件中只能有一个类C.一个源文件中可以有多个公共类D.一个源文件只能供一个程序使用71.关于方法main()的说法哪个正确?()A.方法main()只能放在公共类中B.main()的头定义可以根据情况任意更改C.一个类中可以没有main()方法D.所有对象的创建都必须放在main()方法中72.构造函数何时被调用?()A.创建对象时B.类定义时C.使用对象的方法时D.使用对象的属性时73.抽象方法:()A.可以有方法体 B.可以出现在非抽象类中C.是没有方法体的方法 D.抽象类中的方法都是抽象方法74.关于继承的说法正确的是:()A.子类将继
34、承父类所有的属性和方法.B.子类将继承父类的非私有属性和方法.C.子类只继承父类public方法和属性D.子类只继承父类的方法,而不继承属性75.关于构造函数的说法哪个正确?()A.一个类只能有一个构造函数B.一个类可以有多个不同名的构造函数C.构造函数与类同名D.构造函数必须自己定义,不能使用父类的构造函数76. this和super:A.都可以用在main()方法中B.都是指一个内存地址C.不能用在main()方法中D.意义相同77.关于super的说法正确的是:A.是指当前对象的内存地址B.是指当前对象的父类对象的内存地址C.是指当前对象的父类D.可以用在main()方法中78.覆盖与重
35、载的关系是()A.覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中B.覆盖方法可以不同名,而重载方法必须同名C.final修饰的方法可以被覆盖,但不能被重载D.覆盖与重载是同一回事79.关于接口哪个正确?()A.实现一个接口必须实现接口的所有方法B.一个类只能实现一个接口C.接口间不能有继承关系D.接口和抽象类是同一回事80.异常包含下列哪些内容?()A.程序执行过程中遇到的事先没有预料到的情况B.程序中的语法错误C.程序的编译错误D.以上都是81.对于已经被定义过可能抛出异常的语句,在编程时:()A.必须使用trycatch语句处理异常,或用throws将其抛出B.如果程序错误,必须
36、使用 trycatch语句处理异常C.可以置之不理D.只能使用trycatch语句处理82.字符流与字节流的区别在于()A.前者带有缓冲,后者没有B.前者是块读写,后者是字节读写C. 二者没有区别,可以互换使用D. 每次读写的字节数不同83.下列流中哪个不属于字节流()A.FileInputStreamB.BufferedInputStreamC. FilterInputStreamD. InputStreamReader84. 请说出下列代码的执行结果 : String s = abcd; String s1 = new String(s); if (s = = s1) System.out
37、.println(the same); if (s.equals(s1) System.out.println(equals); A. the same equals B. equals C. the same D. 什么结果都不输出85. 下列有关 Java 中接口的说法哪个是正确的? A. 接口中含有具体方法的实现代码 B. 若一个类要实现一个接口,则用到 “implements” 关键字 C. 若一个类要实现一个接口,则用到“ extends ”关键字 D. 接口不允许继承 86. 下列代码的执行结果是什么? String s1 = aaa; s1.concat(bbb); System.out.println(s1); A. The string aaa. B. The string aaabbb. C. The string bbbaaa. D. The string bbb. 87. 如果有一个对象 myListener ( 其中 myListener 对象实现了 ActionListener 接口 ), 下列哪条语句使得 myListener 对象能够接受处理来自于 smallBu
限制150内