版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2025年天津理工大学java考试题及答案一、单项选择题(每题2分,共30分)1.以下关于Java面向对象特性的描述,错误的是()A.继承允许子类继承父类的非私有成员B.多态分为编译时多态和运行时多态C.封装的核心是隐藏对象的内部实现D.抽象类必须包含抽象方法2.给定代码片段:```javaStrings1="hello";Strings2=newString("hello");System.out.println(s1==s2);```输出结果是()A.trueB.falseC.编译错误D.运行时异常3.关于异常处理,以下说法正确的是()A.try块后必须有catch块B.finally块中的代码一定会执行(除JVM退出)C.自定义异常必须继承RuntimeExceptionD.throw语句只能抛出RuntimeException类型异常4.以下能正确定义泛型类的是()A.classMyClass<TextendsNumber>{...}B.classMyClass<TimplementsRunnable>{...}C.classMyClass<TextendsList,String>{...}D.classMyClass<TsuperInteger>{...}5.执行以下代码后,输出结果是()```javaint[]arr={1,3,5,7,9};intsum=0;for(inti=0;i<arr.length;i++){if(i%2==1)continue;sum+=arr[i];}System.out.println(sum);```A.1+3+5+7+9=25B.1+5+9=15C.3+7=10D.1+3=46.关于线程同步,以下说法错误的是()A.synchronized关键字可以修饰方法和代码块B.Lock接口比synchronized关键字提供更灵活的锁操作C.使用wait()和notify()时必须持有对象的锁D.多个线程访问静态方法时,锁对象是当前类的实例7.给定类定义:```javaclassA{protectedvoidmethod(){System.out.println("A");}}classBextendsA{publicvoidmethod(){System.out.println("B");}}publicclassTest{publicstaticvoidmain(String[]args){Aobj=newB();obj.method();}}```输出结果是()A.AB.BC.编译错误D.运行时异常8.以下关于集合框架的描述,正确的是()A.ArrayList和LinkedList都实现了List接口,查询效率相同B.HashMap允许键为null,最多一个;值可以有多个nullC.TreeSet中的元素默认按插入顺序排序D.Vector是线程不安全的集合类9.执行以下代码后,x的值是()```javaintx=5;x+=xx;```A.5B.6C.7D.810.关于接口的说法,错误的是()A.接口中的方法默认是publicabstract的B.接口可以继承多个父接口C.接口中可以定义静态方法(JDK8+)D.实现类必须实现接口的所有方法,包括默认方法(JDK8+)11.以下代码的输出结果是()```javaStringBuildersb=newStringBuilder("abc");sb.append(1).insert(1,"X").delete(2,4);System.out.println(sb.toString());```A.aXbc1B.aX1cC.aX1D.aXc112.给定File类操作:```javaFilefile=newFile("test.txt");file.mkdir();```若当前目录不存在test.txt文件,执行后会()A.创建test.txt文件B.创建test.txt目录C.无操作D.抛出异常13.以下Lambda表达式能正确实现Runnable接口的是()A.()->System.out.println("Run");B.()=>System.out.println("Run");C.(){System.out.println("Run");}D.()->{System.out.println("Run")}14.关于反射机制,以下说法错误的是()A.可以通过Class对象获取类的构造方法B.反射可以访问私有成员(通过setAccessible(true))C.反射会影响程序的运行效率D.基本数据类型不能通过反射获取Class对象15.以下代码的输出结果是()```javaIntegera=127;Integerb=127;Integerc=128;Integerd=128;System.out.println(a==b+","+c==d);```A.true,trueB.true,falseC.false,trueD.false,false二、填空题(每空2分,共20分)1.Java程序的入口方法签名是________________________。2.定义一个不可变的字符串应使用________________类(填具体类名)。3.线程的生命周期包括新建、就绪、运行、阻塞和________________状态。4.要捕获所有可能的异常,应使用________________作为catch块的参数类型。5.List接口的实现类中,________________适合频繁插入/删除操作(填具体类名)。6.在Java中,数组的长度通过________________属性获取(填属性名)。7.泛型通配符?superT表示________________类型的上界/下界(填"上界"或"下界")。8.要实现对象的序列化,需让类实现________________接口。9.正则表达式中,匹配任意单个字符的通配符是________________。10.使用JDBC连接数据库时,执行动态SQL语句应使用________________对象(填具体类名)。三、程序分析题(每题10分,共20分)1.分析以下代码的功能,并写出输出结果。```javaimportjava.util.;publicclassTest{publicstaticvoidmain(String[]args){List<Integer>list=newArrayList<>();for(inti=0;i<5;i++){list.add(i);}Iterator<Integer>it=list.iterator();while(it.hasNext()){intnum=it.next();if(num%2==0){it.remove();}}System.out.println(list);}}```2.分析以下多线程代码的输出结果(可能的情况),并说明原因。```javapublicclassThreadTest{privatestaticintcount=0;publicstaticvoidmain(String[]args)throwsInterruptedException{Runnabletask=()->{for(inti=0;i<1000;i++){count++;}};Threadt1=newThread(task);Threadt2=newThread(task);t1.start();t2.start();t1.join();t2.join();System.out.println("Count:"+count);}}```四、编程题(共30分)1.(10分)编写一个方法,计算n的阶乘(n≥0),要求处理n为负数的情况(抛出异常),并使用递归实现。2.(10分)设计一个学生类(Student),包含属性:学号(String)、姓名(String)、成绩(double)。要求:实现Comparable接口,按成绩降序排序提供静态方法:根据学号查询学生(参数:List<Student>students,Stringid)重写toString()方法,格式为"学号:xxx,姓名:xxx,成绩:xxx"3.(10分)编写程序,实现以下功能:从当前目录读取input.txt文件(每行一个整数)将所有整数排序后,写入当前目录的output.txt文件要求使用try-with-resources处理IO流处理可能的文件不存在、格式错误等异常答案一、单项选择题1.D2.B3.B4.A5.B6.D7.B8.B9.B10.D11.C12.B13.A14.D15.B二、填空题1.publicstaticvoidmain(String[]args)2.String3.终止(或死亡)4.Exception5.LinkedList6.length7.下界8.Serializable9..(点号)10.PreparedStatement三、程序分析题1.功能:移除列表中所有偶数元素。输出结果:[1,3]解析:通过迭代器遍历ArrayList,当元素为偶数时调用it.remove()正确删除元素,最终列表剩余奇数元素1和3。2.输出结果可能小于2000(如1500、1800等),具体数值不确定。原因:count++操作不是原子性的(包含读取、修改、写入三步),两个线程并发执行时会发生数据竞争。虽然使用了join()等待线程结束,但未对共享变量count进行同步控制,导致部分增量丢失。四、编程题1.阶乘计算方法实现:```javapublicclassFactorial{publicstaticlongfactorial(intn)throwsIllegalArgumentException{if(n<0){thrownewIllegalArgumentException("n不能为负数");}if(n==0||n==1){return1;}returnnfactorial(n1);}}```2.学生类设计:```javaimportjava.util.List;publicclassStudentimplementsComparable<Student>{privateStringid;privateStringname;privatedoublescore;publicStudent(Stringid,Stringname,doublescore){this.id=id;=name;this.score=score;}@OverridepublicintcompareTo(Studentother){returnDpare(other.score,this.score);//降序}publicstaticStudentfindById(List<Student>students,Stringid){for(Students:students){if(s.id.equals(id)){returns;}}returnnull;}@OverridepublicStringtoString(){returnString.format("学号:%s,姓名:%s,成绩:%.1f",id,name,score);}}```3.文件读写排序程序:```javaimportjava.io.;importjava.util.ArrayList;importjava.util.Collections;importjava.util.List;publicclassFileSorter{publicstaticvoidmain(String[]args){List<Integer>numbers=newArrayList<>();try(BufferedReaderbr=newBufferedReader(newFileReader("input.txt"))){Stringline;while((line=br.readLine())!=null){if(line.trim().isEmpty())continue;numbers.add(Integer.parseInt(line.trim()));}}catch(FileNotFo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中英语教学中戏剧教学与口语表达的协同作用分析课题报告教学研究课题报告
- 我国财务困境上市公司股权结构与高管更替的联动机制及影响研究
- 我国西部地区农村教育政策:现状、问题与优化路径探究
- 2026年经鼻高流量氧疗相关知识试题
- 临海市技工学校招聘真题
- 挡车工安全生产制度规范
- 院民档案管理制度
- 档案调阅制度及流程
- 如何规范上牌流程工作制度
- 文联协会规范化管理制度
- T/CNFAGS 3-2021三聚氰胺单位产品消耗限额
- T/CHTS 10149-2024公路缆索承重桥梁健康监测阈值技术指南
- 2025跨境电商购销合同范本(中英文对照)
- 《骆驼祥子》知识点24章分章内容详述(按原著)
- 2025年人教版九年级物理知识点全面梳理与总结
- DB33T 2256-2020 大棚草莓生产技术规程
- 《建设工程造价咨询服务工时标准(房屋建筑工程)》
- 工程(项目)投资合作协议书样本
- 半导体技术合作开发合同样式
- 制程PQE述职报告
- 小广告清理服务投标方案
评论
0/150
提交评论