java期末考试复习题及答案 联系客服

发布时间 : 星期四 文章java期末考试复习题及答案更新完毕开始阅读fb15b7bc571252d380eb6294dd88d0d232d43c83

《Java程序设计》课程试卷

1.使用Java语言编写的源程序保存时的文件扩展名是( B )。

(A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为( C )。

(A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是( C )。 (A)a[0]; (B)a[]; (C)a[3]; (D)int i=1; a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数( D )。

(A)封装 (B)继承 (C)覆盖 (D)重载 5.在类的定义中构造函数的作用是( D )。

(A)保护成员变量 (B)读取类的成员变量 (C)描述类的特征 (D)初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句( B )。

(A)try (B)break (C)catch (D)finally 7.类与对象的关系是( A )。

(A)类是对象的抽象 (B)对象是类的抽象 (C)对象是类的子类 (D)类是对象的具体实例 8.下面哪一个是Java中不合法的标识符( D )。

(A)$persons (B)twoNum (C)_myVar (D)*point

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

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

10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的( C )。

(A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 源文件和编译后的文件扩展名分别为(B ) (A) .class和 .java (B).java和 .class (C).class和 .class (D) .java和 .java

12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( D )方法来完成一些画图操作。 (A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是: ( A )

(A) package,import,class (B) class,import,package (C) import,package,class (D) package,class,import 14.下面哪个是非法的:( D )

(A) int I = 32; (B) float f = ; (C) double d = ; (D) char c = ‘u’; 如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是( C )

(A) public (B) protected (C) private (D) static 17.下面关于main方法说明正确的是( B )

(A) public main(String args[ ]) (B) public static void main(String args[ ]) (C) private static void main(String args[ ]) (D) void main() 18.哪个关键字可以对对象加互斥锁( B )

(A) transient (B) synchronized (C) serialize (D) static 19.关于抽象方法的说法正确的是( D )

(A)可以有方法体 (B) 可以出现在非抽象类中

(C) 是没有方法体的方法 (D) 抽象类中的方法都是抽象方法 包的File类是( B )

(A)字符流类 (B) 字节流类 (C) 对象流类 (D) 非流类 21.Java application中的主类需包含main方法,以下哪项是main方法的正确形参( B ) A、 String args B、String args[] C、Char arg D、StringBuffer args[] 22.以下代码段执行后的输出结果为( A ) int x=-3; int y=-10; 、 -1 B、2 C、1 D、3 23.以下关于继承的叙述正确的是( )。 A、在Java中类只允许单一继承

B、在Java中一个类只能实现一个接口

C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 24. 若有定义:byte[] x={11,22,33,-66};

其中0≤k≤3,则对x数组元素错误的引用是( C )

A)x[5-3] B)x[k] C)x[k+5] D)x[0] 25.paint()方法使用哪种类型的参数 ( D ) A、Graphics B、Graphics2D C、String D、Color 26.以下哪个不是Java的原始数据类型( B ) A、int B、Boolean C、float D、char

27.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为( C )

A) 隐藏 B) 重写 C) 重载 D) Java不支持此特性 28. 以下有关构造方法的说法,正确的是:( A )

A. 一个类的构造方法可以有多个 B. 构造方法在类定义时被调用

C. 构造方法只能由对象中的其它方法调用。 D. 构造方法可以和类同名,也可以和类名不同 29.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行( B )。 A、init() B、start() C、destroy() D、stop()

31、有以下方法的定义,请选择该方法的返回类型( D )。 ReturnType method(byte x, double y) { return (short)x/y*2; }

A、byte B、short C、int D、double

32.下列类定义中哪些是合法的抽象类的定义( C ) A、abstract Animal{abstract void growl();}

B、class abstract Animal{abstract void growl();} C、abstract class Animal{abstract void growl();}

