通过 239 个动手编程挑战强化 Java 问题解决能力。这套资源从短小的语法和算术练习,一直延伸到数据结构、面向对象设计、文件、函数式 API、并发、网络和部分应用技术。
它是非线性的练习库,而不是单一引导路径。你可以选择与当前学习主题匹配的任务、反复补强薄弱点,或从小型控制台程序逐步进入更专门的练习,无需按顺序完成所有挑战。
你将学到什么
完成课程中相关挑战后,你将能够:
- 在小型程序中应用输入、运算符、条件、循环、方法、数组、矩阵、字符串和数值类型。
- 解决计算、数字性质、序列、搜索、排序、文本处理和遍历问题。
- 构建并操作
ArrayList、LinkedList、queue、deque、map、set、iterator 和自定义数据结构。 - 使用 class、encapsulation、inheritance、abstraction、interface、overloading、overriding、enum 和 generic 建模行为。
- 在聚焦任务中使用 lambda、method reference、stream、annotation、reflection 和 regular expression。
- 处理 exception,并操作文本文件、对象 serialization、配置数据以及 DOM 或 SAX XML parsing。
- 通过共享状态、synchronization、producer-consumer queue 和经典并发练习协调 thread。
- 通过独立 GUI、UDP networking、servlet、HTTP 与 Spring Boot 情境扩展 core Java 之外的经验。
本课程适合谁
本课程适合已经掌握 Java 基础语法、希望获得大量独立练习的学习者,也适合准备编程训练的学生、复习特定 API 或语言特性的程序员,以及希望超越入门课程的中级学习者。
前置要求: 你应能编写、编译和调试基础 Java 程序,并理解变量、控制流、方法、class 和 array。更专门的挑战需要相应的 collection、file、concurrency、networking、XML、servlet 或 Spring Boot 背景;本集合不会按顺序讲授全部前置知识。
学习环境: 239 个挑战均在课程提供的 Java 编程环境中运行。多数任务涉及编辑、编译和执行源代码,个别任务会使用文件、GUI API、网络、servlet 工具或 Spring Boot,因此具体环境会因挑战而异。
常见问题
这真的是 Beginner 课程吗?
课程整体标为 Beginner,许多任务也确实练习基础,但集合还包含 generic、reflection、concurrency、networking、servlet 和 Spring Boot 等中级或专门主题。如果你从未学过 Java,建议先完成 Java 入门。
必须按顺序完成全部 239 个挑战吗?
不必。课程被配置为非顺序型集合。请把它当作可检索的练习库,根据当前主题和准备程度选择任务。
这些是引导教程还是独立练习?
它们是挑战式编程任务,不是 239 课时的逐步教程。每项任务给出一个需要实现的问题,因此最适合用来应用已经学过的概念。
Spring Boot、servlet、GUI 和网络任务会系统讲授这些主题吗?
不会。它们只是大型集合中的单项扩展挑战。若要系统学习 framework、Web、桌面或网络开发,应先建立 Java 基础,再选择专门课程。




