大学Java程序设计期末考试试卷(含详细答案)_第1页
大学Java程序设计期末考试试卷(含详细答案)_第2页
大学Java程序设计期末考试试卷(含详细答案)_第3页
大学Java程序设计期末考试试卷(含详细答案)_第4页
大学Java程序设计期末考试试卷(含详细答案)_第5页
已阅读5页,还剩3页未读, 继续免费阅读

下载本文档

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

文档简介

大学Java程序设计期末考试试卷(含详细答案)考试时长:120分钟满分:100分适用专业:计算机、软件工程、大数据、物联网等相关专业考试说明:闭卷考试,独立完成,禁止查阅资料、设备辅助作答一、单项选择题(共20题,每题2分,共40分)每题只有一个正确答案,将正确选项填入括号内1.以下不属于Java基本数据类型的是()A.intB.StringC.doubleD.boolean2.下列关于Java标识符命名规则,说法正确的是()A.标识符可以以数字开头B.标识符可以使用下划线、字母、数字、美元符号C.标识符可以使用Java关键字D.标识符区分大小写,长度有限制3.执行语句inta=5;a+=a-=a*a;后,a的值为()A.-15B.-40C.0D.-204.下列关于if-else语句的语法,正确的是()A.else可以单独使用B.if语句后面必须搭配else语句C.else语句必须和最近的未匹配if配对D.if条件括号后可以加分号,不影响逻辑5.以下循环语句中,属于死循环的是()A.for(inti=0;i<10;i++){}B.while(true){}C.do{}while(false);D.for(;;){break;}6.Java中数组的特点,说法错误的是()A.数组长度固定,一旦初始化无法修改B.数组下标从0开始C.数组可以存储不同类型的数据D.数组属于引用类型7.定义Java类时,用来修饰成员变量、成员方法,代表公共访问权限的关键字是()A.privateB.protectedC.publicD.default8.下列关于构造方法的说法,正确的是()A.构造方法可以有返回值B.构造方法名必须和类名完全一致C.一个类只能有一个构造方法D.构造方法不能重载9.Java中实现类的继承使用的关键字是()A.implementB.extendsC.importD.static10.重写(override)和重载(overload)的区别,说法正确的是()A.重写发生在同一个类中B.重载方法参数列表必须不同C.重写方法返回值可以随意修改D.重载方法方法名必须不同11.接口中默认的成员方法修饰符是()A.privateabstractB.publicabstractC.protectedstaticD.publicfinal12.下列关键字中,用于抛出异常的是()A.tryB.catchC.throwD.finally13.关于static关键字,说法错误的是()A.静态成员属于类,不属于对象B.静态方法可以直接访问非静态成员C.静态变量被所有对象共享D.静态代码块在类加载时执行14.下列集合中,存储元素有序、可重复的是()A.HashSetB.ArrayListC.TreeSetD.HashMap15.String和StringBuilder的区别,说法正确的是()A.String是可变字符串B.StringBuilder线程安全C.String拼接字符串会产生新对象D.StringBuilder效率低于String16.异常体系中,所有异常的父类是()A.ErrorB.ExceptionC.ThrowableD.RuntimeException17.下列关于final关键字的用法,错误的是()A.final修饰变量为常量,不可二次赋值B.final修饰方法不可重写C.final修饰类可以被继承D.final可以修饰局部变量18.Java中基本类型和包装类的对应关系,正确的是()A.int–IntegerB.boolean–BoolC.char–CharacterCharD.double–DoubleObj19.以下代码的运行结果是()Strings1="abc";Strings2=newString("abc");System.out.println(s1==s2);A.trueB.falseC.编译报错D.空值20.循环中用于跳出当前循环,直接进入下一次循环的关键字是()A.breakB.continueC.returnD.exit二、填空题(共10空,每空2分,共20分)1.Java程序的入口方法是________,该方法的返回值类型为________。2.布尔类型的取值只有两个,分别是________和________。3.面向对象的三大核心特性是封装、________、________。4.抽象类使用________关键字修饰,抽象方法________(有/无)方法体。5.数组下标越界会抛出________异常,空指针访问会抛出________异常。三、程序阅读题(共2题,每题8分,共16分)写出下列代码的运行结果,并简要说明核心逻辑1.循环运算代码PlainText

publicclassTest1{

publicstaticvoidmain(String[]args){

intsum=0;

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

if(i%2==0){

continue;

}

sum+=i;

}

System.out.println(sum);

}

}2.继承重写代码PlainText

classFather{

publicvoidshow(){

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

}

}