D、abstract class Animal{abstract void growl(){有以下程序片段,下列哪个选项不能插入到行1。(1.

class Interesting{ 3.}

A、import .*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 34. 设有下面两个赋值语句: a = (“12”);

b = (“12”).intValue();

下述说法正确的是( A )。

A、a是整数类型变量,b是整数类对象。B、a是整数类对象,b是整数类型变量。 C、a和b都是整数类对象并且值相等。 D、a和b都是整数类型变量并且值相等。 35.在编写Java Applet程序时,需在程序的开头写上( B )语句。 A、import .* ; B、import ; C、import .* ; D、import ;

36.下列哪一项不属于Swing的顶层容器( B ) A)JApplet B)JTree C)JDialog D)JFrame

37. 为了使包ch4在当前程序中可见,可以使用的语句是( A )。

A)import ch4.*; B)package ch4.*; C)ch4 import; D)ch4 package; 38. 请问所有的异常类皆继承哪一个类( B )。

A) B) C) D)进行Java基本的GUI设计需要用到的包是( C )。 A) B) C) D)

40. 当点击鼠标或者拖动鼠标时,触发的事件是下列的哪一个( D ) A)KeyEvent B)ActionEvent C)ItemEvent D)MouseEvent 一、选择题(2’*15=30’)

1、如下哪个是Java中的标识符( A ) A、fieldname B、super C、3number D、#number

2、设 x = 1 , y = 2 , z = 3,则表达式 y+=z--/++x 的值是( A )。 A. 3 B. 3. 5 C. 4 D. 5 3、下面的代码段执行之后count的值是什么( D ) int count = 1; for (int i = 1; i <= 5; i++) {

D ) count += i; } 、5 B、1 C、15 D、16

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

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

5、下列程序段执行后的结果是( A )。 String s = new String(\ for (int i=0; i<(); i+=2){

A) aceg B) ACEG C) abcdefg D) abcd 6、下面程序段执行后b的值是( B )。 Integer integ =new Integer(9);

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

7.关于 for循环和 while循环的说法哪个正确 ( B ) A.while循环先判断后执行,for循环先执行后判断。

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

D.两种循环结构中都必须有循环体,循环体不能为空 8.关于对象成员占用内存的说法哪个正确 ( B ) A.同一个类的对象共用同一段内存

B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间 C.对象的方法不占用内存 D.以上都不对 9.关于继承的说法正确的是: ( B )

A、子类将继承父类所有的属性和方法。 B、子类将继承父类的非私有属性和方法。 C、子类只继承父类public方法和属性 D、子类只继承父类的方法,而不继承属性 10.覆盖与重载的关系是 ( A )

A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中 B.覆盖方法可以不同名,而重载方法必须同名

C.final修饰的方法可以被覆盖,但不能被重载 D.覆盖与重载是同一回事 11、下面哪一个import命令可以为我们提供编写网络应用程序的类( D ) A、import .*; B、import .*; C、import .*; D、import .*;

