Java开发环境搭建与HelloWorld程序入门指南
1. Java开发环境搭建全指南对于刚接触Java编程的新手来说环境搭建往往是第一个需要跨越的门槛。很多初学者在这个阶段就会遇到各种问题JDK安装失败、环境变量配置错误、命令行无法识别javac命令等等。本文将手把手带你完成从零开始的Java开发环境搭建包括JDK安装、环境变量配置、CMD基本操作直到编写并运行第一个Java程序的全过程。提示本文基于Windows系统环境使用JDK 17作为演示版本但方法同样适用于其他主流JDK版本。1.1 JDK下载与安装Java开发工具包(JDK)是Java开发的核心组件包含了编译器、运行时环境以及各种工具。目前Oracle JDK和OpenJDK是最常用的两个版本对于初学者来说选择哪个版本差异不大。下载步骤访问Oracle官网或OpenJDK镜像站点选择适合你操作系统的JDK版本下载推荐LTS版本如JDK 11或17运行下载的安装程序按照向导完成安装安装过程中有几个关键点需要注意记住JDK的安装路径默认通常是C:\Program Files\Java\jdk-版本号不要修改安装程序自动设置的JRE安装选项如果系统提示需要管理员权限请授权1.2 环境变量配置详解环境变量配置是Java开发环境搭建中最容易出错的环节。正确配置后你才能在任意目录下使用javac和java命令。配置步骤右键此电脑 → 属性 → 高级系统设置 → 环境变量在系统变量中新建变量名JAVA_HOME变量值为JDK安装路径如C:\Program Files\Java\jdk-17编辑系统变量Path添加两条新路径%JAVA_HOME%\bin%JAVA_HOME%\jre\bin注意Windows 10/11中Path变量的编辑界面有所变化需要点击新建按钮分别添加这两条路径而不是像旧版本那样用分号分隔。验证配置是否成功打开CMDWinR输入cmd回车输入java -version和javac -version如果能看到版本信息说明配置正确1.3 CMD基础操作指南作为Java开发者掌握基本的命令行操作是必备技能。以下是几个最常用的CMD命令cd 路径切换目录dir列出当前目录内容mkdir 目录名创建新目录del 文件名删除文件cls清屏对于Java开发特别有用的技巧在文件资源管理器地址栏直接输入cmd可以快速在当前目录打开命令行使用Tab键自动补全文件名和路径上箭头可以快速调用之前执行过的命令2. 第一个Java程序的编写与运行2.1 选择合适的文本编辑器虽然专业的IDE如IntelliJ IDEA、Eclipse功能强大但对于初学者来说使用简单的文本编辑器编写第一个Java程序反而更有助于理解编译和运行的过程。推荐选择Notepad轻量级支持语法高亮VS Code功能更丰富支持扩展系统自带的记事本最基础的选择2.2 编写HelloWorld程序创建一个新文件命名为HelloWorld.java输入以下代码public class HelloWorld { public static void main(String[] args) { System.out.println(Hello, World!); } }代码解析public class HelloWorld定义了一个公共类类名必须与文件名一致包括大小写public static void main(String[] args)是程序入口点System.out.println()用于向控制台输出文本2.3 编译与运行程序打开CMD切换到保存HelloWorld.java的目录使用cd命令导航例如cd C:\Users\YourName\Documents\Java编译Java源文件javac HelloWorld.java成功编译后会生成HelloWorld.class字节码文件运行程序java HelloWorld注意运行时不需要加.class扩展名2.4 常见问题排查问题1javac不是内部或外部命令检查JAVA_HOME和Path环境变量是否配置正确确保Path中包含%JAVA_HOME%\bin配置修改后需要重新打开CMD窗口问题2类名与文件名不匹配Java要求public类的类名必须与文件名完全一致包括大小写解决方法要么修改类名要么修改文件名问题3编码问题导致编译错误如果源代码包含中文等非ASCII字符可能遇到编码问题解决方法使用javac -encoding UTF-8 HelloWorld.java指定编码3. Java开发环境进阶配置3.1 多版本JDK管理随着学习深入你可能需要同时安装多个JDK版本。以下是管理多版本的方法安装不同版本的JDK到不同目录通过修改JAVA_HOME变量来切换当前使用的版本或者使用专门的工具如JEnv或SDKMAN跨平台Windows下快速切换JDK版本的批处理脚本示例echo off setx JAVA_HOME C:\Program Files\Java\jdk-17 /M echo JDK switched to 173.2 配置开发目录结构良好的目录结构能提高开发效率。建议的初学者目录结构JavaProjects/ ├── src/ # 源代码 ├── bin/ # 编译后的类文件 └── lib/ # 第三方库编译时可以使用-d参数指定输出目录javac -d bin src/HelloWorld.java运行时要指定类路径java -cp bin HelloWorld3.3 使用批处理文件简化操作对于重复性的编译运行操作可以创建批处理文件.bat来自动化run.bat示例echo off javac -d bin src/%1.java java -cp bin %1 pause使用方法将Java文件放在src目录下然后运行run HelloWorld不带.java扩展名4. 从命令行到IDE的平滑过渡4.1 理解IDE背后的机制虽然IDE自动处理了很多细节但了解其背后的原理很重要项目结构组织自动编译过程类路径管理依赖管理4.2 推荐的IDE选择IntelliJ IDEA功能强大社区版免费Eclipse老牌Java IDE插件丰富VS Code轻量级配合Java扩展使用4.3 从命令行项目迁移到IDE将现有的命令行项目导入IDE的通用步骤在IDE中创建新项目选择从现有源创建指定源代码目录配置输出目录与命令行项目中的bin目录对应设置依赖项如果有4.4 保持命令行技能即使使用IDE命令行技能仍然重要自动化构建服务器部署问题排查理解构建过程建议定期在命令行中手动编译运行项目保持对底层机制的理解。5. Java学习路线建议完成环境搭建和第一个程序后可以按照以下路线继续学习Java基础语法变量与数据类型运算符控制流程数组面向对象编程类与对象继承与多态接口与抽象类封装核心API字符串处理集合框架输入输出异常处理进阶主题多线程网络编程数据库连接新特性如Lambda表达式开发工具构建工具Maven/Gradle版本控制Git单元测试JUnit调试技巧对于每个学习阶段都建议动手实践每一个概念尝试修改示例代码观察变化遇到问题时先自己思考解决方案参与开源项目或编码挑战记住Java学习是一个循序渐进的过程环境搭建只是第一步。保持耐心和持续的练习你会逐渐掌握这门强大的编程语言。

