资源描述
装订线
华南农业大学期末考试试卷(A卷)
2011-2012学年第 1 学期 考试科目: Java程序设计
考试类型:(闭卷)考试 考试时间: 120 分钟
学号 姓名 年级专业
题号
一
二
三
总分
得分
评阅人
考试说明:所有答案必须填写在答卷上,考试结束时答卷和试卷都上交。
得分
一、单项选择题(本大题共 25 小题,每小题 2 分,共 50 分)
1. 下列有关Java程序的说法中正确的是________:
A. 由于Java程序是解释执行的,所以执行前不需要进行编译
B. 一个.java源程序编译后将产生一个.class的字节码文件
C. 安装了JDK后,安装程序会自动配置系统的环境变量path和classpath
D. 面向对象的解释型高级编程语言
2. 下列为合法变量名的是________。
A. false B. 0xabc C. iStudent D. cow’s
3. 对于构造方法,下列叙述不正确的是________。
A. 构造方法是类的一种特殊方法,它的方法名必须与类名相同
B. 构造方法没有返回值类型
C. 子类不但可以继承父类的无参构造方法,也可以继承父类的有参构造方法。
D. 子类在创建构造方法是必须把调用父类构造方法放在第一条语句
4. 下列关于接口的说明正确的是________。
A. 接口和抽象类是同一回事 B. 一个类不可以实现多个接口
C. 接口间不能有继承关系 D. 实现一个接口必须实现接口的所有方法
5. Java为移动设备提供的平台是________。
A.J2ME B.J2SE C.J2EE D.JDK5.0
6. 下列语句中,属于多分支语句的是________。
A.if语句 B.switch语句 C.do while语句 D.for语句
7. 在Java中,存放字符串常量的对象属于________类对象。
A. Character B. String C. StringBuffer D. Char
8. 下列关于继承的哪项叙述是正确________。
A. 在java中允许多继承 B. 在java中一个类只能实现一个接口
C. 在java中一个类不能同时继承一个类和实现一个接口
D. java的单一继承使代码更可靠
9. 给出如下代码:
class Test{
private int m;
public static void fun() { // some code... }
}
如何使成员变量m 被函数fun()直接访问?
A. 将private int m 改为protected int m B. 将private int m 改为 public int m
C. 将private int m 改为 static int m D. 将private int m 改为 int m
10. System和Math类在哪个包中________。
A. java.io B. java.lang C. java.awt D. java.util
11. 能从循环语句的循环体中跳出的语句是________。
A. for 语句 B. break 语句 C. while 语句 D. continue语句
12. 若类中某方法进行重载,能够区分这重载方法的手段是 ________。
A. 它们的返回值类型的不同 B. 它们的名称的不同
C. 它们的参数表的不同 D. 它们的修饰符不同
13. 下列关于for循环和while循环的说法中哪个是正确的________。
A.while循环能实现的操作,for循环也都能实现
B.while循环判断条件一般是程序结果,for循环判断条件一般是非程序结果
C.两种循环任何时候都可替换
D.两种循环结构中都必须有循环体,循环体不能为空
14. 下列关于main()方法说法正确的是________。
A. public修饰类中可以没有main()方法; B. main()方法中主要完成所有对象的创建;
C. public修饰的类有多个时,main()方法就有多个;
D. main()方法头的定义可以根据情况随意修改。
15. 以下数据类型定义正确的是________。
A.boolean b = 0; B. char s = ‘\t’;
C.byte b = -268; D. float f = 2.5e3.
16. 在一个应用程序中有如下定义:int a[]={1,2,3,4,5,6,7,8,9,10}; 为了打印输出数组a的最后一个元素,下面正确的代码是________。
A. System.out.println(a[10]); B. System.out.println(a[9]);
C. System.out.println(a[a.length]); D. System.out.println(a(9));
17. 定义二维数组a,不正确的是________。
A. int[][] a; B. int a[][]; C. int[] a[]; D. int[3][3] a;
18. 下列关于抽象类的说法哪个正确________。
A. 绝对不能用抽象类去创建对象;
B. 某个抽象类的父类是抽象类,则这个子类必须重载父类的所有抽象方法;
C. 抽象类中不可以有常量;
D. 可以用private修饰抽象类。
19. 下列关于方法覆盖不正确的是________。
A. 方法覆盖和方法重载都是定义相同方法名的方法,本质上是一致的;
B. 方法覆盖只能发生在子类对父类的继承中;
C. 方法覆盖充分体现了Java语言的多态性;
D. 方法返回值类型不同时也能实现方法覆盖。
20. 关于Java的包叙述不正确的是________。
A. 不同包中的类不允许有相同的名称
B. 同一包中的类不允许有相同的名称
C. 包是用于组织类与接口的机制
D. 可以通过import语句将包中的类加载到程序中
21. Java中所有类的父类是________。
A. Father; B.Object; C. Lang; D. ClassFather;
22. 下列程序段的输出结果是________。
int data = 0;
char k = ‘a’, p = ‘f’;
data = p – k;
System.out.println(data);
A. 0; B. a; C. f; D. 5;
23. 在使用interface声明一个接口时,只可以使用________修饰符修饰该接口。
A.
private
B.
protected
C.
private protected
D.
public
24. 下列哪个类声明是正确的________。
A. abstract final class HI{...} B. abstract private move(){...}
C. protected private number{...} D. public abstract class Car{...}
25. 下列叙述中,正确的是________。
A. Java语言的标识符是区分大小写的 B. 源文件名与public类名可以不相同
C. 源文件名其扩展名为.jar D. 源文件中public类的数目不限
得分
1.5CM
二、程序阅读题(本大题共4小题,每小题5分,共20分)
说明:阅读下面的程序,并写出程序的运行结果。
1. public class StringTest{
public static void main(String [] args){
String s = new String ("Hello");
modify(s);
System.out.println(s);
}
public static void modify (String s){
s += "world!";
}
}
2. import java.io.* ;
public class ABC
{
public static void main(String args[ ])
{ int i ;
int a[] = { 11,22,33,44,55,66,77,88,99 };
for ( i = 0 ; i <= a.length / 2 ; i ++ )
System.out.print( a[i] +a[a.length-i-1]+" ");
System.out.println();
}
}
3. class Person{
public Person() { System.out.println(“Person()”); }
}
class Employee extends Person{
public Employee(){
this(“call Employee(String)”);
System.out.println(“Employee()”);
}
public Employee(String s)
{ System.out.println(s); }
}
public class Faculty extends Employee{
public Faculty(){ System.out.println("Faculty()"); }
public static void main(String[] args) {
Faculty fa = new Faculty();
}
}
4.
class ICCard extends Card{
public void show(){ System.out.println(“this is ICCard!”);
public void show(s){ super.show();
this.show();
System.out.println(s); }
}
class Card {
public void show(){ System.out.println(“this is Card!”); }
}
class Test {
public static void main(String[] args) {
ICCard ic = new ICCard();
ic.show(“Test ICCard!”);
}
}
得分
1.5CM
三、编写程序题(本大题共3小题,每小题10分,共30分)
1. 编写程序输入两个整数,并输出这两个数的所有公约数。(10分)
2. 编写程序读入10个单精度浮点型值,按照从小到大的顺序输出来。(10分)
3. 考虑二维坐标系的点,定义一个描述点的类,命名为Point。(10分)
具体要求如下:
(1)每个点由双精度类型的横坐标x和纵坐标y描述;要求对该类的数据域进行合理的封装。
(2)默认构造一个Point对象时,横、纵坐标均为0;也可以在构造一个Point对象时通过参数指定横、纵坐标。
(3)定义一个求两点间距离的方法,方法头为:
public double distance(Point otherPoint)
(4)设定对象的输出形式为:(x, y)。
5
展开阅读全文