Python转Java系列:环境搭建与项目结构
文章目录第 1 章环境搭建与项目结构Python 对照表1.1 安装 JDK1.2 IDEIntelliJ IDEA1.3 第一个 Java 程序关键差异说明1.4 包与模块1.5 编译与运行1.6 JShellJava 的 REPL本章小结练习题第 1 章环境搭建与项目结构Python 对照表PythonJavapython script.pyjava Main需先javac编译pip install requestsMavenpom.xml声明依赖venv/virtualenvJDK 版本 IDE 项目 SDK单文件即可运行包结构src/main/java/com/example/if __name__ __main__public static void main(String[] args)requirements.txtpom.xml或build.gradle1.1 安装 JDK推荐JDK 17长期支持版企业主流。# 验证安装java-versionjavac-versionPython 对比JDK 相当于 Python 解释器 标准库 编译器javac的组合。⚠️常见坑只装了 JRE 没有 JDK无法编译。需安装完整 JDK。1.2 IDEIntelliJ IDEA功能PyCharm 对应项目向导New Project → Java运行绿色三角 /ShiftF10重构ShiftF6重命名自动导入AltEnterCommunity 版免费对学 Java 足够。1.3 第一个 Java 程序Python# hello.pydefgreet(name:str)-str:returnfHello,{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){returnHello, name!;}}关键差异说明文件名 公共类名HelloWorld.java里必须有public class HelloWorldpackage类似 Python 的包路径对应目录结构入口方法固定public static void main(String[] args)分号结尾每条语句以;结束字符串拼接没有 f-stringJava 15 有 Text Blocks常用或String.format1.4 包与模块Pythonmyproject/ ├── myapp/ │ ├── __init__.py │ └── utils.py └── main.pyJavaMaven 标准布局myproject/ ├── pom.xml └── src/ └── main/ └── java/ └── com/ └── example/ ├── Main.java └── utils/ └── StringUtils.javaPythonJavafrom myapp.utils import fooimport com.example.utils.StringUtils;import osimport java.util.List;相对导入一般用全限定名或import1.5 编译与运行命令行方式javac-dout src/main/java/com/example/HelloWorld.javajava-cpout com.example.HelloWorldMaven 方式推荐mvn compile mvn exec:java-Dexec.mainClasscom.example.HelloWorldMaven 类似 Python 的pip 项目脚手架 构建脚本合体第 11 章详讲。1.6 JShellJava 的 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)。用命令行javacjava运行上述程序不用 IDE 运行按钮。说明为什么 Java 源文件名必须与public class名一致参考答案见 appendix-answers.md。