第 1 章 · Java 入门与环境搭建
本章目标:理解 Java 编译型、跨平台特点;在 Windows / macOS 上安装 JDK 17 或 21 并配置 JAVA_HOME;掌握 Maven 基础与 IntelliJ IDEA 社区版 创建项目;能编写、编译、运行 Hello World;能用对照表说明 Java 与 python-dev 在运行模型、包管理、入口文件上的差异;在虚构练习目录 learn-java 中完成 toolkit-demo 入门工程。
学时建议:3~4 小时(含 1 小时跟练与排错)
前置:具备基础电脑操作能力;若已学 python-dev ch01,可对照安装与运行流程加速理解。
1.1 场景说明:为什么需要 learn-java?
你在 python-dev 中用 python-learn 目录完成了 Python 环境与 hello.py。团队新项目代号 toolkit-demo(通用工具库练习)要求使用 Java 17+ 开发,以便后续衔接 spring-boot-web 模块。本章在独立目录 learn-java 中搭建环境,不与 Python 练习目录混用。
| 维度 | python-dev(python-learn) | java-dev(learn-java) |
|---|---|---|
| 运行模型 | 解释型,.py 直接运行 | 编译型,.java → .class → JVM |
| 版本管理 | python --version | java -version、javac -version |
| 包管理 | pip + venv | Maven / Gradle(本课程用 Maven) |
| 入口 | python main.py | main 方法 + java 命令 |
| 练习项目 | hello.py、shop-demo 脚本 | toolkit-demo、HelloWorld |
| IDE 推荐 | VS Code / PyCharm | IDEA Community |
说明:本章所有路径、域名、密钥均为教学虚构,不涉及任何真实公司仓库、内部配置或生产密钥。
学习路径(java-dev)
ch01 入门与环境 → ch02 变量与类型 → ch03 流程控制 → ch04 数组与 String
↑ 你在这里
对照学习:python-dev ch01~ch04
1.2 Java 与 Python 核心对照表
| 对比项 | Python(python-dev) | Java(java-dev) |
|---|---|---|
| 类型系统 | 动态类型 | 静态类型,编译期检查 |
| 缩进 | 语法的一部分 | 用 {} 与 ; |
| 变量声明 | x = 10 | int x = 10; |
| 字符串 | "hello" 单类型 | String 对象,不可变 |
| 列表/数组 | list 动态 | 数组定长 + 集合框架(ch08) |
| 空值 | None | null(引用类型) |
| 模块 | import requests | import java.util.List; + 包名 |
| 运行 | python app.py | javac 编译 + java 运行 |
| 标准库 | 丰富,pip 扩展 | JDK + Maven 中央仓库 |
| Web 后续 | django-web / flask-web | spring-boot-web |
何时选 Java:企业后台、Android、大数据生态、强类型团队协作、Spring 生态。
何时仍选 Python:脚本自动化、数据科学、快速原型、Django/Flask 全栈。
本课程采用 双语言对照:python-dev 学动态语言思维,java-dev 学静态类型与 JVM 工程化——便于你在真实选型时做理性权衡。
1.3 安装 JDK 17 或 21
推荐 JDK 17(LTS) 或 JDK 21(LTS)。勿用已停止公开更新的 8 以下版本做新项目(企业存量另论)。
1.3.1 Windows 逐步操作
| 步骤 | 操作 | 说明 |
|---|---|---|
| 1 | 访问 Adoptium 或 Oracle JDK 下载页 | 选 Windows x64 JDK(非 JRE) |
| 2 | 运行安装程序 | 路径建议英文,如 C:\Java\jdk-21 |
| 3 | 配置环境变量 | 见下节 JAVA_HOME |
| 4 | 新开终端验证 | 旧终端可能未刷新 PATH |
1.3.2 配置 JAVA_HOME(Windows)
| 变量 | 值(示例) |
|---|---|
JAVA_HOME | C:\Java\jdk-21(你的 JDK 根目录,含 bin 的上一级) |
Path 追加 | %JAVA_HOME%\bin |
# 验证(新开 PowerShell)
java -version
javac -version
echo $env:JAVA_HOME
| 命令 | 通过标准 |
|---|---|
java -version | 显示 17 或 21 |
javac -version | 与 java 版本一致 |
echo %JAVA_HOME%(cmd) | 指向 JDK 根目录 |
1.3.3 macOS / Linux(附)
# macOS 可用 brew
brew install openjdk@21
export JAVA_HOME=$(/usr/libexec/java_home -v 21)
export PATH="$JAVA_HOME/bin:$PATH"
java -version
javac -version
1.4 Maven 安装与自检
Maven 管理依赖、标准目录结构与构建生命周期,类比 python-dev ch10 的 pip + requirements.txt。
1.4.1 安装
| 方式 | 说明 |
|---|---|
| 独立安装 | 下载 Maven,配置 MAVEN_HOME 与 Path |
| IDEA 内置 | 创建 Maven 项目时自动下载(推荐新手) |
mvn -version
应显示 Maven 版本与 Java version: 21(或 17)。
1.4.2 Maven 与 pip 对照
| Maven | pip / venv |
|---|---|
pom.xml | requirements.txt |
mvn compile | 无直接等价(Python 不编译) |
mvn test | pytest |
mvn package | 打 jar,类似发布包 |
本地仓库 ~/.m2/repository | venv 的 site-packages |
国内可选镜像(教学用,写入 ~/.m2/settings.xml):
<mirror>
<id>aliyun</id>
<mirrorOf>central</mirrorOf>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
1.5 IntelliJ IDEA 社区版
| 步骤 | 操作 |
|---|---|
| 1 | 下载 IDEA Community(免费) |
| 2 | File → New → Project → Java → 选 JDK 17/21 |
| 3 | 或选 Maven archetype 创建标准项目 |
| 4 | 设置 Project SDK 为已安装的 JDK |
与 VS Code + Python 扩展对比:IDEA 对 Java 的重构、跳转、Maven 集成更成熟,社区版足够本课程全程使用。
1.6 练习目录 learn-java
建议在用户目录下创建独立练习根目录,与 python-learn 并列:
~/learn-java/ # 或 C:\learn-java
├── ch01/
│ └── HelloWorld.java
├── toolkit-demo/ # 第 1 章 Maven 练习项目
│ ├── pom.xml
│ └── src/main/java/demo/App.java
└── README.md
1.7 Hello World:命令行方式
1.7.1 HelloWorld.java 完整代码
package ch01;
/**
* learn-java 入门示例 — 对照 python-dev hello.py
*/
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, Java!");
if (args.length > 0) {
System.out.println("你好," + args[0]);
}
}
}
要点:
| 概念 | 说明 |
|---|---|
public class HelloWorld | 类名与文件名 HelloWorld.java 一致(public 类) |
public static void main(String[] args) | 程序入口,类比 if __name__ == "__main__" |
System.out.println | 打印并换行,类比 print() |
args | 命令行参数,类比 sys.argv[1:] |