12、如果容器组件p的布局是BorderLayout,则在p的下边中添加一个按钮b,应该使用的语句是( C ) A、(b); B、(b,\C、(b,\ D、(p,\ 13、Frame对象默认的布局管理器是( B ) A、FlowLayout B、BorderLayout C、CardLayout D、null 14、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象( A ) A、FileInputStream B、FileOutputStream C、DataOutputStream D、FileWriter 1.关于选择结构下列哪个说法正确 ( B )

A.if语句和 else语句必须成对出现 B.if语句可以没有else语句对应

C.switch结构中每个case语句中必须用break语句 D.switch结构中必须有default语句 2.while循环和 do…while循环的区别是: ( D )

A.没有区别,这两个结构任何情况下效果一样 B.while循环比 do…while循环执行效率高 C.while循环是先循环后判断,所以循环体至少被执行一次 D.do…while循环是先循环后判断,所以循环体至少被执行一次 3.关于 for循环和 while循环的说法哪个正确 ( B ) A.while循环先判断后执行,for循环先执行后判断。

B.while循环判断条件一般是程序结果,for循环的判断条件一般是非程序结果

C.两种循环任何时候都不可以替换 D.两种循环结构中都必须有循环体,循环体不能为空 4.下列修饰符中与访问控制无关的是 ( D ) A.private B.Public C.protected D.final 5. void的含义: ( A ) A.方法没有返回值 B. 方法体为空 C.没有意义 D. 定义方法时必须使用 6. return语句: ( C )

A.只能让方法返回数值 B.方法都必须含有 C.方法中可以有多句return D.不能用来返回对象

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

A.同一个类的对象共用同一段内存 B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间 C.对象的方法不占用内存 D.以上都不对 8.下列说法哪个正确( C )

A.不需要定义类,就能创建对象 B.对象中必须有属性和方法

C.属性可以是简单变量,也可以是一个对象 D、属性必须是简单变量 9.下列说法哪个正确 ( A )

A、一个程序可以包含多个源文件 B、一个源文件中只能有一个类

C、一个源文件中可以有多个公共类 D、一个源文件只能供一个程序使用 10.关于方法main()的说法哪个正确( C )

A.方法main()只能放在公共类中 B main()的头定义可以根据情况任意更改 C.一个类中可以没有main()方法 D.所有对象的创建都必须放在main()方法中 11.构造函数何时被调用 ( A ) A、创建对象时 B、类定义时 C、使用对象的方法时 D、使用对象的属性时 12.抽象方法: (C )

A、可以有方法体 B、可以出现在非抽象类中 C、是没有方法体的方法 D、抽象类中的方法都是抽象方法 13.关于继承的说法正确的是: ( B )

A、子类将继承父类所有的属性和方法。 B、子类将继承父类的非私有属性和方法。 C、子类只继承父类public方法和属性 D、子类只继承父类的方法,而不继承属性 14.关于构造函数的说法哪个正确 ( C )

A、一个类只能有一个构造函数 B、一个类可以有多个不同名的构造函数

C、构造函数与类同名 D、构造函数必须自己定义,不能使用父类的构造函数 15. this和super:( C )

A、都可以用在main()方法中 B、都是指一个内存地址 C、不能用在main()方法中 D、意义相同 16.关于super的说法正确的是:( B )

A、是指当前对象的内存地址 B、是指当前对象的父类对象的内存地址 C、是指当前对象的父类 D、可以用在main()方法中 17.覆盖与重载的关系是 ( A)

A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中 B.覆盖方法可以不同名,而重载方法必须同名

C.final修饰的方法可以被覆盖,但不能被重载 D.覆盖与重载是同一回事 18.关于接口哪个正确 ( A )

A、实现一个接口必须实现接口的所有方法 B.一个类只能实现一个接口 C.接口间不能有继承关系 D.接口和抽象类是同一回事 19.异常包含下列哪些内容 ( A )

A.程序执行过程中遇到的事先没有预料到的情况 B.程序中的语法错误 C.程序的编译错误 D.以上都是

20.对于已经被定义过可能抛出异常的语句,在编程时: ( A )

A、必须使用try/catch语句处理异常,或用throws将其抛出 B.如果程序错误,必须使用 try/catch语句处理异常

C.可以置之不理 D.只能使用try/catch语句处理 21.字符流与字节流的区别在于( D )

A.前者带有缓冲,后者没有 B.前者是块读写,后者是字节读写 C. 二者没有区别,可以互换使用 D. 每次读写的字节数不同 22.下列流中哪个不属于字节流 ( D )

A.FileInputStream B.BufferedInputStream C. FilterInputStream D. InputStreamReader 1.在面向对象的方法中,一个对象请求另一个对象为其服务的方式是通过发送 (D ) A、调用语句 B、命令 C、口令 D、消息

语言具有许多优点和特点,下列选项中,哪个反映了Java程序并行机制的特点:( B) A、安全性 B、多线程 C、跨平台 D、可移值

3.编写和运行Java applet程序与编写和运行Java application程序不同的步骤是:(B) A、编写源代码 B、编写HTML文件调用该小程序,以.html为扩展名存入相同文件夹 C、编译过程 D、解释执行

的字符类型采用的是Unicode编码方案,每个Unicode码占用____个比特位。( B) A、8 B、16 C、32 D、64

5.关于下列程序段的输出结果,说法正确的是:(D 基本类型数值数据的默认初始值为0)