Python转Java系列:环境搭建与项目结构
文章目录
- 第 1 章:环境搭建与项目结构
- Python 对照表
- 1.1 安装 JDK
- 1.2 IDE:IntelliJ IDEA
- 1.3 第一个 Java 程序
- 关键差异说明
- 1.4 包与模块
- 1.5 编译与运行
- 1.6 JShell:Java 的 REPL
- 本章小结
- 练习题
第 1 章:环境搭建与项目结构
Python 对照表
| Python | Java |
|---|---|
python script.py | java Main(需先javac编译) |
pip install requests | Mavenpom.xml声明依赖 |
venv/virtualenv | JDK 版本 + IDE 项目 SDK |
| 单文件即可运行 | 包结构src/main/java/com/example/ |
if __name__ == "__main__" | public static void main(String[] args) |
requirements.txt | pom.xml或build.gradle |
1.1 安装 JDK
推荐JDK 17(长期支持版,企业主流)。
# 验证安装java-versionjavac-versionPython 对比:JDK 相当于 Python 解释器 + 标准库 + 编译器(javac)的组合。
⚠️常见坑:只装了 JRE 没有 JDK,无法编译。需安装完整 JDK。
1.2 IDE:IntelliJ IDEA
| 功能 | PyCharm 对应 |
|---|---|
| 项目向导 | New Project → Java |
| 运行 | 绿色三角 /Shift+F10 |
| 重构 | Shift+F6重命名 |
| 自动导入 | Alt+Enter |
Community 版免费,对学 Java 足够。
1.3 第一个 Java 程序
Python:
# hello.pydefgreet(name:str)->str:returnf"Hello,{name}!"if__name__=="__main__":print(greet("World"))Java:
// src/main/java/com/example/HelloWorld.javapackagecom.example;publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println(greet("World"));}staticStringgreet(Stringname){return"Hello, "+name+"!";}}关键差异说明
- 文件名 = 公共类名:
HelloWorld.java里必须有public class HelloWorld - package:类似 Python 的包路径,对应目录结构
- 入口方法固定:
public static void main(String[] args) - 分号结尾:每条语句以
;结束 - 字符串拼接:没有 f-string(Java 15+ 有 Text Blocks,常用
+或String.format)
1.4 包与模块
Python:
myproject/ ├── myapp/ │ ├── __init__.py │ └── utils.py └── main.pyJava(Maven 标准布局):
myproject/ ├── pom.xml └── src/ └── main/ └── java/ └── com/ └── example/ ├── Main.java └── utils/ └── StringUtils.java| Python | Java |
|---|---|
from myapp.utils import foo | import com.example.utils.StringUtils; |
import os | import java.util.List; |
| 相对导入 | 一般用全限定名或import |
1.5 编译与运行
命令行方式:
javac-dout src/main/java/com/example/HelloWorld.javajava-cpout com.example.HelloWorldMaven 方式(推荐):
mvn compile mvn exec:java-Dexec.mainClass="com.example.HelloWorld"Maven 类似 Python 的pip+ 项目脚手架 + 构建脚本合体,第 11 章详讲。
1.6 JShell:Java 的 REPL
类似 Python 交互式解释器:
jshelljshell> int x = 1 + 2; jshell> System.out.println(x); 3适合快速验证语法,正式开发仍用 IDE + Maven 项目。
本章小结
- Java 是编译型语言,需要 JDK;项目有固定的目录与包结构
- 入口是
main方法,不是if __name__ == "__main__" - 尽早习惯 Maven 项目布局,这是企业标准
练习题
- 创建
com.example.Calculator,在main中打印add(3, 5)的结果。 - 在同一包下创建
Greeter类,main调用Greeter.sayHi("Java")。 - 用命令行
javac+java运行上述程序(不用 IDE 运行按钮)。 - 说明:为什么 Java 源文件名必须与
public class名一致?
参考答案见 appendix-answers.md。