相关新闻

XInputTest:如何用5分钟精准测量你的游戏手柄性能

XInputTest:如何用5分钟精准测量你的游戏手柄性能

XInputTest:如何用5分钟精准测量你的游戏手柄性能 【免费下载链接】XInputTest Xbox 360 Controller (XInput) Polling Rate Checker 项目地址: https://gitcode.com/gh_mirrors/xin/XInputTest 你是否在激烈的游戏对抗中总感觉按键响应慢半拍?明…

2026/8/4 19:26:46 阅读更多 →
C++通用工具库cpp-utilities:告别重复造轮子,提升开发效率

C++通用工具库cpp-utilities:告别重复造轮子,提升开发效率

1. 项目概述:为什么你需要关注cpp-utilities?如果你是一个C开发者,无论是刚入门的新手还是摸爬滚打多年的老手,肯定都经历过这样的时刻:项目里需要一个简单的字符串分割函数,或者一个便捷的日志宏&#xff…

2026/8/4 19:25:45 阅读更多 →
Java ArrayList核心特性与性能优化实战

Java ArrayList核心特性与性能优化实战

1. ArrayList基础与核心特性解析 ArrayList作为Java集合框架中最常用的动态数组实现,其底层通过Object[]数组实现动态扩容机制。与普通数组相比,ArrayList的容量会随着元素添加自动增长(默认初始容量为10),这使其成为处…

2026/8/4 19:25:45 阅读更多 →

最新新闻

如何让Windows任务栏变成你的私人股票行情看板?

如何让Windows任务栏变成你的私人股票行情看板?

如何让Windows任务栏变成你的私人股票行情看板? 【免费下载链接】TrafficMonitorPlugins 用于TrafficMonitor的插件 项目地址: https://gitcode.com/gh_mirrors/tr/TrafficMonitorPlugins 还在为频繁切换窗口查看股票行情而烦恼吗?TrafficMonitor…

