1、大学 学年第 学期 Java 程序设计 课程试题 考试 A 卷 闭卷课程号: 考查 B 卷 开卷题 号 一 二 三 四 五 六 七 八 九 十 总分 阅卷教师各题分数 40 20 10 5 5 20 100实得分数一、单项选择题(20 题;每题 2 分,共 40 分)1、若数组a定义为 inta=new int34,则a是。A)一维数组 B)二维数组 C)三维数组 D)四维数组答案:B (难度系数C 知识点: 数组)2、 Java语言使用的字符码集是。A)Unicode B)BCD C)DCB D)ASC 答案:A (难度系数C 知识点:编码)3、下列关于 Java Application 程
2、序特点的描述中,错误的是 。A) 该程序只能是一个名字与主类名相同的文件组成。B)该程序中仅有一个主方法,并被包含在某个类中。C) 该程序中没有不属于某个类的方法。D)该程序实际上是一个类串。答案:D (难度系数 C , 知识点:JAVA 语言特点)4、下列属于 Java 合法的一组标识符是。A)void define “ABC“ _sys_teaB) If _123 $points myName 班级: 姓名: 学号: 试题共 页 加白纸 张 密 封 线C) A) 12 B) 13 C) 14 D) 15答案 A (难度系数 C 知识点: 字符串) 12、下列关于构造方法的叙述中,错误的是。
3、A)Java 语言规定构造方法名与类名必须相同B)Java 语言规定构造方法没有返回值,但不用 void 声明C)Java 语言规定构造方法不可以重载D)Java 语言规定构造方法只能通过 new 自动调用答案:C (难度系数 B)知识点:构造方法13、 关于被私有访问控制符 private 修饰的成员变量,以下说法正确的是。A)可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B)可以被两种类访问和引用:该类本身、该类的所有子类C)只能被该类自身所访问和修改D)只能被同一个包中的类访问答案:C (难度系数 B)知识点:类的继承14、以下语句正确的是。A) x+1=
4、5; B) i+=1; C) a+b=1; D) x+=1;答案:D (难度系数 B)知识点:表达式15、以下结果为真(true)的是。A)10a B)a20 C) !true D)(310)答案:B (难度系数 B)知识点:表达式16、int a=2; a 的值是。A)1 B)50 C )49 D)2答案:B (难度系数 B)知识点:表达式17、下面选项中,不可以用作变量名的首字符。A)字母 B)下划线() C)数字 D)美元符号(¥)答案:C (难度系数 C)知识点:变量18、 在 HTML 中,用_标签来强制显示 Applet。A) name,height,width B)codebas
5、e, height,width C) code,name D) code, height,width答案:D (难度系数 B)知识点:小应用程序19、在 JAVA 编程中,基于线程的多任务处理环境中,执行特定任务的可执行代码的最小单位是_ _。A)进程 B)线程C)应用程序 D)服务答案:B (难度系数 A,知识点:线程)20、int 型 public 成员变量 MAX_LENGTH,该值保持为常数 100,则定义这个变量的语句是。A)public int MAX_LENGTH=100B)final int MAX_LENGTH=100C)public const int MAX_LENGTH
6、=100D)public final int MAX_LENGTH=100答案:D;(难度系数:C;知识点:语法基础)二、填空题(10 题;每题 2 分,共 20 分)1、表达式 1/23 的结果是_。答案:0 (难度系数 B)知识点:表达式2、定义一个包含 7 个元素的数组 a,则该数组的最后一个元素是 。答案:a6 (难度系数 C)知识点:数组3、在 Java 中只能实现单继承(Java 不支持多重继承),但可通过 实现多重继承。答案:接口 (难度系数 B)知识点:接口4、 Applet 的生命周期是有 init()、start()、stop()、destroy()这 4 个方法构成的,在
7、程序执行过程中, 方法只被调用执行一次 ,但 start()方法可以多次被调用执行。答案:init( ) (难度系数 B)知识点:小应用程序5、在定义类时,指明类成员的权限修饰符有 、 和 。答案 public protected private 难度系数 B 知识点:类的定义6 已知:int a =2,4,6,8; 则:表达式 (a0+=a1)+ +a2值为_答案:_13_ (难度系数 B 知识点:数组)7 JDK 提供的编译器是。答案:javac.exe (难度系数 B)知识点:JAVA 简介8 设 x = 2 ,则表达式 ( x + + )3 的值是 。答案:0 (难度系数 B)知识点:
8、表达式9 构造方法只能通过 运算符调用,用户不能直接调用。答案:new (难度系数 B)知识点:构造方法10 线程同步执行过程中,wait()方法与 方法是匹配使用,否则易造成死锁。答案:notify (难度系数 A)知识点:线程同步三、判断题(10 题;每题 1 分,共 10 分)1. ( )由继承性可知,程序中子类拥有的成员数目一定大于等于父类拥有的成员数目。 答案:错 难度系数: C 知识点:类继承2 ( )注释的作用是使程序在执行时在屏幕上显示/之后的内容。答案:错 难度系数: C 知识点:函数注释3 ( )在异常处理中总是将可能产生异常的语句放在 try 块中,用 catch 子句去
9、处理异常,而且一个 try 块之后只能对应一个 catch 语句。 答案:错 难度系数: B 知识点:异常处理4. ( )Java 是区分大小写的语言,关键字的大小写不能搞错,如果把类 class写成 Class 或者 CLASS,都是错误的。答案:对 (难度系数 B)知识点:关键字5 ( )JAVA 语言对内存的释放是采用垃圾自动回收机制。JAVA 虚拟机自动判断并收集“ 垃圾” ,但一般不立即释放它们的存储空间。答案:对 (难度系数 B)知识点:内存回收6 ( )子类可以继承父类所有的成员变量和成员方法。答案:错 (难度系数 B)知识点:继承7.( )java 程序是由若干个类定义组成的。
10、答案 对 难度系数 C 知识点:程序结构8( )在面向对象方法中,类的实例称为对象。()答案:对;难度系数:C;知识点:面向对象基础。9 ( )即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体为空。 答案:对 难度系数: C 知识点:构造函数 10 ()Java 程序里,创建新的类对象用关键字 new,回收无用的类对象使用关键字 free。 答案:错 难度系数: C 知识点:类实例化四、程序填空题(1 题;每题 5 分,共 5 分)1以下为一个 java 的完整程序,它定义了一个类 Car,并在程序中创建了一个该类的对象 DemoCar,调用该对象的 s
11、et_number 方法设置车号属性为 3388,调用该对象的 show_number 方法输出车号。/Car.javaclass Car int car_number;void set_number(int car_num) car_number=car_num ; void show_number() System.out.println(“My car No. is :”+car_number); /CarDemo.javaclass CarDemo public static void main(String args) Car Democar= (1) ;/构造一辆车DemoCar.
12、 (2) ; /设置车号为 3388DemoCar. (3) ; /显示车号难度系数 B 知识点:JAVA 类特性答案:(1)new Car()(2)set_number(3388)(3)show_number()五、读程序写结果(1 题;每题 5 分,共 5 分)1写出下列程序在控制台窗口中的输出结果。public class J_Hanoipublic static void mb_hanoi(int n, char start, char temp, char end)if (n=0;i-)System.out.print(ai+“ “);System.out.println( );2
13、设计雇员 Employee 类,记录雇员的情况,包括姓名、年薪、受雇时间,要求定义 MyDate 类作为受雇时间,其中包括工作的年、月、日,并用相应的方法对 Employee 类进行设置。编写测试类测试 Employee 类。要求使用自己的包。(难度系数 A 知识点:类的定义 )答案:package mypackage.employee;class MyDateprivate int year;private int month;private int day;public MyDate(int year,int month,int day)this.year=year;this.month=
14、month;this.day=day;public int getYear()return year; public class Employeeprivate String name;private double salary;private MyDate hireDay;public Employee(String name,double salary,MyDate day)this.name=name;this.salary=salary;hireDay=day;public void print()System.out.println(name+ “+salary+“+hireYear();public int hireYear()return hireDay.getYear();class TestEmployeepublic static void main(String args)Employee a=new Employee(“李明“,20000,new MyDate(2000,10,1);Employee b=new Employee(“王强“,24000,new MyDate(1995,8,12);a.print();b.print();