Java复习题(一)选择题答案

更新时间:2024-03-19 04:05:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《JAVA程序设计》复习题之(一)选择题

一、单选择题

1、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )。

A. java B. .class C. html D. .exe

2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( )。 A. 3 B. 3. 5 C. 4 D. 5

3、不允许作为类及类成员的访问控制符的是( )。 A. public B. private C. static D. protected

4、为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。

A. static void method( ) B. public void method( ) C. final void method( ) D. abstract void method( ) 5.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?( ) A、 String args args[]

6.以下关于继承的叙述正确的是( )。

A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口

C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 7.paint()方法使用哪种类型的参数? ( ) A、Graphics

B、Graphics2D

C、String

D、Color

B、String ar[]

C、Char arg

D、StringBuffer

8.以下哪个不是Java的原始数据类型( ) A、int

B、Boolean

C、float )。 C、Applet

D、Dialog D、char

9.以下哪项可能包含菜单条( A、Panel

B、Frame

10.若需要定义一个类域或类方法,应使用哪种修饰符?( )

A、static B、package C、private D、public

11.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行( )。

A、init()

B、start()

C、destroy() D、stop()

12.给出下面代码,关于该程序以下哪个说法是正确的?( )

public class Person{

static int arr[] = new int[5]; public static void main(String a[]) {

System.out.println(arr[0]); } }

A、编译时将产生错误 C、输出零

B、编译时正确,运行时将产生错误 D、输出空

13.下列哪些语句关于Java内存回收的说明是正确的? ( )

A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 14.以下哪个关键字可以用来对对象加互斥锁?( )

A、transient

B、synchronized C、 serialize D、static

15.以下代码段执行后的输出结果为( )

int x =-3; int y =-10; System.out.println(y%x);

B、2

C、1

D、3

A、-1

16.有以下程序片段,下列哪个选项不能插入到行1。( )

1.

2 .public class Interesting{ 3. //do sth 4.}

A、import java.awt.*; C、class OtherClass{ } 17. 设有下面两个赋值语句:

B、package mypackage; D、public class MyClass{ }

a = Integer.parseInt(“12”);

b = Integer.valueOf(“12”).intValue(); 下述说法正确的是( )。 A、a是整数类型变量,b是整数类对象。 B、a是整数类对象,b是整数类型变量。 C、a和b都是整数类对象并且值相等。 D、a和b都是整数类型变量并且值相等。

18.FilterOutputStream是BufferedOutputStream、DataOutputStream及PrintStream的父类,以下哪个类可能是FilterOutputStream构造函数的参数类型? A、OutputStream C、InputStream

B、File

D、BufferedOutputStream

19.在编写Java Applet程序时,需在程序的开头写上( )语句。

A、import java.awt.* ; C、import java.io.* ; 20.类Parent、Child定义如下:

1.

public class Parent

2.{ public float aFun(float a, float b) throws 3. IOException { } 4.}

5.public class Child extends Parent{ 6. 7.}

将以下哪种方法插入行6是不合法的。( ) 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声明一个接口时,只可以使用( )修饰符修饰该接口。

A、private

B、protected

C、private protected

D、public

B、import java.applet.Applet ; D、import java.awt.Graphics ;

22、有以下方法的定义,请选择该方法的返回类型( )。

ReturnType method(byte x, double y) { }

B、short

C、int

D、double

return (short) x/y*2;

A、byte

23、关于以下代码段的说法正确的是( )

1.String s=\

2.StringBuffer s1=new StringBuffer(\3.if(s.equals(s1)) 4. s1=null; 5.if(s1.equals(s)) 6. s=null;

A、第1行编译错误,String的构造器必须明确调用 B、第3行编译错误,因为s与s1有不同的类型 C、编译成功,但执行时在第5行有异常抛出 D、编译成功,过程中也没有异常抛出

24、编译并运行以下程序,以下描述哪个选项是正确的( )

1. class X{

2. protectied String toString( )i{ 3. 4. }

A、编译通过运行无异常 C、行2出错,不能成功编译 25、如下哪个是Java中的标识符()

A、public

B、super

C、3number D、width C、3number D、#number

26、如下哪个是Java中的标识符( )

A、fieldname B、super

27、已知如下定义:String s = \下面哪个语句不是合法的( )

A、s += \

B、s = s + 100; D、String t = s + “abc”; C、false

D、good

C、int len = s.length; A、name

return super.toString();}

B、编译通过但运行时出错 D、不能成功编译,行3出错

28、如下哪个是Java中有效的关键字()

B、hello

29、下面的代码段执行之后count的值是什么( )

int count = 1;

for (int i = 1; i <= 5; i++) { }

System.out.println(count);

count += i;

A、5 B、1 C、15

D、16

D、static D、static

30、定义一个类,必须使用的关键字是( )

A、public A、public

B、class B、class

C、interface C、interface

31、定义一个接口必须使用的关键字是( )

32、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是( )

A、p.add(b);

B、p.add(b,\

C、p.add(b,\ D、b.add(p,\

33、声明并创建一个按钮对象b,应该使用的语句是( )

A、Button b=new Button(); B、button b=new button(); C、Button b=new b(); D、b.setLabel(“确定”); 34、Frame对象默认的布局管理器是( )

A、FlowLayout C、CardLayout

B、BorderLayout D、null

B、import java.util.*; D、import java.net.*; B、import java.util.*; D、import java.net.*; B、FileOutputStream D、FileWriter

35、下列哪一个import命令可以使我们在程序中创建输入/输出流对象()

A、import java.sql.*; C、import java.io.*; A、import java.sql.*; C、import java.io.*; A、FileInputStream

36、下面哪一个import命令可以为我们提供编写网络应用程序的类()

37、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象()

C、DataOutputStream

38、下列程序段执行后的结果是( )。

String s = new String(\for (int i=0; i

A) aceg B) ACEG C) abcdefg D) abcd 39、有整型数组:int[] x={12,35,8,7,2};,则调用方法Arrays.sort(x)后,数组x中的元素值依次是( ).

A) 2 7 8 12 35 C) 35 12 8 7 2

B) 12 35 8 7 2 D) 8 7 12 35 2

