2014秋季Java程序设计期末考试试卷(A卷)

更新时间:2024-05-07 15:06:01 阅读量: 综合文库 文档下载

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

华南农业大学期末考试试卷(A卷)

2014-2015学年第 1 学期 考试科目: Java程序设计 考试类型:(闭卷) 考试 考试时间: 120 分钟 学号 姓名 年级专业

装题号 得分 评阅人 一 二 三 四 总分 订注意事项: 第一大题选择题和第二大题判断题的答案必须填涂在机读卡上,第三、四大题答案写在答题卷上。考试结束时机读卡、答题卷和试卷都要上交。 得分

线 一、单项选择题(本大题共 17 小题,每小题 2 分,共 34 分)

1. 下列关于Java程序的说法错误的是________。

A.一个类被编译成一个.class字节码文件

B. Java程序是解释执行的,所以程序运行速度快,而且无需编译 C. Java程序可以实现跨平台

D.有且仅有一个包含main方法的主类,否则不能运行 2. 下列________是用于一般开发的Java开发工具标准版本。

A. Java EE B. Java ME C. Java SE D. JDK 3. 下列符合Java程序类名命名习惯的是________。

A. _iBoy B. Data C. 4k@sina D. studentGrade 4. 下列数据定义错误的是________。

A. float f = 5; B. int d = (int)4.3; C. byte c = -1186; D. final double PI = 3.14; 5. 下列程序片段运行的结果是________。

int a = 36; int b = (a++)%5; System.out.println(\A. a=36,b=0 B.a=37,b=2 C.a=36,b=1 D.a=37,b=1 6. 下列程序片段运行的结果是________

int score = 93; char level = 'A'; switch(score/10){

case 10 :

1

case 9: level = 'A'; case 8: level = 'B'; case 7: level = 'C'; break; case 6: level = 'D'; }

System.out.println(level); A. A B. B C. C D. D

7. 下列关于分支和循环语句的说法,正确的是________。

A. if语句可以嵌套使用,其中else和if的配对采用就近配对原则 B. 不带标号的break可实现跳出最外层循环

C. 在for语句之前和之内定义循环控制变量没什么区别 D. while中循环体至少执行一次

8. 下列关于二维数组a的结论,正确的是________

int[][] a= {{1,2,3},{4,5,6,,7},{8,9},{10,11,12,13,14,15}};

A. a[3][2]为9 B. a[2].length为4 C. a.length为4 D. a[1]为5 9. 下列程序片段运行的结果是________。

String s = new String(\

for(int i = 0; i

A. java B. netbean

C. javanetbean D. jvnten

10. 在一个类中对某个方法进行了重载,区分这些重载的方法的手段是________。

A. 它们的返回值类型不同 B. 它们的名称不同 C. 它们的参数列表不同 D. 它们的修饰符 11. 下列关于类的继承说法哪个是正确的________。

A. java允许多继承

B. java只允许单继承,但可以同时实现接口 C. java只允许单继承,且不能同时实现接口 D.一个类只能实现一个接口 12. 下列关于this和super的说法,不正确的是________。

A. this可引用调用方法的当前对象 B. this可调用本类中的重载构造方法 C. super可调用父类的构造方法 D. super可调用本类的重载构造方法

13. 下列关于方法覆盖的描述,不正确的是________。

A. 覆盖就是直接继承父类的某个方法不能满足子类要求时,可在子类中改写该方法

B. 方法覆盖是为了方便记忆,减少命名冲突 C. 方法覆盖是针对继承来说的,没有继承就无需覆盖

2

装订线 1.5CM

D. 方法覆盖必须保持父类方法的返回值、方法名和形参均不变 14. 不属于实现多态性所需条件的是________

A. 程序中必须通过继承形成类的层次关系 B. 存在覆盖方法 C. 父类引用可以引用后代类对象 D. 必须实现接口 15. 下列关于抽象类和接口的叙述,正确的是________ A. 抽象类和接口都可以有构造方法

B. 接口可以包含具体方法和实例数据域 C. 抽象类不能创建对象,但可以定义对象引用

D. 抽象类作为父类时,不能实现多态性 16. 下列关于Java包叙述,不正确的是________。

A. 把功能相近的类置于同一个包便于查找 B. 可以减少或避免类的命名冲突

C. 具有层次关系的包管理类,便于应用程序的发布

D. 在源程序中,import语句可把类置于某个包中,package语句可导入类 17. 下列关于java修饰符的叙述,不正确的是________。 A. static修饰的成员方法不能调用实例方法 B. protected比public修饰的类成员访问范围小 C. 没有被abstract修饰的类一定是具体类

D. final修饰的类不能被继承

得分

二、判断题(本大题共16小题,每小题1分,共16分,正确选A,错误选B)18.( )jdk命令中,javac用来执行java程序,而java用来编译源代码。 19.( )通过path环境变量设置,可以在其它非jdk路径下运行jdk命令。 20.( )java所有表达式中,只有关系运算表达式的值是布尔型的。 21.( )String类型的字符串是不可修改的。

22.( )if语句只能实现单分支或两分支,不能实现多分支。 23.( )条件表达式3 > 5 ? 12 : 24的值是12。

24.( )基本数据类型的实参向形参传递数据是单向值传递。 25.( )数组作为参数,传递的是数组的地址,而不是数组本身。 26.( )局部变量的作用范围是包含该变量的整个块。 27.( )int a = 25,则a/4的值为6.25,而a%4的值为1。

3

得分

三、程序阅读题(本大题共4小题,每小题5分,共20分) 说明:阅读下面的程序,并写出程序的运行结果。

1. public class Abc{

public static void main(String args[ ]){ for (int i = 0 ; i < 4 ; i ++ ){ for(int j = 0 ; j <= i ; j++){ System.out.print (\ }

System.out.println(); } } }

2. public class Abc{

public static void main(String args[]) {

String s=\ from $96.6 million to $166 million per year.\ int num = 0;

for(int i = 0; i='0' && ch<='9'){ num++;} }

System.out.printf(\ } }

3. class A{

public A(){System.out.println(\}

class B extends A{

public B(){this(\

4

public B(String s){System.out.println(\}

class C extends B{

public C(){this(\

public C(String s){System.out.println(\装订线 }

class Test{

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

}

4. class A{ public void abc(){

System.out..println(\}

class B extends A{ public void abc(){ System.out..println(\}

class C extends B{ public void abc(){ super.abc();

System.out..println(\}

public class Test{

public static void main(String args[]){

A a = new B(); show(a); a = new C(); show(a);

}

public void show(A a){ a.show(); }

5

}

(1)程序实现了面向对象的什么技术?(2分) (2)程序输出的结果如何?(3分)

得分

四、编写程序题(本大题共3小题,共30分)

1. 设S = 1 + 2 + 3 + ?,编写程序求出满足S < 5000的S的最大值。(9分)

2. 编写方法double avg(int[] a),求数组a中能被2或3整除的数的平均值,并在main方法中调用测试该方法。(10分)

3. 编写一个日期类Date,具体要求如下:(11分)

(1)数据域:

year表示年,month表示月,day表示日,类型均为int。封装数据域,并提供访问 器和修改器。 (2)构造方法:

默认构造方法Date(),默认值为2000年1月1日 一般构造方法Date(int year,int month,int day)

(3)改写toString方法,显示一个日期,格式为“XXXX年XX月XX日”; (4)编写计算闰年的任意两个日期对象之间相隔天数的方法int interval(Date d)。

6

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

Top