Java程序设计期末考试试题_第1页
Java程序设计期末考试试题_第2页
Java程序设计期末考试试题_第3页
Java程序设计期末考试试题_第4页
Java程序设计期末考试试题_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java程序设计期末考试试题考试时长:90分钟满分:100分适用专业:计算机相关专业注意事项:1.本试卷共五大题型,全部为必答题,总分100分;2.答题请书写规范,代码题保证语法正确、逻辑清晰;3.禁止抄袭、作弊,一经发现试卷作废。一、单项选择题(每题2分,共20分)每题只有一个正确答案,请将正确选项填在括号内。1.下列选项中,不属于Java基本数据类型的是()A.intB.StringC.doubleD.boolean2.在Java中,定义常量的关键字是()A.staticB.finalC.privateD.abstract3.以下关于数组的说法,正确的是()A.数组长度可以随意修改B.数组下标从1开始C.数组属于引用类型D.数组元素类型可以不统一4.Java中,用于异常捕获的关键字组合是()A.try-catchB.throw-throwsC.finally-returnD.catch-throw5.下列关于继承的描述,错误的是()A.Java只支持单类继承B.使用extends关键字实现继承C.子类可以继承父类的私有方法D.子类可以重写父类的非私有方法6.接口中默认的成员方法修饰符是()A.privateB.protectedC.publicD.default7.以下循环语句中,能够实现无限循环的是()A.for(inti=0;i<10;i++)B.while(true)C.do-while(false)D.以上都不是8.Java中,重写(Override)和重载(Overload)的区别,说法正确的是()A.重写方法参数列表必须不同B.重载方法方法名必须不同C.重写发生在父子类之间D.重载返回值必须一致9.下列集合中,能够保证元素有序且不重复的是()A.ArrayListB.HashSetC.TreeSetD.LinkedList10.关于static关键字,说法错误的是()A.静态方法可以直接通过类名调用B.静态变量属于类,不属于对象C.静态方法可以访问非静态成员D.静态代码块仅在类加载时执行一次二、判断题(每题1分,共10分,对的打√,错的打×)1.Java是编译型语言,代码需要编译后才能运行。()2.==可以用于比较两个字符串的内容是否相等。()3.抽象类不能被实例化,但可以有构造方法。()4.数组在初始化时,必须指定固定长度。()5.private修饰的成员,仅能在当前类中访问。()6.finally代码块一定会执行,即使遇到return语句。()7.接口中可以定义普通成员变量。()8.多态的实现依赖于继承、重写和向上转型。()9.StringBuilder线程安全,效率高于StringBuffer。()10.基本数据类型的变量存储在栈内存中。()三、填空题(每空2分,共20分)1.Java程序的入口方法是________,该方法的返回值类型为void。2.面向对象的三大特性是封装、________、________。3.若要手动抛出异常,需要使用________关键字。4.字符串内容比较应使用________方法,不能使用==。5.Java中创建对象的关键字是________。6.父类引用指向子类对象的过程,称为________。7.遍历集合的增强for循环语法格式为________。8.处理整型数值溢出问题,可以使用________类实现高精度运算。四、简答题(每题5分,共20分)1.简述Java中堆内存和栈内存的主要区别。2.简述接口和抽象类的核心区别(至少写出3点)。3.简述ArrayList和LinkedList的适用场景区别。4.简述Java异常体系中Error和Exception的区别。五、编程题(每题15分,共30分)1.基础编程:学生成绩统计(15分)需求:编写Java程序,定义一个长度为5的int数组,存储5名学生的考试成绩(自行赋值),完成以下功能:(1)遍历输出所有学生成绩;(2)计算并输出总成绩、平均成绩(保留1位小数);(3)找出并输出最高分和最低分。要求:代码简洁规范,注释清晰,可直接运行。2.面向对象编程:宠物类设计(15分)需求:利用面向对象思想完成以下设计:(1)定义抽象宠物类Pet,包含属性:宠物名称、年龄;包含抽象方法cry()(叫声);包含普通方法showInfo(),用于打印宠物信息;(2)定义Dog类、Cat类继承Pet类,重写cry()方法,分别实现狗叫、猫叫的输出;(3)编写测试类,创建Dog和Cat对象,赋值属性,调用showInfo()和cry()方法完成测试。参考答案及评分标准一、单项选择题(20分)1.B2.B3.C4.A5.C6.C7.B8.C9.C10.C二、判断题(10分)1.√2.×3.√4.×5.√6.√7.×8.√9.×10.√三、填空题(20分)1.main2.继承、多态3.throw4.equals()5.new6.向上转型7.for(元素类型变量名:集合/数组)8.BigInteger四、简答题(20分)1.堆内存和栈内存区别(1)栈内存:存储基本数据类型变量、对象引用地址,空间小、速度快,线程私有,随方法调用创建和释放;(2)堆内存:存储对象、数组实体内容,空间大、速度较慢,所有线程共享,由垃圾回收机制管理;(答出核心两点即可得满分,酌情给分)2.接口和抽象类区别(1)抽象类可以有普通成员变量,接口只能有常量;(2)抽象类可以包含普通方法、静态方法、构造方法,JDK8之前接口只能有抽象方法;(3)类只能单继承抽象类,但可以多实现接口;(4)抽象类修饰符可以是public、protected,接口默认public;(任意3点即可满分)3.ArrayList和LinkedList适用场景ArrayList:基于动态数组实现,查询、遍历效率高,增删末尾元素速度快,适合多查询、少增删的场景;LinkedList:基于双向链表实现,随机查询效率低,中间、头部增删元素效率高,适合频繁增删、少量查询的场景。4.Error和Exception区别(1)Error是系统级严重错误,如内存溢出、栈溢出,程序无法处理,会直接终止运行;(2)Exception是程序运行时的常规异常,如空指针、数组越界,可通过try-catch捕获处理,程序可继续运行;(3)Error属于不可查异常,Exception包含可查异常和运行时异常。五、编程题(30分)1.学生成绩统计参考代码java