40、下面的程序段创建了BufferedReader类的对象in,以便读取本机c盘my文件夹下的文件1.txt。File构造函数中正确的路径和文件名的表示是( )。

File f = new File(填代码处); file =new FileReader(f); in=new BufferedReader(file);

A) \ B) \ C) \ D) \ 41、应用程序的main方法中有以下语句,则输出的结果是 ( )。

String s1=new String(\ String s2=new String(\ boolean b1=s1.equals(s2);

boolean b2=(s1==s2); System.out.print(b1+\ \

42、应用程序的main方法中有以下语句,则输出的结果是 ( )。

Hashtable hashtable=new Hashtable();

hashtable.put(\ hashtable.put(\ hashtable.put(\

System.out.println(hashtable.get(\

A) a B) abcde C) 12345 D) 67890 43、下面语句的功能是( )。

RandomAccessFile raf2 = new RandomAccessFile(\

A)打开当前目录下的文件1.txt,既可以向文件写数据,也可以从文件读数据。 B)打开当前目录下的文件1.txt,但只能向文件写入数据,不能从文件读取数据。 C)打开当前目录下的文件1.txt,但不能向文件写入数据,只能从文件读取数据。 D) 以上说法都不对。

44、应用程序的main方法中有以下语句,则输出的结果是 ( )。

String s=\int n=s.indexOf(\

A)true false B) false true C) true true D)false false

int k=s.indexOf(\int m=s.indexOf(\String s2=s.substring(m+1); System.out.println(s2);

A) 123456 B) 67890 C) aaa D) bbb 45、下面程序段执行后b的值是( )。

Integer integ =new Integer(9); boolean b = integ instanceof Object; A) 9 B) true C) 1 D) false

46、应用程序Test.java的源程序如下,在命令行键入:

java Test aaa bb c 回车后输出的结果是 ( )。

public class Test {

public static void main(String args[]) { int k1=args.length;

int k2=args[1].length(); System.out.print(k1+\ \ } }

A) 3 2 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;i

System.out.println(\

A) 32 B)11 C) 2 D) 3 48、应用程序的main方法中有以下语句,则执行后输出的结果是 ( int[] x={125,21,5,168,98}; int max=x[0];

for(int i=1;i

)。

}

if(x[i]> max)

max =x[i];

System.out.println(max);

49、程序Test.java编译运行后输出的结果是( )。

public class Test { String s1=\

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=\

double x=Double.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=\byte b[]=s.getBytes();

FileOutputStream file=new FileOutputStream(\file.write(b); file.close();

A) 125 B) 5 C) 98 D) 168

}

}

catch(IOException e) { }

System.out.println(e.toString());

A) ABCABC B) ABCDE C) Test D) ABCDE ABCDE ABCDE 52、当某一线程正处于休眠状态,而另一个线程用 Thread 类中的 interrupt() 方法中断它时,抛出的异常类型是( )。 A) IOException B) RuntimeException C) InterruptedException D) ClassNotFoundException 53、下面的程序段的功能是( )。

File file1=new File(\file1.mkdirs();

A)在当前目录下生成子目录:\\xxx\\yyy\\zzz B)生成目录: e:\\xxx\\yyy\\zzz C)在当前目录下生成文件xxx.yyy.zzz D)以上说法都不对

54、应用程序的main方法中有以下语句,则输出的结果是 ( )。

