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

下载本文档

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

文档简介

Java程序设计期末综合试题考试时长:120分钟满分:100分注意事项:1.本试卷共五大题,考生需将答案写在指定答题区域,书写清晰规范;2.编程题可使用JDK8及以上版本语法,代码需保证逻辑完整、可正常编译运行;3.严禁抄袭、违规作答,一经发现试卷作废。一、单项选择题(本大题共15小题,每小题2分,共30分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出。1.下列关于Java语言特性的描述,错误的是()A.面向对象B.平台无关性C.指针操作灵活D.自动垃圾回收2.Java源代码文件的后缀名和编译后的字节码文件后缀名分别是()A..txt、.classB..java、.classC..java、.exeD..jav、.bin3.下列变量名中,符合Java命名规范的是()A.123nameB.name_123C.name#1D.public4.以下不属于Java基本数据类型的是()A.intB.StringC.doubleD.boolean5.执行语句inta=5;a+=3;后,变量a的值为()A.5B.3C.8D.26.下列关于if-else语句的说法,正确的是()A.else语句可以单独使用B.if条件表达式结果必须是布尔值C.if语句必须搭配else使用D.条件表达式可以使用数值0/1代替布尔值7.想要终止当前循环,跳出循环体,应使用的关键字是()A.stopB.breakC.continueD.exit8.下列关于数组的描述,正确的是()A.数组长度可以随意修改B.数组下标从1开始C.同一数组中元素类型必须一致D.数组不能存储基本数据类型9.Java中定义类使用的关键字是()A.classB.structC.defineD.object10.面向对象中,封装的主要作用是()A.提高代码运行速度B.隐藏内部细节,保障数据安全C.简化代码编写格式D.实现代码复用11.下列访问修饰符中,访问权限最大的是()A.privateB.defaultC.protectedD.public12.子类继承父类后,关于方法重写的说法正确的是()A.方法名可以不同B.参数列表必须与父类方法一致C.返回值类型可以随意修改D.访问权限必须比父类更严格13.Java中异常处理的关键字不包括()A.tryB.catchC.throwD.finally14.下列关于String类的说法,错误的是()A.String字符串不可变B.可以通过length()获取字符串长度C.字符串可以用==判断内容是否相等D.String是引用类型15.下列集合中,存储元素有序、可重复的是()A.ArrayListB.HashSetC.TreeSetD.HashMap二、填空题(本大题共10小题,每空1分,共20分)1.Java程序的入口方法是________,该方法的返回值类型是________。2.布尔类型的取值只有两个,分别是________和________。3.三元运算符的语法格式为________,执行规则是条件为true取________表达式结果。4.for循环的三个组成部分分别是初始化表达式、________和________。5.创建数组int[]arr=newint[5];后,数组默认初始值为________,数组最大下标为________。6.面向对象的三大核心特性是封装、________、________。7.定义常量需要使用________关键字,常量值一旦赋值________修改。8.方法的重载要求________不同,________可以相同。9.Java中所有类的直接或间接父类是________。10.异常分为编译期异常和________异常,________关键字用于主动抛出异常。三、程序阅读题(本大题共3小题,每小题5分,共15分)请阅读下列Java代码,写出程序运行后的输出结果。1.阅读代码,输出结果为:PlainText

publicclassTest1{

publicstaticvoidmain(String[]args){

intsum=0;

for(inti=1;i<=5;i++){

if(i%2==0){

continue;

}

sum+=i;

}

System.out.println(sum);

}

}2.阅读代码,输出结果为:PlainText

publicclassTest2{

publicstaticvoidmain(String[]args){

Stringstr="JavaStudy";

System.out.println(str.length());

System.out.println(str.charAt(3));

}

}3.阅读代码,输出结果为:PlainText

classFather{

publicvoidshow(){

System.out.println("父类方法");

}

}

classSonextendsFather{

@Override

publicvoidshow(){

System.out.println("子类重写方法");

}

}

publicclassTest3{

publicstaticvoidmain(String[]args){

Fatherf=newSon();

f.show();

}

}四、程序改错题(本大题共2小题,每小题5分,共10分)下列代码均存在语法或逻辑错误,请找出错误并改正,写出完整正确代码。1.求1~10累加和,代码存在错误PlainText

publicclassError1{

publicstaticvoidmain(String[]args){

intsum=0;

for(inti=1;i<10;i++){

sum+=i;

}

System.out.println("累加和:"+sum);

}

}2.定义学生类,代码存在封装相关错误PlainText

classStudent{

Stringname;

intage;

publicvoidshowInfo(){

System.out.println(name+","+age);

}

}

publicclassError2{

publicstaticvoidmain(String[]args){

Students=newStudent();

="张三";

s.age=-5;

s.showInfo();

}

}五、编程应用题(本大题共2小题,第1题10分,第2题15分,共25分)根据题目要求编写完整Java代码,代码结构完整、逻辑清晰、运行结果正确。1.基础编程题(10分)编写程序,实现功能:接收用户输入的一个整数,判断该数是否为素数(质数)。素数定义:大于1的自然数,除了1和自身外,不能被其他自然数整除。要求输出清晰的判断结果。2.面向对象编程题(15分)定义一个动物类(Animal),包含属性:动物名称、年龄;提供构造方法、属性的get/set方法、通用发声方法speak()(输出“动物可以发出叫声”)。再定义狗类(Dog)继承Animal类,重写speak()方法,输出“汪汪汪”;新增专属属性:品种,新增专属方法:watchDog()(输出“狗狗可以看家护院”)。最后编写测试类,创建Dog对象,为所有属性赋值,调用所有普通方法,完成功能测试。参考答案及评分标准一、单项选择题(每题2分,共30分)1.C2.B3.B4.B5.C6.B7.B8.C9.A10.B11.D12.B13.C14.C15.A二、填空题(每空1分,共20分)1.main、void2.true、false3.条件?表达式1:表达式2、14.循环条件、更新表达式5.0、46.继承、多态7.final、不可8.参数列表、方法名9.Object10.运行期、throw三、程序阅读题(每题5分,共15分)1.92.9、v3.子类重写方法四、程序改错题(每题5分,共10分)1.错误:循环条件i<10,无法遍历到10,导致累加和计算错误PlainText

publicclassError1{

publicstaticvoidmain(String[]args){

intsum=0;

for(inti=1;i<=10;i++){

sum+=i;

}

System.out.println("累加和:"+sum);

}

}2.错误:成员变量未私有化,无法限制非法数据赋值,违背封装思想PlainText

classStudent{

//私有化成员变量

privateStringname;

privateintage;

//get/set方法,增加数据校验

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

=name;

}

publicintgetAge(){

returnage;

}

publicvoidsetAge(intage){

if(age>0){

this.age=age;

}else{

System.out.println("年龄输入不合法");

}

}

publicvoidshowInfo(){

System.out.println(name+","+age);

}

}