2026/8/4 20:13:03 阅读更多 →
【Bug已解决】Error generating example: ‘weight‘ must be 2-D in model.generate() 解决方案

【Bug已解决】Error generating example: ‘weight‘ must be 2-D in model.generate() 解决方案

【Bug已解决】Error generating example: weight must be 2-D in model.generate() 解决方案 一、现象长什么样 用 model.generate(...) 做文本生成时,模型加载、forward 都正常,一进生成就炸: RuntimeError: weight must be 2-D或…

2026/8/4 20:13:03 阅读更多 →
SASS和LESS

SASS和LESS

SASScss 的预编译语言,用来书写 css 的工具 有两种文件都是用来书写 sass 内容的1. .sass 后缀的文件2. .scss 后缀的文件 以上两种方式, 在语法和编译上没有区别 唯一的区别是, {} 和 分号(;)> .sass 文件不允许出现 {} 和 ;> .scss 文件必须要写 {} 和 ;sass 需要编译后…

2026/8/4 20:13:03 阅读更多 →
限时公开!我压箱底的AI学习工具组合拳(含自动代码纠错+论文精读+面试模拟闭环链路)

限时公开!我压箱底的AI学习工具组合拳(含自动代码纠错+论文精读+面试模拟闭环链路)

更多请点击: https://kaifayun.com 第一章:限时公开!我压箱底的AI学习工具组合拳(含自动代码纠错论文精读面试模拟闭环链路) 这套组合拳不是简单堆砌工具,而是围绕“输入—理解—输出—反馈”构建的闭环学…

2026/8/4 20:12:03 阅读更多 →
时间序列预测实战(十八)利用Prophet实现长期预测(附代码+数据集+详细讲解)

时间序列预测实战(十八)利用Prophet实现长期预测(附代码+数据集+详细讲解)

一、本文介绍 Prophet是一个用于时间序列预测的经单模型。这个工具特别适合于具有强季节性影响和多个历史数据季节的业务时间序列数据。Prophet的主要思想是将数据分解为如下三个部分:趋势、季节性、节假日和特殊事件。这个模型非常适合于处理具有强烈季节性和趋势…

2026/8/4 20:12:03 阅读更多 →
【ICLR 2023】时间序列预测实战Crossformer(附代码+数据集+详细讲解)

【ICLR 2023】时间序列预测实战Crossformer(附代码+数据集+详细讲解)

论文地址:官方论文地址 代码地址:官方代码地址 一、本文介绍 本篇文章给大家带来的实战讲解是Crossformer模型,其是一个针对多变量时间序列预测的新型深度学习模型,发表ICLR 2023上并且排名前5%,所以这个模型的质量还…

2026/8/4 20:12:03 阅读更多 →

日新闻

AI Agent白手起家26: 使用标准事件驱动大模型实践

AI Agent白手起家26: 使用标准事件驱动大模型实践

纲要 练习目标:掌握大模型标准事件的调用回顾 LangChain 中的核心标准事件 invokestreambatchastream_eventswith_structured_output 环境准备实战代码:多种事件调用对比 同步调用与流式输出批量处理异步事件流监听结构化输出 运行说明与预期结果总结与扩…

2026/8/4 0:00:40 阅读更多 →
dealsea是什么?跨境卖家必知的美国deal站入门指南

dealsea是什么?跨境卖家必知的美国deal站入门指南

说实话,第一次听说美国这个老牌折扣网站的跨境卖家,十个有八个会问同一个问题:这个平台到底是干嘛的?我见过一个做家居出口的朋友,他在亚马逊上月销二十万美金,却从来没用过它。我给他看了首页——一屏一屏…

2026/8/4 0:01:40 阅读更多 →
清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

清华大学重磅EST:植物自导电闪蒸焦耳热600°C/2600°C两步法!稀土超积累植物秒级转化为CeO₂-石墨烯电催化剂!

通讯作者:邓兵、刘建国通讯单位:清华大学DOI:https://doi.org/10.1021/acs.est.6c00603研究背景稀土元素(REEs)是清洁能源技术与电子器件不可或缺的核心原料,然而传统提取方式依赖能耗高、排放大的采矿与强…

2026/8/4 0:01:40 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/4 13:24:41 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/4 11:41:39 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/4 5:26:40 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/4 13:38:24 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/4 11:09:16 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/4 13:38:40 阅读更多 →