当前位置: 首页 > news >正文

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 对照表

PythonJava
python 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.xmlbuild.gradle

1.1 安装 JDK

推荐JDK 17(长期支持版,企业主流)。

# 验证安装java-versionjavac-version

Python 对比: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+"!";}}

关键差异说明

  1. 文件名 = 公共类名HelloWorld.java里必须有public class HelloWorld
  2. package:类似 Python 的包路径,对应目录结构
  3. 入口方法固定public static void main(String[] args)
  4. 分号结尾:每条语句以;结束
  5. 字符串拼接:没有 f-string(Java 15+ 有 Text Blocks,常用+String.format

1.4 包与模块

Python:

myproject/ ├── myapp/ │ ├── __init__.py │ └── utils.py └── main.py

Java(Maven 标准布局):

myproject/ ├── pom.xml └── src/ └── main/ └── java/ └── com/ └── example/ ├── Main.java └── utils/ └── StringUtils.java
PythonJava
from myapp.utils import fooimport com.example.utils.StringUtils;
import osimport java.util.List;
相对导入一般用全限定名或import

1.5 编译与运行

命令行方式:

javac-dout src/main/java/com/example/HelloWorld.javajava-cpout com.example.HelloWorld

Maven 方式(推荐):

mvn compile mvn exec:java-Dexec.mainClass="com.example.HelloWorld"

Maven 类似 Python 的pip+ 项目脚手架 + 构建脚本合体,第 11 章详讲。

1.6 JShell:Java 的 REPL

类似 Python 交互式解释器:

jshell
jshell> int x = 1 + 2; jshell> System.out.println(x); 3

适合快速验证语法,正式开发仍用 IDE + Maven 项目。


本章小结

  • Java 是编译型语言,需要 JDK;项目有固定的目录与包结构
  • 入口是main方法,不是if __name__ == "__main__"
  • 尽早习惯 Maven 项目布局,这是企业标准

练习题

  1. 创建com.example.Calculator,在main中打印add(3, 5)的结果。
  2. 在同一包下创建Greeter类,main调用Greeter.sayHi("Java")
  3. 用命令行javac+java运行上述程序(不用 IDE 运行按钮)。
  4. 说明:为什么 Java 源文件名必须与public class名一致?

参考答案见 appendix-answers.md。

http://www.cnnetsun.cn/news/2796091.html

相关文章:

  • LinkSwift网盘直链下载助手:3分钟实现高速下载自由的终极指南
  • 医疗废水处理的进步你看到了吗?
  • IDM激活脚本实战指南:30天试用期无限续期的实用解决方案
  • 2026年智能门锁质量选购指南:国内TOP3品牌实测对比与行业趋势解析
  • 流式输出:让 Agent 的回答边生成边显示,前端到底怎么接
  • LangGraph多智能体系统实战:监督者架构旅行规划全链路
  • 采集的数据可以自动上传到企业网盘吗?全景技术路径解析与2026选型指南
  • QT自定义控件之热换站远程监控系统
  • 从零到一:手把手教你用PyTorch Geometric实现GraphSAGE(附完整代码)
  • 基于清洁架构的Unitree Go2机器人ROS2 SDK:解决实时多模态数据同步与分布式控制的技术实践
  • macOS光标定制终极指南:Mousecape深度解析与实战教程
  • 商务科技:数字化转型如何重塑企业竞争力
  • STM8S开发实战:STVD自动生成HEX与BIN文件全攻略
  • 论文解读--BEV-radar:: bidirectional radar-camera fusion for 3D object detection
  • N皇后问题的遗传算法Python实战:从原理到可调试工程实现
  • Windows系统字体个性化指南:使用No!! MeiryoUI恢复字体自定义功能
  • 终极指南:如何用DeTikZify 3分钟生成专业LaTeX图表
  • 架构设计师-BLP、Biba与Chinese Wall原理与应用
  • 天若OCR本地版:你的Windows电脑离线文字识别最佳解决方案
  • 从1500W LED旧闻探秘大功率半导体照明技术真相
  • [特殊字符] Token 焦虑退散!阿里 Qwen3.6 免费不限量薅羊毛,小贤哥亲测教程奉上
  • 企业如何搭建AI能源管理系统?
  • WPF里用Direct3D快速显示YUV视频帧的完整实现方案
  • 新手如何用快马平台开启vibe coding:零基础打造激励式任务打卡器
  • 终极指南:使用Mod Engine 2轻松为《艾尔登法环》等魂系游戏创建模组
  • OpenAI 推出 ChatGPT 记忆功能重大升级,准确率提升至 82.8%
  • 2024年中国冰川面状矢量数据集(CGCS2000坐标系,含完整Shapefile组件与属性字段)
  • 终极GNOME Shell扩展管理工具:一站式轻松定制你的Linux桌面
  • 卓威鼠标驱动怎么下载 3种方法详细教程
  • 【2025】超详细Maya安装保姆级教程,永久免费使用,3D动画制作软件配置和使用指南,看完这一篇就够了