publicclassError2{

publicstaticvoidmain(String[]args){

Students=newStudent();

s.setName("张三");

s.setAge(-5);

s.showInfo();

}

}五、编程应用题(共25分)1.基础编程题(10分)参考代码PlainText

importjava.util.Scanner;

publicclassPrimeTest{

publicstaticvoidmain(String[]args){

Scannersc=newScanner(System.in);

System.out.print("请输入一个整数:");

intnum=sc.nextInt();

booleanflag=true;

//小于2的数不是素数

if(num<2){

flag=false;

}else{

//判断是否能被2到根号num之间的数整除

for(inti=2;i<=Math.sqrt(num);i++){

if(num%i==0){

flag=false;

break;

}

}

}

if(flag){

System.out.println(num+"是素数");

}else{

System.out.println(num+"不是素数");

}

sc.close();

}

}2.面向对象编程题(15分)参考代码PlainText

//动物父类

classAnimal{

privateStringname;

privateintage;

//无参、有参构造

publicAnimal(){}

publicAnimal(Stringname,intage){

=name;

this.age=age;

}

//get/set方法

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

=name;

}

publicintgetAge(){

returnage;

}

publicvoidsetAge(intage){

this.age=age;

}

//通用发声方法

publicvoidspeak(){

System.out.println("动物可以发出叫声");

}

}

//狗子类

classDogextendsAnimal{

privateStringbreed

温馨提示

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

评论

0/150

提交评论