String s = \int n = s.indexOf(\int k = s.indexOf(\String s2 = s.substring(n+1, k); System.out.println(s2);

A) 123456 B) 123 C) xxxxxxxxxxxxxxx D) zzzzz 55、关于下面的程序Test.java说法正确的是( )。

public class Test { String x=\ 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方法中有以下语句,则输出的结果是 ( )。

int b[][]={{1, 1, 1}, {2,2}, {3}};

int sum=0;

for(int i=0; i

System.out.println(\A) 10 B)6 C) 9 D) 13

57、应用程序的main方法中有以下语句,则执行后输出的结果是 ( )。

int[] x = {125,21,5,168,98}; int min = x[0];

for (int i=1; i

System.out.println(min);

A) 125 B) 5 C) 98 D) 168

58、应用程序的main方法中有以下语句,则输出的结果是 ( )。

Hashtable hashtable=new Hashtable(); hashtable.put(\hashtable.put(\hashtable.put(\

System.out.println(hashtable.get(\

+ hashtable.get(\

+ hashtable.get(\

A) aaa B) bbb C) ccc D) cccbbbaaa 59、以下关于java异常说法不正确的是( )。

A) Throwable 类是 Java 语言中Error类和Exception类的父类。

B)当异常对象是Exception类(或其子类)的实例时,能通过 Java 虚拟机或者 throw 语句抛出该异常对象,并能通过try…catch…finally处理。

C)如果只用一个catch块捕捉多个异常对象,则catch 子句中的参数类型应是所有异常对象的父类。

if(x[i] < min)

min = x[i];

D)以上说法都不对。

60、下面的程序创建了一个文件输出流对象,用来向文件test.txt中输出数据,假设程序当前目录下不存在文件test.txt,编译下面的程序Test.java后,将该程序运行3次,则文件test.txt 的内容是( )。

import java.io.*; public class Test { }

A) 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循环和 do…while循环的区别是: ( ) A.没有区别,这两个结构任何情况下效果一样 B.while循环比 do…while循环执行效率高

C.while循环是先循环后判断,所以循环体至少被执行一次

public static void main(String args[]) { }

try { }

catch(IOException e) { }

System.out.println(e.toString()); String s=\byte b[]=s.getBytes();

