CodeGym
促销
学习
课程
任务
调查 & 测验
游戏
帮助
日程
社区
Users
论坛
聊天
文章
成功故事
动态
评价
订阅
浅色主题

课时

  • 评论
  • 关于我们
开始
开始学习
立即开始学习
  • 我的进度
  • 课程
  • 任务地图
  • 课程
  • 创建自定义异常

    JAVA 25 SELF
    等级 24,课时 1
    在本讲中,我们将讨论在 Java 中何时以及为何创建自定义异常:如何在 Exception 与 RuntimeException 之间进行选择,如何设计带有参数 String message 和 Throwable cause 的构造函数,如何添加有用的字段并在代码中正确使用它们。我们还会讨论命名、职责边界、通过 throws 进行文档化以及常见错误。另外——为什么有时抛出异常比返回 false 更好。
    可用
  • 异常链(Exception Chaining)

    JAVA 25 SELF
    等级 24,课时 2
    Java 中异常链(exception chaining)的分步指南:如何正确“包装”异常并传递原因( cause),从而不丢失调用栈。我们将讲解带有参数 Throwable 的构造函数、 getCause() 和 printStackTrace() 的使用,展示包含 UserManagementException 的示例,并讨论常见错误——从在没有原因的情况下抛出新异常到“吞掉”错误。
    可用
  • 复杂的异常处理与最佳实践

    JAVA 25 SELF
    等级 24,课时 3
    Java 中的高级异常处理:多个 catch 块、 multi-catch 语法及其使用规则、从具体到通用的捕获顺序,以及最佳实践——从拒绝“吞掉”错误,到抛出尽可能具体的异常,再到避免把异常当作流程控制机制。全程配有示例、常见错误解析和风格提示。
    可用
  • 异常作为 API 的一部分与 try-with-resources

    JAVA 25 SELF
    等级 24,课时 4
    在本讲中,我们将讨论为何异常是 Java 中方法契约的一部分,如何通过带有 @throws 标记的 Javadoc 来记录它们,何时选择 checked 与 unchecked 异常,并学习如何使用 try-with-resources 构造安全地处理资源。我们还会讨论 AutoCloseable 接口的作用,给出实践示例以及常见错误。
    可用
  • Git 入门:为什么需要版本控制

    JAVA 25 SELF
    等级 25,课时 0
    在本讲中,你将了解什么是 Git 以及它为何对现代开发者至关重要;你会在 GitHub 上创建你的第一个仓库,并学会在 IDE 中配置工作环境,从而更高效地使用版本控制。
    可用
  • 开发者的日常循环:Commit、Push 和 .gitignore

    JAVA 25 SELF
    等级 25,课时 1
    本讲将掌握基础工作流:学会保存更改(commit)、将其推送到 GitHub(push),以及使用 .gitignore 配置忽略不需要的文件。
    可用
  • 安全实验:分支操作

    JAVA 25 SELF
    等级 25,课时 2
    在本课中,您将学习为新任务创建独立分支、在分支之间切换、合并更改,最重要的是——借助 IDE 的强大工具,自信地解决合并冲突。
    可用
  • Pull Request 的魔法

    JAVA 25 SELF
    等级 25,课时 3
    在本讲中,你将了解什么是 Pull Request(PR),为什么它是团队开发的核心工具,并学习如何直接在你的 IDE 中创建和查看 PR。
    可用
  • 专业工具与问题解决

    JAVA 25 SELF
    等级 25,课时 4
    在本讲中,你将学习如何撤销更改、删除错误提交、临时隐藏你的工作,以及利用项目历史查找信息——这一切都可以通过 IDE 提供的工具完成。
    可用
  • Java 集合概览——为什么需要集合

    JAVA 25 SELF
    等级 26,课时 0
    这堂课是对 Java 集合的快速、直观的概览。我们会讨论为什么固定长度的数组不够用、集合如何提供帮助,以及如何在 List、 Set 和 Map 之间做选择。我们将展示使用 ArrayList 和 HashMap 的实际示例,对比数组与集合(操作 add()、 remove()、 contains(),以及通过 Collections.sort() 排序),最后梳理常见错误:未指定泛型的原始类型(raw types)、导入(import)问题、混淆 length 与 size()、对顺序的错误期待,以及在集合中使用基本类型。
    可用
  • List:ArrayList 与 LinkedList,基础操作

    JAVA 25 SELF
    等级 26,课时 1
    这节课是对接口 List 及其常用实现 ArrayList 和 LinkedList 的实践式入门。我们将讲解如何创建列表、调用基础方法( add、 get、 set、 remove、 size、 clear)、遍历与查找元素。还会比较各类操作的性能,并讨论何时选择不同实现。最后总结常见错误及其避免方式( IndexOutOfBoundsException、 ConcurrentModificationException、正确实现 equals 与泛型的使用)。
    可用
  • Map:HashMap 和 TreeMap,键与值

    JAVA 25 SELF
    等级 26,课时 2
    在本讲中我们讲解 Java 中的映射:接口 Map、关键操作( put、 get、 remove、 containsKey)、 HashMap(快速访问)与 TreeMap(按键排序)的区别,通过 keySet()、 values() 和 entrySet() 遍历元素,以及常见错误:在 HashMap 中期待固定顺序、在 TreeMap 中使用 null 键、以及 ConcurrentModificationException 问题。大量代码示例与实践场景将帮助你自信地在项目中使用 Map。
    可用
  • 1
  • ...
  • 11
  • 12
  • 13
  • 14
  • 15
  • ...
  • 30
Learn
  • 注册
  • Java 课程
  • 任务帮助
  • 定价
  • Java 语法
社区
  • 用户
  • 文章
  • 论坛
  • 聊天
  • 成功故事
  • 动态
  • 联盟计划
Company
  • 关于我们
  • 联系方式
  • 评价
  • 媒体中心
  • CodeGym for EDU
  • 常见问题
  • 支持
CodeGymCodeGym 是一个从零开始学习 Java 编程的在线课程。该课程是初学者掌握 Java 的完美方式。它包含 1200+ 个带即时验证的任务,以及必要的 Java 基础理论。为了帮助你在学习中取得成功,我们实现了一系列激励功能:测验、编码项目、关于高效学习的内容,以及 Java 开发者职业相关内容。
关注我们
界面语言
English Deutsch Español हिन्दी Français Português Polski বাংলা
简体中文
मराठी தமிழ் Italiano Bahasa Indonesia 繁體中文 Nederlands 日本語 한국어 Bulgarian Danish Hungarian Basa Jawa Malay Norwegian Romanian Swedish Telugu Thai Українська Filipino Turkish Azərbaycan Русский Vietnamese
“程序员是培养出来的,不是天生的” © 2026 CodeGym
MastercardVisa
“程序员是培养出来的,不是天生的” © 2026 CodeGym