当前位置:首页 > 2013秋季java程序设计期末考试试卷a卷
华南农业大学期末考试试卷(A卷)
2013-2014学年第 1 学期 考试科目: Java程序设计 考试类型:(闭卷) 考试 考试时间: 120 分钟 学号 姓名 年级专业
装题号 得分 评阅人 一 二 三 四 总分 订注意事项:
第一大题选择题和第二大题判断题的答案必须填涂在机读卡上,第三、四大题答案写在答题卷上。考试结束时机读卡、答题卷和试卷都要上交。
线 得分
一、单项选择题(本大题共 18 小题,每小题 2 分,共 36 分)
1. 以下数据类型定义错误的是________。
A. float f = (float)1.5; B. double d = 4; C. char ch = ‘\\\\’; D. byte = ‘a’+127; 2. 下列符合Java程序变量命名习惯的是________。
A. 3Button
B. length* C. null D. numOfMember
3. 下列关于Java程序的说法错误的是________。
A.一个.java的源程序编译后只能产生一个.class的字节码文件; B. Java语言是面向问题的解释型高级编程语言; C.Java程序可以实现一次编译,处处运行;
D.一个Java的源程序可以包含多个类,但只能有一个类是公共类; 4. 下列关于main()方法正确的是________。
A. main()方法是程序运行入口,所以每一.java的源程序都有main()方法; B. 在main()方法中直接调用的方法必须是静态方法; C. main()方法的头部可以根据情况任意修改; D.所有对象的创建都必须放在main()方法中;
5. 下列________是用于移动设备开发的Java开发工具版本。
A. Java EE B. Java ME C. Java SE D. JDK
1
6. 下列语句中,属于多分支语句的是________。
A.switch是分支语句 B.不带标号的continue可实现跳出所在的那层循环 C.while语句适合于有固定循环次数的场合 D.do while和while没有区别 7. 下列程序片段执行后,score的值为________
int score=0; char grade = ‘B’; switch(grade){
case ‘A’ : score = 5; case ‘B’: score =3; case ‘C’: score =1; default: score++;} A. 3 B. 4 C. 1 D. 2
8. 关于数组定义,不正确的是________
A. 数组下标从0开始递增,到数组长度-1结束; B. 数组下标越界时将产生编译错误;
C. 数组创建后将分配内存空间其长度不能改变; D. 声明数组后即可以访问其中任意一个元素;
9. 给出下列代码,则数组初始化中哪项是不正确的________。
byte[] array1,array2[]; byte array3[][]; byte [][] array4,array5;
A. array2 = array1 B. array2=array3 C. array5=array4 D. array3=array4 10. 下面________哪段代码的输出结果是1到4之间的随机值整数。
A.(int)(Math.random()*4) B.(int) Math.random*4 C. (int)(Math.random()*4)+1 D. (int) Math.random*4+1 11. 对于下列代码, 下述哪些方法可以加入类Child?________ public class Parent {
public int addValue( int a, int b) { int s; s = a+b; return s; } }
class Child extends Parent { }
A. int addValue( int a, int b ){...}
B. public void addValue (int a, int b ){/...} C. public int addValue( int a ){...} D. public int addValue( int a, int b ) {...}
12. 下列说法哪个是正确的________
A. 不需定义类,就能创建对象; B. 属性可以简单变量,也可以是一个对象; C. 属性必须是简单变量; D. 对象中必有属性和方法; 13. 已知如下代码,执行结果是________
2
装boolean m = true; if ( m = = false )
System.out.println(\else
System.out.println(\
A.False B.True C.None D.编译出错,不能运行 14. 下列关于接口的哪项叙述是错误________
A. 接口是一种与类相似的结构,也包含有数据域和实例方法 B. 接口没有构造方法,不能创建对象
C. 使用接口的目的是统一公共常量,规范公共操作接口
D. 一个类实现接口时要实现接口中的所有抽象方法,除非这个类是抽象类 15. 下列关于构造方法不正确的是________
订A. 抽象类不能创建实例对象,所以没有构造方法
B. 子类构造方法第一条语句要么用super显式调用父类构造方法,要么用this调用本类构造方法
C. 要构造子类对象首先要构造父类对象
线D. 子类不能继承父类的构造方法
16. 下列关于方法重载和覆盖的描述,不正确的是________
A. 可通过返回值类型来区分是否为重载方法
B. 方法重载可减少记忆方法名称的难度,使程序清晰易读 C. 方法覆盖只能在有继承关系的父子类间
D. 方法覆盖必须保持父类方法的返回值、方法名和形参均不变
17. 在子父类继承中,子类继承父类的部分方法,保持方法头部不变,修改方法体,这种
现象称为________
A. 继承 B. 方法重载 C. 方法覆盖 D. 多态 18. 关于Java的包叙述正确的是________。
A. 不同包中的类不允许有相同的名称
B. 同一包中的类允许有相同的名称
C. 源文件中没有采用package则其类没有加入到任何一个包中间 D. package语句必须位于源程序中的第一条语句
19. 构造方法何时被调用________。
A. 类定义时 B. 使用对象属性时 C. 使用对象方法时 D. 对象被创建时 20. 关于类成员的访问特性错误的是________。
A. 无范围修饰符具有包范围特性
B. private修饰符不能用于修饰顶层类
C. abstract和final不能同时用于修饰方法 D. static修饰符能同时修饰方法、属性和类
得分
3
二、判断题(本大题共14小题,每小题1分,共14分,正确选A,错误选B)
21. ( )同一个类的不同对象用不同的内存段,但静态成员共享共同的内存空间。 22. ( )方法中的形参名可以和方法所属类的属性同名。 23. ( )Java程序中变量作用域是声明它的一对花括号范围内。
24. ( )声明两个String类对象S1和S2,要比较这两个对象中的字符串内容是否相等可
以采用如下方法 if(S1==S2)
25. ( )方法调用表达式方式适合于有返回值的方法的调用,在调用时实参与形参在
次序、类型和数量上要匹配。
26. ( )引用一个类的属性或调用其方法时,必须以这个类的对象为前提。
27. ( )没有定义访问控制符的类的成员变量和方法可以被同一个包中的其他类和对象
访问。
28. ( )访问权限最大的是public成员,最小的是protected成员。
29. ( )this可用来调用本类的重载方法,super可用来调用父类的覆盖方法。 30. ( )抽象类的子类一定是具体类,但实现接口的类不一定是具体类。
得分
三、程序阅读题(本大题共4小题,每小题5分,共20分) 说明:阅读下面的程序,并写出程序的运行结果。
1. public class Test1
{ public static void main(String args[ ]) { int i , s = 0 ;
int a[ ] = {10 ,20 ,30 ,40 ,50 ,60 ,70 ,80 ,90 }; for ( i = 0 ; i < a.length ; i ++ ) if ( a[i]%3 = = 0 ) s += a[i] ; System.out.println(\ } }
2. 阅读程序,回答以下问题 1: public class Output1 {
2: public static void main(String arge[]) { 3: int i=0;
4: for ( char ch = 97; ch<113; ch++,i++) {
4
共分享92篇相关文档