《面向对象程序设计JAVA语言程序设计》期末考试试题及部分
答案
一、单选题
1. 在下列概念中,Java语言只保留了D
A.运算符重载
D. 方法重载
B.结构和联合
C.指针
2. 下列类定义中,不正确的是B
A.class x { .... } implements y1,y2 { .... }
C.public class x extends Applet { .... } D.class x extends y { .... }
B.static class x
3. 下列语句序列执行后,k 的值是B
int m=3, n=6, k=0;
while( (m++) < (- - n) ) ++k;
i++
先把i的初值赋给表达式(i++),作为表达式(i++)的值,然后i自增1作为i的值。
如i=1,则表达式(i++)的值等于1,而i的值变为2。 ++i
i先自增1,再把自增后的值赋给表达式(++i)。 如i=1,则表达式(++i)的值等于2,i的值也为2, A.0
B.1
C.2
D.3
4. 设i、j为int型变量名,a为int型数组名,以下选项中,正确的赋值语句是A
A.a[0] = 7; 66;
B.i = i + 2
C.i++ - --j;
D.a(0) =
5. Java语言的类间的继承关系是B
A.多重的
D.不能继承
B.单重的
C.线程的
6. 下列语句序列执行后,k 的值是C
int i=10, j=18, k=30; switch( j - i ) {
case 8 : k++; case 9 : k+=2; case 10: k+=3; default : k/=j;
} A.31
D.33
B.3
C.2
7. 设有定义 float x=3.5f, y=4.6f, z=5.7f;则以下的表达式中,值为true的是C
A.x > y || x > z & ! ( x < z )
B.z > ( y + x )
C.x != y
D.x < y
8. 下列修饰符中,定义类头时能使用的修饰符是C
A.private
D.protected
B.static
C.abstract
9. 设i、j、k为类x中定义的int型变量名,下列类x的构造函数中不正确的是B
A.x( int m){ ... } m){ ... }
C.x( int m, int n){ ... } n){ ... }
D.x( int h,int m,int
B.void x( int
10. 下列对封装性的描述中,错误的是 D
A.封装体包含了属性和行为
B.封装使得抽象的数据类型提高了可重用性 C.被封装的某些信息在封装体外是不可见的 D.封装体中的属性和行为的访问权限是相同的
11. 下列关于包的描述中,错误的是 B
A.包是若干个类的集合
B.包是一种特殊的类型
C.包是使用package语句创建的
D.包有有名包和无名包两种
12. 下列关于Applet程序的描述中,错误的是 C
A.Applet程序的主类必须是Applet类得子类 B.Applet不是完整的独立程序
C.Applet程序的主类中应有一个main()方法 D.Applet的字节码文件必须嵌套在一个HTML文件中
13. 下列界面元素中,不是容器的是 C
A. Dialog
D.Panel
B.Frame
C.List
14. 下列关于异常处理的描述中,错误的是 D
A.程序运行时异常由Java虚拟机自动进行处理 B.使用try-catch-finally语句捕获异常 C.使用throw语句抛出异常
D.捕获到的异常只能在当前方法中处理,不能在其他方法中处理
15. 以下方法不属于迭代器(Iterator)接口所定义的方法的是 D
A.hasNext() B.next()
D.nextElement()
C.remove()
16. 主线程属于
(C ) B.Thread线程
C.用户线程
A.守护线程 D.Runnable线程
二、填空题
1. 三目运算符的3个操作数中,第一个操作数的类型必须是 逻辑 型的。
2. 在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码占用 2
字节内存空间,这样,无论是中文字符还是英文字符,都是占用 2 字节内存空间。
3. 假设x=13,y=4,则表达式x%y != 0的值是 true ,其数据类型是 布尔型 。 4. Java语言中,多态性主要表现在两个方面: 方法重载 和 成员覆盖 。 5. 定义类的关键字是 class ,定义接口的关键字是 interface 。
6. 在Java语言中,通过类的定义只能实现 单 重继承,但通过接口的定义可以实现
多 重继承关系。
7. 在Java中字符串包括字符串常量和字符串变量,分别由类 String 和类
StringBuffer 来创建对象。
8. Java 源程序文件编译后产生的文件称为 ·class 文件,其扩展名为 ·java 。 9. 在多线程程序设计中,若要启动一个线程需要调用的函数是 start 。
10. 在Java语言中,系统规定:表示当前类的构造方法用 this ,表示直接父类的构造
方法用 super 。
17. Java语言规定标识符是由 字母 、 下划线 、 数字 和 美元符号 组成的字符序
列,长度不限;又规定第一个字符不能是 数字 ,并区分字母的大小写。
18. Java中实现多线程一般使用两种方法,一是Thread,二是 Runnable 。 19. Java中变量有三要素: 类型 、 变量名 和 变量值 。
20. Java语言中,说明或声明数组时 内存大小,创建数组时 内存大
小。
21. 集合框架提供的Map接口的实现类中,在Map中插入、删除和定位元素,使用 HasMap
是最好的选择;需要按顺序遍历键,需选择 ThereMap 。
22. Outputstream 类和 Inputstream类是所有字节流输入输出类的父类。 23. 导入my.package包中的所类的命令是 import 。
24. 构造方法是一种特殊的成员方法,构造方法名与 类 相同,并且此方法 无
有返回值。
25. 图形用户界面的设计中有事件处理模型处理事件,在该模型中主要包括 事件源、
事件对象 和 事件监听者 。 三、判断题
1. Java语言具有较好的安全性和可移植性及与平台无关等特性。T 2. Java语言的基本数据类型有4种:整型、浮点型、字符型和布尔型。T 3. 组成Java Application的若干类中,有且仅有一个主类,只有主类中含有主方法
main。T
4. 数据由高类型转换到低类型时候,采用强制转换,数据精度要受到损失。T 5. 子类所继承父类的成员都可以在子类中访问。 6. 静态方法只能处理静态变量。T
7. 抽象方法是一种只有说明而无具体实现的方法。
8. Java语言规定在嵌套的程序块中不允许定义同名的成员变量。
9. Throwable类有两个子类:Error类和Exception类。前者由系统保留,后者供应用
程序使用。
10. 运行Applet程序是使用AppletViewer命令运行嵌入了字节码文件的html文件,从
而获得运行结果。
11. 成员方法的重载和覆盖是同一回事。 12. 集合Set是通过键-值对的方式来存储对象的。
13. Java语言是一种强类型语言,数据类型转换有两种:隐含转换和强制转换。 14. Java语言中,数组在静态和动态赋值时都判越界。