您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > 2013秋季Java程序设计期末考试试卷_A卷_
1装订线华南农业大学期末考试试卷(A卷)2013-2014学年第1学期考试科目:Java程序设计考试类型:(闭卷)考试考试时间:120分钟学号姓名年级专业题号一二三四总分得分评阅人注意事项:第一大题选择题和第二大题判断题的答案必须填涂在机读卡上,第三、四大题答案写在答题卷上。考试结束时机读卡、答题卷和试卷都要上交。一、单项选择题(本大题共18小题,每小题2分,共36分)1.以下数据类型定义错误的是________。A.floatf=(float)1.5;B.doubled=4;C.charch=‘\\’;D.byte=‘a’+127;2.下列符合Java程序变量命名习惯的是________。A.3ButtonB.length*C.nullD.numOfMember3.下列关于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.JavaEEB.JavaMEC.JavaSED.JDK6.下列语句中,属于多分支语句的是________。A.switch是分支语句B.不带标号的continue可实现跳出所在的那层循环得分2C.while语句适合于有固定循环次数的场合D.dowhile和while没有区别7.下列程序片段执行后,score的值为________intscore=0;chargrade=‘B’;switch(grade){case‘A’:score=5;case‘B’:score=3;case‘C’:score=1;default:score++;}A.3B.4C.1D.28.关于数组定义,不正确的是________A.数组下标从0开始递增,到数组长度-1结束;B.数组下标越界时将产生编译错误;C.数组创建后将分配内存空间其长度不能改变;D.声明数组后即可以访问其中任意一个元素;9.给出下列代码,则数组初始化中哪项是不正确的________。byte[]array1,array2[];bytearray3[][];byte[][]array4,array5;A.array2=array1B.array2=array3C.array5=array4D.array3=array410.下面________哪段代码的输出结果是1到4之间的随机值整数。A.(int)(Math.random()*4)B.(int)Math.random*4C.(int)(Math.random()*4)+1D.(int)Math.random*4+111.对于下列代码,下述哪些方法可以加入类Child?________publicclassParent{publicintaddValue(inta,intb){ints;s=a+b;returns;}}classChildextendsParent{}A.intaddValue(inta,intb){...}B.publicvoidaddValue(inta,intb){/...}C.publicintaddValue(inta){...}D.publicintaddValue(inta,intb){...}12.下列说法哪个是正确的________A.不需定义类,就能创建对象;B.属性可以简单变量,也可以是一个对象;C.属性必须是简单变量;D.对象中必有属性和方法;13.已知如下代码,执行结果是________booleanm=true;if(m==false)System.out.println(False);3装订线elseSystem.out.println(True);A.FalseB.TrueC.NoneD.编译出错,不能运行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修饰符能同时修饰方法、属性和类二、判断题(本大题共14小题,每小题1分,共14分,正确选A,错误选B)21.()同一个类的不同对象用不同的内存段,但静态成员共享共同的内存空间。得分1.5CM422.()方法中的形参名可以和方法所属类的属性同名。23.()Java程序中变量作用域是声明它的一对花括号范围内。24.()声明两个String类对象S1和S2,要比较这两个对象中的字符串内容是否相等可以采用如下方法if(S1==S2)25.()方法调用表达式方式适合于有返回值的方法的调用,在调用时实参与形参在次序、类型和数量上要匹配。26.()引用一个类的属性或调用其方法时,必须以这个类的对象为前提。27.()没有定义访问控制符的类的成员变量和方法可以被同一个包中的其他类和对象访问。28.()访问权限最大的是public成员,最小的是protected成员。29.()this可用来调用本类的重载方法,super可用来调用父类的覆盖方法。30.()抽象类的子类一定是具体类,但实现接口的类不一定是具体类。三、程序阅读题(本大题共4小题,每小题5分,共20分)说明:阅读下面的程序,并写出程序的运行结果。1.publicclassTest1{publicstaticvoidmain(Stringargs[]){inti,s=0;inta[]={10,20,30,40,50,60,70,80,90};for(i=0;ia.length;i++)if(a[i]%3==0)s+=a[i];System.out.println(s=+s);}}2.阅读程序,回答以下问题1:publicclassOutput1{2:publicstaticvoidmain(Stringarge[]){3:inti=0;4:for(charch=97;ch113;ch++,i++){5:if(i%8==0)6:System.out.println();得分1.5CM5装订线7:System.out.print(\t+ch);8:}9:}10:}(1)程序第5、6行的if语句的功能是什么?(2分)(2)程序输出的结果有几行?(3分)3.classParentClass{intx=10;protectedvoidsetValue(){System.out.println(调用父类setValue()方法,x=+x);}publicvoidchangeValue(){x=x+2;System.out.println(调用父类changeValue()方法,x=+x);}publicvoidprint(){System.out.println(调用父类print()方法);System.out.println(父类对象的x=+x);}}classSubClassextendsParentClass{intx=20;publicvoidsetValue(){System.out.println(调用子类setValue()方法,x=+x);}publicvoidchangeValue(){x=x+10;System.out.println(调用子类changeValue()方法,x=+x);}}publicclassMethOverrrideTest{publicstaticvoidmain(Stringargs[]){ParentClasspObj1=newParentClass();ParentClasspObj2=newSubClass();pObj1.setValue();pObj1.print();pObj2.setValue();}}6(1)程序实现了面向对象的什么技术?(2分)(2)程序输出的结果如何?(3分)4.classTop{publicTop(){System.out.println(Top());}}classMidextendsTop{publicMid(){System.out.println(Mid());}}classBotextendsMid{publicBot(){System.out.println(Bot());}}classTester{publicstaticvoidmain(Stringargs[]){newBot();}}四、编写程序题(本大题共3小题,共30分)1.编写程序.任意输入一个正整数n,输出2到n之间所有的质数。(9分)2.编写程序.随机生成100个0-9之间的整数,统计并输出0-9之间每个数的个数。(10分)3.定义一个类来描述公司雇员,类命名为Employee,具体要求如下:(11分)(1)数据域:id表示工号,类型为int;name表示姓名,类型为String;salary表示工资,类型为double。(2)构造方法:默认构造一个Emplyee对象时,id/name/salary默认值分别为0/””/0.0;也可以在构造Employee对象时通过参数指定数据域初始值。(3)完成各数据域的封装。(4)定义工资计算方法getSalary()。(5)由Employee继承实现三种类型员工文员(Clerk),工资计算方式是:基本工资+奖金-缺勤天数*5;销售员(Saleman),工资计算方式是:基本工资+销售业绩*0.05;临时工(HourlyWorker),工资计算方式是:工作小时数*20。得分1.5CM
本文标题:2013秋季Java程序设计期末考试试卷_A卷_
链接地址:https://www.777doc.com/doc-2993203 .html