FileOutputStream file=new FileOutputStream(\file.write(b); file.close();

D.do…while循环是先循环后判断,所以循环体至少被执行一次 64.关于 for循环和 while循环的说法哪个正确? ( ) A.while循环先判断后执行,for循环先执行后判断。

B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果 C.两种循环任何时候都不可以替换

D.两种循环结构中都必须有循环体,循环体不能为空 65.下列修饰符中与访问控制无关的是 ( ) A.private C.protected

B.public D.final

B. 方法体为空 D. 定义方法时必须使用 B.方法都必须含有 D.不能用来返回对象

66. void的含义: ( ) A.方法没有返回值 C.没有意义

67. return语句: ( ) A.只能让方法返回数值 C.方法中可以有多句return A.同一个类的对象共用同一段内存

B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间 C.对象的方法不占用内存 D.以上都不对

69.下列说法哪个正确? A.不需要定义类,就能创建对象 B.对象中必须有属性和方法

C.属性可以是简单变量,也可以是一个对象 D、属性必须是简单变量

70.下列说法哪个正确? ( ) A、一个程序可以包含多个源文件 B、一个源文件中只能有一个类 C、一个源文件中可以有多个公共类 D、一个源文件只能供一个程序使用

71.关于方法main()的说法哪个正确?( ) A.方法main()只能放在公共类中 B main()的头定义可以根据情况任意更改 C.一个类中可以没有main()方法

68.关于对象成员占用内存的说法哪个正确? ( )

D.所有对象的创建都必须放在main()方法中 72.构造函数何时被调用? ( ) A、创建对象时 C、使用对象的方法时 73. 抽象方法: ( ) A、可以有方法体 B、可以出现在非抽象类中 C、是没有方法体的方法

D、抽象类中的方法都是抽象方法

74.关于继承的说法正确的是: ( ) A、子类将继承父类所有的属性和方法。 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.覆盖与重载的关系是 ( )

A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中 B.覆盖方法可以不同名,而重载方法必须同名 C.final修饰的方法可以被覆盖,但不能被重载 D.覆盖与重载是同一回事

B、类定义时

D、使用对象的属性时

79.关于接口哪个正确? ( ) A、实现一个接口必须实现接口的所有方法 B.一个类只能实现一个接口 C.接口间不能有继承关系 D.接口和抽象类是同一回事

80.异常包含下列哪些内容? ( ) A.程序执行过程中遇到的事先没有预料到的情况 B.程序中的语法错误 C.程序的编译错误 D.以上都是

81. 对于已经被定义过可能抛出异常的语句,在编程时: A、必须使用try/catch语句处理异常,或用throws将其抛出B.如果程序错误,必须使用 try/catch语句处理异常 C.可以置之不理

D.只能使用try/catch语句处理

82. 字符流与字节流的区别在于( ) A.前者带有缓冲,后者没有 B.前者是块读写,后者是字节读写 C. 二者没有区别,可以互换使用 D. 每次读写的字节数不同

83.下列流中哪个不属于字节流 ( ) A.FileInputStream B.BufferedInputStream C. FilterInputStream D. InputStreamReader

84. 请说出下列代码的执行结果 : String s = \ String s1 = new String(s);

if (s = = s1) System.out.println(\ if (s.equals(s1)) System.out.println(\ A. the same equals

B. equals C. the same

D. 什么结果都不输出

85. 下列有关 Java 中接口的说法哪个是正确的? A. 接口中含有具体方法的实现代码

) (

B. 若一个类要实现一个接口,则用到 “implements” 关键字 C. 若一个类要实现一个接口,则用到“ extends ”关键字 D. 接口不允许继承

86. 下列代码的执行结果是什么? String s1 = \ s1.concat(\ System.out.println(s1); A. The string \ B. The string \ C. The string \ D. The string \

87. 如果有一个对象 myListener ( 其中 myListener 对象实现了 ActionListener 接口 ), 下列哪条语句使得 myListener 对象能够接受处理来自于 smallButton 按钮对象的动作事件 ? A. smallButton.add(myListener); B. smallButton.addListener(myListener); C. smallButton.addActionListener(myListener);

D. smallButton.addItem(myListener);

88、下面关于构造方法的说法不正确的是( )

A、构造方法也属于类的方法,用于创建对象的时候给成员变量赋值。 B、构造方法不可以重载。 C、构造方法没有返回值

D、构造方法一定要和类名相同 89、监听事件和处理事件( ) A、都由Listener完成

B、都由相应事件Listener处登记过的构件完成 C、由Listener和构件分别完成 D、由Listener和窗口分别完成 90、如果希望所有的控件在界面上均匀排列,应使用下列那种布局管理器?( ) A. BoxLayout B. GridLayout C.BorderLayout D.FlowLouLayout

91、有个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用的方法头的形式为( )

A. static void method() B. public void method() C. final void method() D. abstract void method()

92、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( )

A. .java B. .class C. .html D. .exe

93、如果只要让类中的成员变量可以被同一包访问,则使用如下哪个访问控制符?( )

A、 private B、public C、protected D、不使用访问控制符 94、以下哪个方法用于定义线程的执行体?( ) A、 start( ) B、init( ) C、run( ) D、main( )

95、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制( )

A、 安全性 B、多线程 C、跨平台 D、可移植 96、为实现多线程之间的通信,需要使用下列哪种流才合适( ) A、Filter stream B、File stream

C、Random access stream

D、PipedInputStream和PipedOutputStream 97、函数重载是指( )

A、两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 B、两个以上的函数取相同的名字和具有相同的形参个数和类型 C、两个以上的函数名字不同,但形参的个数或类型相同

D、两个以上的函数取相同的函数名,并且函数的返回类型相同 98、构造方法何时被调用( )

A、类定义时 B、创建对象时

C、调用对象方法时 D、使用对象的变量时

99、Java中哪个类提供了随机访问文件的功能( ) A.RandomAccessFile类 B. RandomFile类 C.File类 D. AccessFile类

100、当方法遇到异常又不知如何处理时,应该怎么做( ) A.捕获异常 B.抛出异常 C.声明异常 D.嵌套异常

A、 private B、public C、protected D、不使用访问控制符 94、以下哪个方法用于定义线程的执行体?( ) A、 start( ) B、init( ) C、run( ) D、main( )

95、Java语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制( )

A、 安全性 B、多线程 C、跨平台 D、可移植 96、为实现多线程之间的通信,需要使用下列哪种流才合适( ) A、Filter stream B、File stream

C、Random access stream

D、PipedInputStream和PipedOutputStream 97、函数重载是指( )

A、两个或两个以上的函数取相同的函数名,但形参的个数或类型不同 B、两个以上的函数取相同的名字和具有相同的形参个数和类型 C、两个以上的函数名字不同,但形参的个数或类型相同

D、两个以上的函数取相同的函数名,并且函数的返回类型相同 98、构造方法何时被调用( )

A、类定义时 B、创建对象时

C、调用对象方法时 D、使用对象的变量时

99、Java中哪个类提供了随机访问文件的功能( ) A.RandomAccessFile类 B. RandomFile类 C.File类 D. AccessFile类

100、当方法遇到异常又不知如何处理时,应该怎么做( ) A.捕获异常 B.抛出异常 C.声明异常 D.嵌套异常

本文来源:https://www.bwwdw.com/article/vbv8.html

Top