publicclassScoreTest{

publicstaticvoidmain(String[]args){

//初始化学生成绩数组

int[]scores={85,92,78,90,88};

intsum=0;

intmax=scores[0];

intmin=scores[0];

//遍历输出成绩、计算总分、最值

System.out.println("学生成绩列表:");

for(intscore:scores){

System.out.print(score+"");

sum+=score;

if(score>max){

max=score;

}

if(score<min){

min=score;

}

}

//计算平均分

doubleavg=sum/5.0;

System.out.println("\n总成绩:"+sum);

System.out.printf("平均成绩:%.1f\n",avg);

System.out.println("最高分:"+max);

System.out.println("最低分:"+min);

}

}评分标准:数组初始化(3分)、遍历输出(4分)、总分平均分计算(4分)、最值查找(4分)2.宠物类设计参考代码java

//抽象宠物类

abstractclassPet{

privateStringname;

privateintage;

//构造方法

publicPet(Stringname,intage){

=name;

this.age=age;

}

//抽象叫声方法

publicabstractvoidcry();

//展示宠物信息

publicvoidshowInfo(){

System.out.println("宠物名称:"+name+",年龄:"+age+"岁");

}

//getter、setter方法

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

=name;

}

publicintgetAge(){

returnage;

}

publicvoidsetAge(intage){

this.age=age;

}

}

//狗狗类

classDogextendsPet{

publicDog(Stringname,intage){

super(name,age);

}

@Override

publicvoidcry(){

System.out.println("狗狗汪汪叫!");

}

}

//猫咪类

classCatextendsPet{

publicCat(Stringname,intage){

super(name,age);

}

@Override

publicvoidcry(){

System.out.println("猫咪喵喵叫!");

}

}

//测试类

publicclassPetTest{

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论