Java 和 C/C++ 是两种不同的取舍:它用**虚拟机 + 垃圾回收**换来了内存安全,用**强类型 + 明确的语言规范**换来了跨平台和工程可维护性。代价是类型大小固定、没有指针、性能调度权交给 JVM。
如果你已经学过 C 或 C++,学 Java 的捷径是抓住差异点:类型大小固定、引用不是指针、对象一定在堆上、字符串不可变、数组带长度检查、异常是强制的。这条线按这个思路组织:程序怎么跑起来 → 类型与字符串 → 流程与数组 → 类与对象 → 继承与接口 → 集合框架 → 异常与文件 → Stream 与实战。
💡 本线代码用 JDK 21 实测(含 record、switch 表达式、Stream 等现代用法)。命令示例里的
javac、java 请确保来自同一套 JDK。🗂️ 章节导航(8 章 · 16 道练习)
第 1 章 第一个 Java 程序与运行环境JDK / JRE / JVM 的关系、javac 与 java 两条命令、类名与文件名的规则2 道练习 · 点开阅读 →第 2 章 类型、变量与字符串基本类型大小固定、包装类与装箱、String 为什么不可变2 道练习 · 点开阅读 →第 3 章 流程控制与数组for / for-each / switch 表达式,以及带边界检查的数组2 道练习 · 点开阅读 →第 4 章 类与对象字段、构造器、this、封装,以及 static 与实例成员的区别2 道练习 · 点开阅读 →第 5 章 继承、抽象类与接口extends / implements、@Override 与运行时多态:同一段代码处理不同对象2 道练习 · 点开阅读 →第 6 章 集合框架List / Map / Set 的选择、泛型与遍历时删除元素2 道练习 · 点开阅读 →第 7 章 异常与文件读写受检异常为什么强制你处理,以及 try-with-resources 怎么自动关文件2 道练习 · 点开阅读 →第 8 章 Lambda、Stream 与综合实战用 Stream 把“过滤/映射/排序/统计”写成一条链,并完成词频 Top-N2 道练习 · 点开阅读 →
🛠️ 环境准备
- 装 JDK 17 或 21(推荐 Adoptium Temurin、Oracle JDK、或系统包管理器)。
- 验证:`javac -version` 与 `java -version` 都能输出且版本一致。
- 编译运行:`javac -encoding UTF-8 Main.java` 然后 `java Main`。
- 写代码建议用 VS Code + Extension Pack for Java,或 IntelliJ IDEA。
📚 本文概念都在知识大全:
JVM 与字节码 · JDK · String 与 StringBuilder · 集合框架 · 泛型 · 受检异常 · 继承与接口 · record · Stream API
➡️ 回到总目录:编程语言分享(C / C++ / Java / Python)