简介这份文档面向河北工业大学修读 Java 课程、准备期末考试的学生聚焦课堂知识点梳理与题型训练帮助读者在复习阶段快速定位重点、检验掌握程度。包内共 1 个 doc 文件整体约 68KB以文字版复习题为主体含部分参考答案便于对照自测与查漏补缺。已有 286 人学习说明在校内复习场景中有一定参考价值。内容围绕 Java 基础语法、面向对象、集合与异常等常见考点组织题目答案部分可用于核对思路、发现易错点适合考前集中刷题与阶段性自测。受篇幅与来源所限题目为部分收录建议结合教材与课堂笔记配套使用按章节顺序练习后再回看错题能更高效地完成考前梳理。1. 从一道“送分题”翻车说起这场 Java 期末考到底考什么先看一道很多人第一眼觉得稳拿分的题String s1 new String(xyz); String s2 new String(xyz);然后判断s1.equals(s2)和s1 s2的结果。选项里 true/false 排列组合正确答案是true false。可每年都有人在这里翻车把当成比较内容把equals当成比较地址正好答反。这类题就是这场 Java 期末考试的典型面孔不考你写过多大的项目专考你对语言规则记没记准、边界清不清楚。这份复习资料是围绕 Java 期末考试整理的选择题题库带部分答案覆盖了语言特性、关键字、运算符、类与对象、继承、异常、修饰符、接口、类型转换、常用类库、编译运行命令、布局管理器等一整套基础考点。它适合两类人一是期末临近、需要快速把选择题正确率拉上去的在校生二是想用一套高密度题目把 Java 语法细节重新过一遍的自学者。拿分逻辑很直接——选择题占大头规则类考点重复率高把高频陷阱题刷透分数就稳。2. 高频考点语言特性、关键字与运算符的送分与送命题2.1 平台无关、关键字、编译命令三个必背的“身份题”第一类题几乎每套卷子都有问的是 Java 的“身份”。比如“Java 语言与其它语言相比独有的特点是”选项给面向对象、多线程、平台无关、可扩展性答案是平台无关。这里面试官或出题人想确认的是你知道 Java 靠字节码和虚拟机实现“一次编写到处运行”而面向对象、多线程这些别的语言也有不是独有。答题时抓住“独有”两个字凡是大家共有的特性都排除。关键字题也是固定动作。问“下面哪个不是 Java 语言的关键字”选项里default、abstract、package都是关键字number不是。这类题没有技巧靠的是把 50 个左右的关键字过一遍尤其注意const和goto是保留字但未使用true、false、null是字面量不是关键字。复习时把关键字表抄一遍比反复做题更省时间。编译运行命令题同样是送分位。问“编译 java 程序的命令文件是”答案是javac.exe运行是java.exe。有人会把java和javac记混记住一句c 代表 compile带 c 的是编译。这类题在卷面上通常只有一两分但错一道就拉开排名属于必须拿满的部分。2.2 运算符与表达式x1为什么对x15为什么错第二类高频题集中在赋值和自增表达式。题目问“下面语句正确的是”选项有x15、i1、ab1、x1正确答案是x1。判断标准只有一条赋值号左边必须是一个可赋值的变量。x1是表达式i是表达式结果都不能放在等号左边x1是复合赋值等价于x x 1合法。这类题最容易错在把i当成变量。要记住自增自减的结果是值不是存储位置。复习时把“左值”和“右值”的概念理清变量、数组元素、对象属性是左值能放等号左边常量、表达式、方法调用结果不是。考试里凡是看到等号左边是运算式直接判错不用犹豫。还有一类是方法调用求结果比如findSum(1,5)对for(int im;in;i) sumi;求和返回 1234515。这种题不难但有人会把in看成in少加一个 5。答题时把循环边界单独圈出来按“含不含等号”逐次展开别心算跳步。2.3 真题演练五道选择题的答题思路拆解下面按卷面顺序挑五道有代表性的题逐题给思路方便对着练。第一题问“如果类的方法没有返回值该方法的返回类型应是”选项 void、null、abstract、default答案void。思路null是引用类型的值不是返回类型abstract修饰方法表示抽象方法不能有方法体default在接口里是默认方法修饰符。只有void表示无返回值。易错点是有人选null把“没有值”和“空引用”混为一谈。第二题问“下列对继承的说法正确的是”正确选项是“子类继承父类的非私有方法和状态”。思路私有成员不参与继承构造方法也不能被继承所以“所有方法和状态”错只继承 public 也错protected 和包级私有在特定条件下同样可继承。答题时抓住“非私有”这个限定词。第三题问“能单独和 finally 语句一起使用的块是”答案try。思路finally必须跟try配对catch可以省略throw、throws是抛异常的关键字不构成块结构。这题考的是 try-catch-finally 的结构关系记住“finally 只认 try”。第四题问“下列类在多重 catch 中同时出现时哪一个异常类应最后一个列出”选项有ArithmeticException、NumberFormatException、Exception、ArrayIndexOutOfBoundsException答案Exception。思路catch 从上到下匹配子类异常必须写在父类前面否则父类会先截获子类分支永远不执行编译器直接报错。Exception是所有异常的父类放最后。这是异常章节的必考规则。第五题问“为 Test 类的一个无形式参数无返回值的方法 method 书写方法头使得使用类名 Test 作为前缀就可以调用它”答案static void method()。思路能用类名直接调用说明是静态方法必须加static无返回值用void无参数留空括号。三个条件缺一不可。有人只看到“无返回值”就选public void method漏了静态这个关键限定。3. 类与对象、构造方法与成员初始化默认值这块最容易丢分3.1 构造方法与对象创建new A()背后的三件事对象创建题几乎年年出现。问“设 A 为已知定义的类名下列声明 A 类的对象 a 的语句”正确写法是A a new A()。其余选项要么类型不匹配要么语法错误。这道题考的是对象声明的完整结构类型、变量名、new加构造方法调用三部分缺一不可。构造方法本身也是考点。问“为初始化其成员变量每个类都定义的方法是”答案构造方法。这里要理解成员变量有默认值但显式初始化通常放在构造方法里如果没写构造方法编译器会补一个无参默认构造方法一旦自己写了带参构造默认无参构造就不再自动生成。这个“补与不补”的规则是后面很多题的伏笔。答题时遇到构造方法题先问自己三个问题类里有没有显式写构造方法写的是有参还是无参有没有调用super()这三个问题能拆掉大部分陷阱。比如子类构造方法第一行默认调用父类无参构造如果父类只写了带参构造子类编译就报错这是继承章节的经典送命题。3.2 成员默认值与静态上下文t.y为什么是 0有一道程序输出题很典型类里定义int x 1; int y;主方法里int z 2; Demo t new Demo();然后输出t.x t.y z。答案是 3因为t.y没赋值取默认值 01023。这题考的是成员变量的默认初始化规则整型默认 0浮点默认 0.0布尔默认 false引用类型默认 null。局部变量没有默认值必须先赋值再用这是它和成员变量的核心区别。另一道题问“下列关于修饰符混用的说法错误的是”其中“static 方法中能处理非 static 的属性”是错误说法。原因静态方法属于类不依赖对象不能直接访问实例属性因为实例属性要跟着对象走。静态方法里只能用静态成员或者通过对象引用去访问实例成员。这个点在选择题里反复出现换个说法就是“静态方法能不能用 this”——不能因为 this 指向当前对象静态上下文里没有对象。复习时把“静态上下文能访问什么”列成一张小表静态变量可以静态方法可以实例变量不行实例方法不行this和super都不行。考试时对着表判断比凭感觉稳。3.3 真题演练对象与静态成员的组合考法看这道题public class A implements B接口B里定义int k 10;主方法里A a1 new A(); i a1.k;输出i的值。答案是i10。思路接口里的成员变量默认是public static final也就是常量实现类可以直接通过对象或类名访问。有人会以为接口变量需要初始化或者不能访问其实接口常量天生带值。再看一道问“要使某个类能被同一个包中的其他类访问但不能被这个包以外的类访问可以”答案是“让该类不使用任何关键字”也就是默认访问权限。思路Java 四种访问权限从宽到窄是 public、protected、默认、private。默认权限就是包级私有同包可见包外不可见。这题容易错在选 protectedprotected 除了同包还允许子类跨包访问范围比默认大。还有一道修饰符题问“abstract 不能与 final 并列修饰同一个类”这个说法对不对。答案是对这个说法本身正确所以不能选它当“错误说法”。逻辑是abstract 类就是要被继承final 类禁止继承两者矛盾不能同时用。答题时遇到“下列说法错误的是”先逐项判断真假再选那个假的别看到熟悉的句子就下手。4. 继承、接口与异常三条规则线决定选择题上限4.1 继承与访问权限子类到底继承了什么继承题的核心就一句话子类继承父类非私有的成员构造方法不继承。围绕这句话能变出很多题。比如问“子类能继承父类的所有方法和状态”对不对错私有成员不继承问“子类只能继承父类的 public 方法和状态”对不对也错protected 和默认权限在满足条件时同样可继承。正确表述是“非私有方法和状态”。访问权限还和包有关。同一包内默认权限和 protected 都能访问跨包时只有 public 和 protected且通过子类可访问。答题时先看两个类在不在同一个包再看修饰符两步走就不会乱。很多题故意不给包信息那就按最宽松的 public 判断或者看选项里有没有“同一包”这个限定词。继承还牵扯方法重写。子类重写父类方法时访问权限不能比父类更严格返回值类型要兼容异常不能更宽。这些规则在选择题里常以“下列重写正确的是”出现判断顺序是方法名、参数列表必须一致访问权限不能收紧返回类型不能变宽。抓住这三点选项基本能排干净。4.2 接口与抽象类不是一回事别混着答接口题的高频问法是“下列对接口的说法正确的是”。正确选项通常是“实现一个接口必须实现接口的所有方法”但要注意Java 8 之后接口可以有默认方法和静态方法默认方法不强制实现。不过在这份题库的语境里按经典规则答接口方法默认public abstract实现类要么全部实现要么声明为抽象类。常见错误选项有“接口与抽象类是相同的概念”“接口之间不能有继承关系”“一个类只能实现一个接口”。逐条拆接口和抽象类不同抽象类可以有构造方法和实例变量接口的变量默认是常量接口之间可以继承而且可以多继承一个类可以实现多个接口但只能继承一个类。这三条是接口章节的固定考点背下来直接秒选。接口常量也是考点。接口里int k 10;默认是public static final实现类可以直接用。有人问接口变量能不能改不能final 修饰。答题时看到接口里的变量先默认它是常量再判断选项。4.3 异常处理catch 顺序与 finally 的执行逻辑异常题的必考规则是 catch 的排列顺序子类异常在前父类异常在后。题目问“多重 catch 中哪个异常类应最后一个列出”答案Exception。原因前面说过父类会截获所有子类异常放前面会导致后面的子类 catch 不可达编译报错。答题时把选项按继承关系排一下最上层的放最后。finally的执行逻辑也是高频点。finally块无论是否发生异常都会执行除非 JVM 退出。有一类题问“try 块里有 returnfinally 还执行吗”答案是执行而且 finally 里的 return 会覆盖 try 里的 return。这个点容易翻车因为直觉上 return 就结束了实际上 finally 优先。答题时记住finally 在 return 之前执行但 finally 里的 return 会改变最终返回值。还有throw和throws的区别。throw在方法体内抛出一个异常对象throws在方法签名上声明可能抛出的异常类型。选择题常把两者放一起混淆判断标准是看位置方法体内是 throw方法头是 throws。这个区分不难但考试时一急就容易看错读题时把关键字圈出来。5. 易错点五道最容易被“想当然”带偏的题5.1 错点一和equals比反了错在哪把s1 s2当成比较内容答成 true。为什么错比较引用地址两个new String是不同对象地址不同结果是 falseequals被 String 重写为比较内容结果是 true。怎么答对看到 String 比较先分清问的是地址还是内容new出来的对象地址一定不同内容相同则 equals 为 true。这题的正确输出是true false。5.2 错点二静态方法里访问实例属性错在哪认为静态方法可以直接用实例变量。为什么错静态方法不依赖对象实例变量跟着对象走没有对象就没有实例变量。怎么答对静态上下文只能直接访问静态成员要用实例成员必须通过对象引用。题目问“错误的是”看到“static 方法中能处理非 static 属性”直接选它。5.3 错点三catch 顺序写反错在哪把Exception放在子类异常前面。为什么错父类异常会截获所有子类异常后面的子类 catch 永远不执行编译器报“已捕获”错误。怎么答对catch 从上到下按子类到父类排列最通用的Exception放最后。答题时把选项按继承层级排一遍再选。5.4 错点四接口变量当成普通变量错在哪以为接口里的int k 10;可以修改或者实现类不能直接访问。为什么错接口变量默认public static final是常量不能改实现类可以通过类名或对象访问。怎么答对看到接口里的变量先标“常量”再判断访问方式输出题直接取值即可。5.5 错点五类型转换丢精度判断反了错在哪问“以下会产生信息丢失的类型转换”把int a (int)8846.0漏选。为什么错double 转 int 会截断小数部分属于窄化转换可能丢信息float a 10是宽化不丢byte a 10; int b -a也是宽化。怎么答对判断方向从大范围到小范围是窄化可能丢精度从小范围到大范围是宽化安全。强制转换符(int)出现的地方优先怀疑丢精度。6. 答题节奏与押题思路把选择题当规则判断题来做这场考试的选择题有个明显特征大部分题考的是“规则记没记准”而不是“会不会写代码”。所以答题节奏应该是先判断题干问的是哪条规则再回忆规则原文最后对选项。不要一上来就逐项试试容易把自己绕进去。比如问“哪个不是关键字”直接回忆关键字表比逐个分析选项快得多。押题方向上优先级从高到低排第一梯队是访问权限、静态上下文、继承规则、异常 catch 顺序、接口常量这五类几乎必出第二梯队是构造方法与默认值、类型转换、与equals、编译运行命令第三梯队是布局管理器、常用类库所在包这类记忆题比如Scanner在java.utilpanel默认布局是FlowLayout。第三梯队分值不高但容易忘考前扫一遍即可。答题时给自己定两条硬规则。第一条遇到“下列说法错误的是”先逐项标真/假再选假的不要凭印象直接选。第二条遇到程序输出题把变量默认值、循环边界、静态/实例上下文三个检查点过一遍再动笔算。这两条能挡掉大部分非知识性失分。下面这段伪代码把选择题的检查流程固定下来考场上可以照着走# 选择题检查流程伪代码用于梳理答题顺序 def solve_choice(question): rule identify_rule(question) # 第一步判断考哪条规则 if rule access_modifier: return check_package_and_modifier(question) # 先看包再看修饰符 if rule static_context: return only_static_members(question) # 静态上下文只认静态成员 if rule exception_order: return subclass_before_parent(question) # 子类异常在前 if rule default_value: return member_defaults(question) # 成员有默认值局部没有 return eliminate_by_rule(question) # 其余按规则逐项排除这段流程的关键在第一步“判断考哪条规则”。规则判断对了后面只是套用判断错了算得再细也白搭。参数上identify_rule靠题干关键词触发比如看到“静态”“类名调用”就归到静态上下文看到“catch”“最后一个”就归到异常顺序。失败时回看题干有没有漏掉“同一包”“无返回值”这类限定词限定词往往就是规则入口。我自己的血泪经验是每次做错选择题错的不是知识本身而是读题时漏了一个限定词比如“非私有”“同一包”“最后一个”。从那以后我每次刷题都强制走一遍“圈限定词、判规则、再选答案”的流程正确率才稳下来。这份题库的价值也在这里——题目密度够陷阱类型全刷一遍能把该踩的坑提前踩完。希望帮到你。本文还有配套的精品资源点击获取
企业数字化 ERP 产品动态
相关推荐
LLM生成工业级嵌入式控制软件的本体驱动方法 1. 项目概述:当大语言模型真正开始“写控制软件”而不是“聊控制软件”ICRA 2026上这个标题一出来,我第一时间在实验室白板上画了个三层结构图:最底下是真实产线上的AGV小车、机械臂、无人叉车组成的物理集群;中间层是传统运筹优化… · 2026/11/2 22:30:54
用户反馈体系搭建指南:从收集到闭环的实操方法 做产品的人都有一个共同的痛:用户嘴上说的、手上做的、心里想的,往往是三件完全不同的事。尤其像 Cherry Studio 这类面向多场景的桌面客户端工具,用户群体横跨技术爱好者、内容创作者、日常办公人群,反馈渠道又散落在社群、邮件、… · 2026/11/2 22:29:53
工具类产品用户反馈体系:从触点设计到迭代决策的闭环实践 1. 用户反馈体系的整体设计与思路拆解做工具类产品的人都有一个共同的痛:用户嘴上说的、手上做的、心里想的,往往是三件完全不同的事。Cherry Studio 这类面向知识工作者的桌面客户端产品,用户群体偏专业、偏重度,反馈渠道天然分散… · 2026/11/2 22:29:53
PLFM雷达原理与10.5GHz相控阵开源实现 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 23:23:29
24GHz FMCW雷达室内人员检测:从波形参数到CFAR信号处理全流程 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 23:23:29
可编程线性调频雷达信号仿真框架PLFM_RADAR设计与实现 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 23:23:29
基于MAX14431与PIC32的工业SPI隔离通信方案详解 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 23:23:29
SPI隔离实战:STM32与MAX14431解决工业地环路干扰的完整指南 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 23:22:29
PLFM雷达开源项目:10.5GHz锁相频率调制相控阵硬件全栈解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 23:22:29
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18
雷达信号调制技术解析:从LFM到伪线性调频原理与应用 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 1:01:15
基于MAX14431与TM4C123的工业SPI隔离电路设计全攻略 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 1:01:15
PLFM_RADAR:相位线性调频雷达信号处理框架 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 1:01:15
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 13:10:28
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 4:42:45
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/2 5:17:18