classSonextendsFather{

@Override

publicvoidshow(){

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

}

}

publicclassTest2{

publicstaticvoidmain(String[]args){

Fatherf=newSon();

f.show();

}

}四、编程题(共2题,每题12分,共24分)编写完整可运行的Java代码,格式规范、逻辑清晰1.基础编程题:编写程序,接收用户输入的一个整数n,计算1~n之间所有能被3整除但不能被5整除的数字之和并输出。2.面向对象编程题:定义学生类(Student),包含属性:学号(id)、姓名(name)、成绩(score);要求:(1)私有化所有成员变量;(2)提供无参、有参构造方法;(3)提供get/set方法;(4)编写方法打印学生信息;(5)编写测试类创建学生对象并完成测试。参考答案及详细解析一、单项选择题答案及解析1.B解析:Java八大基本数据类型为byte、short、int、long、float、double、char、boolean,String是引用类型,不属于基本类型。2.B解析:标识符不能以数字开头、不能使用关键字;标识符长度无硬性限制,区分大小写。3.B解析:赋值运算符从右向左运算,先计算a*a=25,再a-=25(a=5-25=-20),最后a+=-20(a=-20-20=-40)。4.C解析:else不能单独使用,必须搭配if;if后可无else;if条件后加分号会导致语句空执行,破坏逻辑。5.B解析:while(true)条件永远成立,无终止条件,属于死循环;其余循环均可正常结束。6.C解析:Java数组是同类型数据的集合,只能存储相同类型的数据。7.C解析:public为公共权限,任意类可访问;private私有权限、protected受保护权限、default包权限。8.B解析:构造方法无返回值,与类名同名,支持重载,一个类可以有多个构造方法。9.B解析:extends用于类继承,implement用于实现接口,import用于导入包。10.B解析:重载发生在同类中,方法名相同、参数列表不同;重写发生在父子类中,方法名、参数、返回值需一致。11.B解析:接口中抽象方法默认修饰符为publicabstract,可省略不写。12.C解析:throw用于手动抛出异常,try-catch用于捕获处理异常,finally用于最终执行代码块。13.B解析:静态方法属于类,只能访问静态成员,不能直接访问非静态成员。14.B解析:ArrayList有序可重复;HashSet、TreeSet元素不可重复;HashMap是键值对集合。15.C解析:String是不可变字符串,拼接会生成新对象;StringBuilder可变、效率高、线程不安全。16.C解析:Throwable是异常体系顶层父类,包含Error和Exception。17.C解析:final修饰的类不可被继承,修饰方法不可重写,修饰变量不可修改。18.A解析:基本类型对应包装类:int-Integer、boolean-Boolean、char-Character、double-Double。19.B解析:==比较引用类型的内存地址,s1指向字符串常量池,s2是new的新对象,地址不同。20.B解析:continue跳出本次循环,进入下一次;break终止整个循环;return结束方法。二、填空题答案1.main;void2.true;false3.继承;多态(顺序可互换)4.abstract;无5.ArrayIndexOutOfBoundsException;NullPointerException三、程序阅读题答案及解析1.运行结果:25解析:循环遍历1-10的数字,遇到偶数执行continue跳过累加,只累加奇数。1+3+5+7+9=25。2.运行结果:子类方法解析:代码为向上转型(父类引用指向子类对象),Java多态特性中,编译看父类,运行看子类,执行子类重写后的方法。四、编程题参考答案(完整可运行代码)1.数字求和程序PlainText

importjava.util.Scanner;

publicclassSumTest{

publicstaticvoidmain(String[]args){

//创建扫描器对象接收用户输入

Scannersc=newScanner(System.in);

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

intn=sc.nextInt();

intsum=0;

//遍历1~n所有数字

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

//判断:能被3整除且不能被5整除

if(i%3==0&&i%5!=0){

sum+=i;

}

}

System.out.println("符合条件的数字总和为:"+sum);

sc.close();

}

}2.学生类面向对象程序PlainText

//学生实体类

publicclassStudent{

//私有化成员变量

privateintid;

privateStringname;

privatedoublescore;

//无参构造方法

publicStudent(){

}

//有参构造方法

publicStudent(intid,Stringname,doublescore){

this.id=id;

=name;

this.score=score;

}

//get和set方法

publicintgetId(){

returnid;

}

publicvoidsetId(intid){

this.id=id;

}

publicStringgetName(){

returnname;

}

publicvoidsetName(Stringname){

=name;

}

publicdoublegetScore(){

returnscore;

}

publicvoid

温馨提示

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

最新文档

评论

0/150

提交评论