Java如何运行HelloWorld程序
来到golang学习网的大家,相信都是编程学习爱好者,希望在这里学习文章相关编程知识。下面本篇文章就来带大家聊聊《Java如何运行第一个HelloWorld程序》,介绍一下,希望对大家的知识积累有所帮助,助力实战开发!
编写HelloWorld.java文件,2. 命令行编译生成.class文件,3. 运行程序输出Hello, World!;常见错误包括环境变量未配置、文件名不匹配、目录错误等;JDK含JRE和开发工具,JRE含JVM和类库,JVM执行字节码实现跨平台。

运行安装好的Java程序,特别是你的第一个“Hello, World!”,其实就是走一套编程世界里相当经典的流程:写好代码、编译、然后执行。这就像是踏入Java大门的第一步,有点仪式感,也充满了探索的乐趣。你只需要一个文本编辑器和命令行工具,就能让你的代码活起来。
好,我们来一步步看看如何让那个经典的“Hello, World!”在你的屏幕上闪现。
创建Java源文件: 打开你喜欢的任何文本编辑器,比如记事本、Sublime Text、VS Code都行。然后,把下面这段代码原封不动地敲进去。
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }敲完之后,把这个文件保存到你电脑上一个容易找到的地方,比如
D:\JavaProjects或者C:\Users\YourName\Desktop。文件名必须是HelloWorld.java,注意大小写要和public class HelloWorld完全一致,这是Java的规矩。打开命令行工具: 在Windows上,你可以按
Win + R,输入cmd,然后回车。在macOS或Linux上,打开“终端”(Terminal)应用。导航到文件目录: 在命令行里,你需要切换到你保存
HelloWorld.java文件的那个目录。假设你保存在D:\JavaProjects,那就输入cd D:\JavaProjects然后回车。如果是在macOS/Linux,可能是cd ~/Desktop或者cd /Users/YourName/JavaProjects。编译Java源代码: 现在,我们告诉Java编译器把你的源代码翻译成计算机能懂的“字节码”。在命令行里输入:
javac HelloWorld.java
如果一切顺利,命令行会安静地回到下一行,没有任何输出。这意味着编译成功了。你会发现你的文件目录里多了一个
HelloWorld.class文件。这个.class文件就是Java虚拟机(JVM)能直接运行的东西。如果报错了,别慌,那多半是代码里有错别字,或者你的Java环境变量(PATH)没设好。运行Java程序: 编译成功后,就可以运行了。输入:
java HelloWorld
注意,这里没有
.java也没有.class后缀。回车后,你应该能在命令行里看到Hello, World!这几个字。恭喜你,你的第一个Java程序成功运行了!
这个过程虽然看起来有点繁琐,但它揭示了Java程序从编写到执行的本质。理解了这一步,后续用IDE开发会更顺手。
为什么我的Java程序编译或运行时会报错?
初学者在跑第一个Java程序时,遇到报错简直是家常便饭,我当年也是如此。这倒不是什么坏事,反而能让你更深入地理解Java的运行机制。常见的错误类型通常有这么几种:
“
javac不是内部或外部命令,也不是可运行的程序或批处理文件。” 这个错误基本就是告诉你,你的系统找不到javac这个命令。这通常意味着Java开发工具包(JDK)没有正确安装,或者更常见的是,JDK的bin目录没有被添加到系统的环境变量PATH中。javac是Java编译器,它住在JDK的bin目录里。系统找不到它,自然就无法编译了。解决办法就是检查并配置好PATH变量,确保它指向你的JDK安装路径下的bin文件夹。“错误: 找不到或无法加载主类 HelloWorld” 或 “Error: Could not find or load main class HelloWorld” 这个错误通常发生在
java HelloWorld这一步。原因可能有好几个:- 你没有成功编译:
HelloWorld.class文件不存在。回到上一步,检查javac HelloWorld.java是否成功执行。 - 文件名或类名不匹配: 你的
.java文件名(比如HelloWorld.java)必须和文件里public class后面的类名(比如HelloWorld)完全一致,包括大小写。如果类名是MyProgram,那么文件就得是MyProgram.java,运行的时候就是java MyProgram。 - 你不在正确的目录:
java命令需要在包含HelloWorld.class文件的那个目录下执行。如果你在其他目录执行,它自然找不到。 - 包(Package)问题: 如果你的
HelloWorld.java文件里有package com.example;这样的声明,那么运行方式会稍微复杂一点,你需要从包的根目录开始运行,比如java com.example.HelloWorld。对于初学者,建议先不使用包。
- 你没有成功编译:
编译时出现的语法错误(Syntax Errors): 比如
';' expected(缺少分号),illegal start of expression(表达式非法开始) 等。这些都是代码本身的错误,编译器会很“贴心”地告诉你在哪一行出了问题。你需要仔细检查代码,对照Java语法规则进行修正。哪怕是一个括号、一个分号的遗漏,都可能导致编译失败。
解决这些问题,大部分时候都需要你仔细阅读错误信息,然后根据提示检查你的环境配置、文件名、类名以及代码本身。这个过程本身就是一种学习和成长。
理解Java编译与执行:JVM、JRE和JDK究竟扮演什么角色?
在Java的世界里,JDK、JRE和JVM这三个词经常出现,它们是Java技术栈的核心组成部分,理解它们的关系对于深入学习Java至关重要。我个人觉得,把它们想象成一套工具箱和执行环境,能更好地理解它们。
JDK (Java Development Kit):Java开发工具包 这是Java开发者必备的“全家桶”。如果你想编写Java程序,那么就必须安装JDK。它不仅包含了Java运行时环境(JRE),还额外提供了一系列开发工具,比如我们刚才用到的
javac(Java编译器),还有用于打包的jar工具、用于生成文档的javadoc等。简单来说,JDK就是你写Java代码、编译Java代码、调试Java代码的“瑞士军刀”。没有它,你只能运行别人写好的Java程序,而不能自己创造。JRE (Java Runtime Environment):Java运行时环境 JRE是运行Java应用程序所必需的软件包。它包含了Java虚拟机(JVM)以及Java核心类库(如
java.lang、java.util等)。如果你只是想在电脑上运行Java程序(比如一个Java游戏或者一个Java应用软件),而不需要自己编写或编译Java代码,那么安装JRE就足够了。用户通常只需要JRE。JVM (Java Virtual Machine):Java虚拟机 JVM是Java平台的核心。它是一个抽象的计算机,负责将Java字节码(就是那个
.class文件)解释或编译成特定平台的机器码,然后执行。Java之所以能实现“一次编写,到处运行”(Write Once, Run Anywhere),正是因为有了JVM。你的Java程序编译成字节码后,这个字节码可以在任何安装了兼容JVM的操作系统上运行,而不需要为每个操作系统重新编译。每个操作系统都有自己对应的JVM实现,它们负责屏蔽底层操作系统的差异。
所以,它们的关系可以这样概括:
JDK = JRE + 开发工具(javac 等)JRE = JVM + Java核心类库
当你执行 javac HelloWorld.java 时,你调用的是JDK里的编译器。当你执行 java HelloWorld 时,你调用的是JRE里的JVM来执行那个 .class 文件。它们各司其职,共同构筑了Java强大而灵活的运行机制。
除了命令行,还有哪些更高效的Java开发与运行方式?
虽然通过命令行编译和运行Java程序能让你对底层机制有清晰的认识,但坦白说,在实际开发中,没人会一直用这种方式。那效率太低了,而且容易出错。就像你不会每次都徒手造轮子一样,我们有更强大的工具来提升开发效率。
集成开发环境(IDEs): 这是现代Java开发的主流方式。IDE集成了代码编辑器、编译器、调试器、构建工具等一系列功能,极大地简化了开发流程。最流行的Java IDE有:
- IntelliJ IDEA: 我个人最喜欢用的。它被认为是目前最智能、功能最强大的Java IDE之一,提供出色的代码补全、重构、调试和分析工具。社区版免费,专业版功能更强大。
- Eclipse: 历史悠久,免费开源,社区庞大。虽然界面可能不如IDEA那么现代,但功能同样强大,插件生态丰富。
- NetBeans: 另一个免费开源的IDE,尤其在Swing(Java桌面应用)开发方面有不错的支持。
使用IDE的好处简直太多了:
- 代码高亮和自动补全: 让你写代码更快,减少拼写错误。
- 即时错误检查: 在你还没编译之前,IDE就能指出代码中的语法错误,甚至给出修改建议。
- 强大的调试器: 可以设置断点,单步执行代码,查看变量值,这对于排查复杂问题至关重要。
- 项目管理: 轻松创建、组织和管理复杂的项目结构。
- 集成构建工具: 像Maven或Gradle这样的工具可以直接在IDE中运行,自动化编译、测试、打包等任务。
轻量级编辑器 + 构建工具: 对于一些轻量级项目或者喜欢自定义工作流的开发者,也可以选择像 VS Code 这样的通用代码编辑器,然后安装Java相关的扩展包。配合 Maven 或 Gradle 这样的构建工具,也能实现高效的开发。VS Code的Java扩展提供了类似IDE的功能,比如代码补全、调试等,但整体资源占用更少,启动更快。构建工具则负责自动化编译、依赖管理、测试和打包等复杂任务,让你从繁琐的命令行操作中解放出来。
无论你选择哪种方式,最终目的都是为了更高效、更愉快地编写和维护Java代码。对于初学者,我建议在理解了命令行运行机制后,尽快过渡到使用IDE,那会打开一个全新的世界。
本篇关于《Java如何运行HelloWorld程序》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!
HTML特殊字符显示及实体编码教程
- 上一篇
- HTML特殊字符显示及实体编码教程
- 下一篇
- Win10Hello无法用修复方法大全
-
- 文章 · java教程 | 6小时前 |
- Java栈溢出解决方法及状态分析
- 447浏览 收藏
-
- 文章 · java教程 | 6小时前 |
- Kotlin调用Java方法避免to歧义方法
- 121浏览 收藏
-
- 文章 · java教程 | 6小时前 |
- SpringBatchMaven运行与参数传递教程
- 347浏览 收藏
-
- 文章 · java教程 | 7小时前 |
- 公平锁如何避免线程饥饿问题
- 299浏览 收藏
-
- 文章 · java教程 | 7小时前 |
- Hibernate6.xCUBRID迁移指南
- 226浏览 收藏
-
- 文章 · java教程 | 7小时前 | 代码复用 类型安全 类型参数 extends关键字 Java泛型类
- Java泛型类定义与使用详解
- 480浏览 收藏
-
- 文章 · java教程 | 8小时前 |
- JavaCollectors数据聚合技巧解析
- 161浏览 收藏
-
- 文章 · java教程 | 8小时前 |
- LinkedHashMap删除操作对迭代顺序的影响分析
- 121浏览 收藏
-
- 文章 · java教程 | 8小时前 | java const final immutableobject staticfinal
- final与immutable区别详解
- 201浏览 收藏
-
- 文章 · java教程 | 8小时前 |
- JavaStreamgroupingBy使用教程
- 331浏览 收藏
-
- 文章 · java教程 | 9小时前 |
- JavaXML解析错误处理技巧
- 218浏览 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 485次学习
-
- ChatExcel酷表
- ChatExcel酷表是由北京大学团队打造的Excel聊天机器人,用自然语言操控表格,简化数据处理,告别繁琐操作,提升工作效率!适用于学生、上班族及政府人员。
- 3166次使用
-
- Any绘本
- 探索Any绘本(anypicturebook.com/zh),一款开源免费的AI绘本创作工具,基于Google Gemini与Flux AI模型,让您轻松创作个性化绘本。适用于家庭、教育、创作等多种场景,零门槛,高自由度,技术透明,本地可控。
- 3379次使用
-
- 可赞AI
- 可赞AI,AI驱动的办公可视化智能工具,助您轻松实现文本与可视化元素高效转化。无论是智能文档生成、多格式文本解析,还是一键生成专业图表、脑图、知识卡片,可赞AI都能让信息处理更清晰高效。覆盖数据汇报、会议纪要、内容营销等全场景,大幅提升办公效率,降低专业门槛,是您提升工作效率的得力助手。
- 3408次使用
-
- 星月写作
- 星月写作是国内首款聚焦中文网络小说创作的AI辅助工具,解决网文作者从构思到变现的全流程痛点。AI扫榜、专属模板、全链路适配,助力新人快速上手,资深作者效率倍增。
- 4512次使用
-
- MagicLight
- MagicLight.ai是全球首款叙事驱动型AI动画视频创作平台,专注于解决从故事想法到完整动画的全流程痛点。它通过自研AI模型,保障角色、风格、场景高度一致性,让零动画经验者也能高效产出专业级叙事内容。广泛适用于独立创作者、动画工作室、教育机构及企业营销,助您轻松实现创意落地与商业化。
- 3788次使用
-
- 提升Java功能开发效率的有力工具:微服务架构
- 2023-10-06 501浏览
-
- 掌握Java海康SDK二次开发的必备技巧
- 2023-10-01 501浏览
-
- 如何使用java实现桶排序算法
- 2023-10-03 501浏览
-
- Java开发实战经验:如何优化开发逻辑
- 2023-10-31 501浏览
-
- 如何使用Java中的Math.max()方法比较两个数的大小?
- 2023-11-18 501浏览

