华南农业大学Java程序设计期末考试试卷(A卷).doc

上传人:wux****ua 文档编号:9566354 上传时间:2020-04-06 格式:DOC 页数:8 大小:51KB
返回 下载 相关 举报
华南农业大学Java程序设计期末考试试卷(A卷).doc_第1页
第1页 / 共8页
华南农业大学Java程序设计期末考试试卷(A卷).doc_第2页
第2页 / 共8页
华南农业大学Java程序设计期末考试试卷(A卷).doc_第3页
第3页 / 共8页
点击查看更多>>
资源描述
华南农业大学期末考试试卷(A卷)2012-2013学年第 1 学期 考试科目: Java程序设计 一、单项选择题(本大题共 18 小题,每小题 2 分,共 36 分)1. 下列关于Java语言的说法,不正确的是_:A. Java是面向对象的高级语言B. Java是解释型语言,所以执行速度快C. 一个类被编译成一个.class字节码文件D. Java程序可以做到“一次编写,随处运行”2. 下列符合Java程序元素命名习惯的是_。A. double Radius B. int lengthofarray C. class shape D. final double PI3. 下列不满足自动类型转换的赋值语句是_。Aint c = A; B. long d = 165;Cfloat b = 26.3; D. double a = 13;4. 语句int a = 10, b = 20; b += a+; 执行结束后,a和b的值分别是_。A. 10,30 B. 11,30 C. 10,31 D. 11,315. 下列程序段的输出结果是_。int m = 4, n = 9; System.out.println(“m + n = ” + m + n);A. m + n = 13 B. m + n = mn C. m + n = m + n D. m + n = 49;6. 下列关于for和while这两种循环语句的说法,正确的是_A二者都是后置检查循环条件 B循环次数不确定使用for语句比较好C循环条件是布尔型表达式 D它们之间不能互相嵌套使用7. 下列程序片段执行后,y的值为_int x = 4, y = 3; switch(x + 3)case 7: y = 7; case 8: y =8; default: y+;A. 4 B. 7 C. 8 D. 98. 定义二维数组a,不正确的是_A. double a 33; B. double a; C. double a; D. double a;9. 设int b = 26,53,24,18,33,29,81,51,27,44,92,13,则_A. 数组一共有12个元素 B. b2.length为4 C. b.length为12 D. b32等于8110. 下面一段代码的输出结果是_class Test public static void main(String args) int a=36,31,0,11,8,13,24,49,33,16; swap(a,4,8);System.out.println(a4); public static void swap(int a, int i, int j)int t = ai; ai = aj; aj = t;A. 8 B. 33 C. 11 D. 4911. 关于字符串,下列语句不正确的是_A. String s = new String(”Olympic game”);B. “Welcome to Guangzhou”.indexOf(o); C. String s = “Great Wall”; s.delete(2,5);D. StringBuffer buffer = new StringBuffer(); buffer.append(“China”);12. 关于类和对象,下列说法不正确的是_。A. 类是对象的模板,对象是类的实例B. 面向对象有四个基本特征:抽象、封装、继承和多态C. 对象的引用变量只是存放了对象的地址D. 静态成员方法可以调用实例成员方法13. 关于类和成员的访问权限,下列说法正确的是_A. 类A能继承类B的前提是A和B必须在同一个包中 B. 子类不能继承位于不同包中的父类的protected成员C. 子类不能继承位于同一包中的父类的private成员D. 子类可以继承位于不同包中的父类的无修饰成员14. 下列关于继承的哪项叙述是正确_A. 在java中允许多继承 B. java的单一继承使代码更可靠C. 在java中一个类不能同时继承一个类和实现一个接口 D. 在java中一个类只能实现一个接口15. 下列关于父类和子类构造方法,不正确的是_A. 子类不能继承父类的构造方法B. 子类构造方法可以调用父类构造方法C. 子类构造方法的第一条语句必须通过super显式调用父类构造方法D. 子类构造方法的第一条语句也可以通过this调用本类的重载构造方法16. 下列关于方法重载和覆盖的描述,不正确的是_A. 可通过返回值类型来区分是否为重载方法B. 方法重载可减少记忆方法名称的难度,使程序清晰易读C. 方法覆盖只能在有继承关系的父子类间D. 方法覆盖必须保持父类方法的返回值、方法名和形参均不变17. 下列不是实现多态必须条件的是_A. 继承 B. 方法重载 C. 方法覆盖 D. 父类引用变量可引用子类对象18. Object是Java中所有类的祖先类,其中用来比较两个对象内容是否相等的方法是_A. equals B.clone C. compare D. toString1.5CM二、判断题(本大题共14小题,每小题1分,共14分,正确选A,错误选B)19. ( )把java源文件编译成class字节码文件的JDK命令是java。20. ( )Java程序中可包含多个源文件,但每个源文件中只有一个public类。21. ( )包含main方法的类叫主类,没有主类程序就无法运行。22. ( )不带标号的continue语句可实现跳出所在的那层循环。23. ( )方法调用表达式方式适合于有返回值的方法的调用,在调用时实参与形参在次序、类型和数量上要匹配。24. ( )方法覆盖和方法重载都是要求方法同名,因此没有本质区别。25. ( )静态成员方法与对象无关,所以不会访问实例数据域。26. ( )访问权限最大的是public成员,最小的是protected成员。27. ( )this是当前对象的引用,大多数情况下可隐去,但有时需要显式使用。28. ( )抽象类不能定义对象引用变量,也不能创建对象。29. ( )抽象类的子类一定是具体类,但实现接口的类不一定是具体类。30. ( )包可以解决命名冲突,不同包中可以包含同名的类。31. ( )在Java源文件中,把自己的类装入某个包中所使用的关键字是import,把库中的类导入到源文件的关键字是package。32. ( )this可用来调用本类的重载方法,super可用来调用父类的覆盖方法。1.5CM三、程序阅读题(本大题共4小题,每小题5分,共20分)说明:阅读下面的程序,并写出程序的运行结果。1. public class Test public static void main(String args)int a = 36,21,50,78,19,89,74,33,46,68;int m = a0, n = 0;for(int i=1;i10;i+) if (m ai)m = ai; n = i;System.out.printf (“m = %d,n = %dn”, m, n);2. public class Stat public static void main(String args ) int n=0;String s=”The 30th Olympic games is held in London last summer.”;for (int i=0;is.length();i+)if (s.charAt(i)=m)n+;System.out.println(n); 3. class Person public Person() System.out.println(“Person()”); class Teacher extends Person public Teacher()this(“Teacher(String)”); System.out.println(“Teacher()”); public Teacher(String s)System.out.println(s);public class Faculty extends Teacher public Faculty()System.out.println(Faculty(); public static void main(String args) Faculty fa = new Faculty(); 4. public abstract class Animal public abstract void sound();class Dog extends Animal public void sound()System.out.println(“Woof woof”);class Cat extends Animal public void sound()System.out.println(“Miiaooww”);class PetCat extends Cat public void sound()System.out.println(“Miaomiao”);public class Test public static void main(String args) Animal a = new Dog(),new Cat(),new PetCat(); for(int i=0;ia.length;i+)ai.sound(); 1.5CM四、编写程序题(本大题共3小题,共30分)1. 编写程序. 求出2200间所有素数之和并输出。(9分)2. 编写程序. 如下给定一个3行4列的三位整数数表(即每个元素为int型三位十进制整数),找出这12个三位数中,数字之和最大的那个数及其所在的行和列并输出(数字之和的含义:如第0行第0列的259这个数,其数字之和就是2+5+9=16)。(10分) 259 132 799 113 332 262 209 863 807 301 684 3433. 定义一个类来描述公司雇员,类命名为Employee,具体要求如下:(11分)(1)数据域:id表示工号,类型为int;name表示姓名,类型为String;salary表示工资,类型为double。(2)构造方法: 默认构造一个Emplyee对象时,id/name/salary默认值分别为0/”/0.0;也可以在构 造Employee对象时通过参数指定数据域初始值。(3)定义各数据域对应的访问器和修改器。(4)对象描述器,设对象的输出形式为:工号:XXX,姓名:XXX,工资:XXX。(5)定义一个按雇员工资定级别的方法:int level(),返回值为级别数,具体要求为: salary 5000, 3级 5000salary8000, 2级 salary8000, 1级一、单项选择题(本大题共 18 小题,每小题 2 分,共 36 分)123456789BDCBDCDAA101112131415161718BCDCBCABA1.5CM二、判断题(本大题共14小题,每小题1分,共14分,正确选A,错误选B)19202122232425BAABABA26272829303132BABBABA三、程序阅读题(本大题共4小题,每小题5分,共20分)评分细则:1-2题错误没有分,3-4题每答错一行扣一分1. m=89,n=52. 43. Person() Teacher(String) Teacher() Faculty()4. Woof woof Miiaooww Miaomiao1.5CM四、编写程序题(本大题共3小题,共30分)1. (9分)public class Test +1 public static void main(String args) +1 int s = 0; for(int i=2;i=10;i+) if(isPrime(i) s+=i; +3 System.out.println(2200间所有素数之和为:+s); +1 static boolean isPrime(int a) boolean b = true; for(int i=2;ia;i+) if(a%i = 0)b = false; break; return b; +32. (10分)public class Test +1 public static void main(String args) int a = 259,132,799,113,332,262,209,863,227,301,684,343; +1 int max = 0,r=0,c=0; +1 for(int i=0;i3;i+) for(int j=0;j4;j+) int t = dsum(aij); if(maxt)max = t;r = i;c = j; +3 System.out.printf(数字和最大的数是:%d,位于数表的第%d行第%d列n,arc,r,c); +1 static int dsum(int m) int s = 0; while(m!=0)s+=m%10; m=m/10; return s; +33. (11分)class Employee +0.5 private int id; private String name; private double salary; +1.5 Employee() id = 0; name = ; salary = 0.0; +1 Employee(int id,String name,double salary) this.id = id; this.name = name; this.salary = salary; +1 public double getId()return id; public String getName()return name; public double getSalary()return salary; +1.5 public void setId(int id)this.id = id; public void setName(String name)this.name = name; public void setSalary(double salary)this.salary = salary; +1.5 public String toString()return 工号: + id + ,姓名: + name +,工资: + salary; +1 public int level() int l; if(salary=5000.0 & salary8000.0) l = 2; else l = 1; return l; +3
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!