引言:为什么从Hello World开始?
在编程学习的世界里,有一个历史悠久的传统:学习任何编程语言的第一步,都是编写一个能够输出"Hello World"的程序。这个传统起源于1978年Brian Kernighan和Dennis Ritchie合著的《C程序设计语言》一书。
为什么这么重要?因为Hello World程序虽然简单,但它展示了编程的核心要素:如何创建程序、编写代码、编译运行,以及查看输出结果。掌握这些基础,你就可以开始更复杂的编程学习了。
学习目标:完成本教程后,你将理解Java程序的基本结构,掌握编译和运行Java程序的方法,并能够编写自己的第一个Java程序。
Hello World程序详解
让我们先来看一下最简单的Java程序:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
现在让我们逐行分析这个程序的每一个部分,理解每个关键字和符号的作用:
第一行:类的声明
public - 访问修饰符,表示这个类是公开的,可以被其他任何类访问
class - 关键字,用于声明一个类
HelloWorld - 类名,必须与文件名相同(注意大小写)
重要规则:Java中的类名必须与文件名完全匹配,包括大小写。如果类名是HelloWorld,那么文件名必须是HelloWorld.java,不能是helloworld.java或HelloWorlds.java。
第二行:main方法(程序入口)
public - 表示这个方法可以被任何地方调用
static - 表示这是一个静态方法,不需要创建对象就可以调用
void - 表示这个方法没有返回值
main - 方法名,Java程序执行的入口点
(String[] args) - 参数列表,String[]表示字符串数组,args是参数名
理解main方法:可以把main方法想象成一座大楼的入口。没有入口,你就无法进入大楼。同样,没有main方法,JVM(Java虚拟机)就不知道从哪里开始执行程序。
第三行:输出语句
System - Java标准库中的类,提供系统相关的方法
out - System类的静态成员,表示标准输出流
println() - 打印并换行的方法
"Hello, World!" - 要输出的字符串(用双引号包围)
第四行和第五行:代码块结束
} 用于结束方法体和类体。花括号必须成对出现,Java编译器会检查这一点。
Java程序结构图解
编译和运行Java程序
前置条件:安装JDK
在开始之前,请确保你已经安装了JDK(Java Development Kit)。你可以在命令行中输入以下命令来检查:
java -version
如果显示类似以下的版本信息,说明JDK已安装:
java version "17.0.5" 2026-10-15
Java(TM) SE Runtime Environment (build 17.0.5+9)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.5+9)
步骤一:编写源代码
使用任何文本编辑器(如Notepad、VS Code、IntelliJ IDEA等)创建一个新文件,将上面的Hello World代码复制进去,然后保存为HelloWorld.java文件。
注意事项:
- 文件名必须是HelloWorld.java(与类名完全一致)
- 建议将文件保存在一个专门的文件夹中,方便管理
- 如果使用Windows的记事本,确保保存时选择"所有文件"类型,避免自动添加.txt扩展名
步骤二:编译Java源文件
打开命令行工具(Windows上是cmd或PowerShell,Mac/Linux是Terminal),切换到保存HelloWorld.java文件的目录,然后输入以下命令:
javac HelloWorld.java
命令解释:javac是Java编译器命令,用于将.java源文件编译成.class字节码文件。
如果编译成功,你会在同一目录下看到一个新文件HelloWorld.class。这个文件是Java虚拟机能够理解的字节码格式。
步骤三:运行Java程序
编译成功后,使用以下命令运行程序:
java HelloWorld
你应该会看到输出结果:
Hello, World!
注意:运行命令是java HelloWorld,而不是java HelloWorld.class。我们不需要指定.class扩展名,JVM会自动识别。
Java程序执行流程图
HelloWorld.java
检查语法错误
HelloWorld.class
JVM执行
Hello, World!
常见错误及解决方法
错误一:类名与文件名不匹配
错误信息:
HelloWorld.java:1: error: class Helloworld is public, should be declared in a file named Helloworld.java
public class Helloworld {
^
原因分析:类名是Helloworld(首字母大写),但文件名是HelloWorld.java(首字母也是大写但w不同)或者类名与文件名不一致。
解决方法:
- 确保类名与文件名完全一致,包括大小写
- 如果类名是HelloWorld,文件名必须是HelloWorld.java
错误二:缺少main方法
错误信息:
Error: Main method not found in class HelloWorld, please define the main method as:
public static void main(String[] args)
原因分析:Java程序找不到main方法作为入口点。
解决方法:确保类中包含正确的main方法声明:
public static void main(String[] args)
错误三:大小写错误
错误信息:
HelloWorld.java:3: error: cannot find symbol
system.out.println("Hello, World!");
^
symbol: variable system
location: class HelloWorld
原因分析:Java区分大小写,System必须大写S,不能写成system。
解决方法:仔细检查代码中的大小写,确保所有关键字和类名都使用正确的大小写。
错误四:缺少分号
错误信息:
HelloWorld.java:3: error: ';' expected
System.out.println("Hello, World!")
原因分析:Java要求每条语句以分号结束,忘记写分号会导致编译错误。
解决方法:在每条语句末尾添加分号。
错误五:中文括号或引号
错误信息:
HelloWorld.java:3: error: unclosed string literal
System.out.println("Hello, World!");
^
原因分析:使用了中文全角符号(如中文括号()或中文引号"")而不是英文半角符号。
解决方法:确保使用的是英文半角符号:()、""、{}。
代码规范与最佳实践
1. 类名命名规范
HelloWorld
MyFirstProgram
StudentManagementSystem
helloworld // 全部小写
Hello_World // 使用了下划线
helloworld.java // 文件扩展名
2. 代码缩进规范
良好的缩进使代码更易阅读。标准的做法是使用4个空格(或1个Tab)来缩进代码块:
public class GoodExample {
public static void main(String[] args) {
// 这里有4个空格的缩进
System.out.println("Hello");
}
}
3. 花括号对齐规范
左花括号{跟在语句末尾,右花括号}单独一行并与左花括号对齐:
public class CorrectBraces {
public static void main(String[] args) {
if (true) {
System.out.println("正确");
}
}
}
使用IDE开发
虽然可以使用文本编辑器和命令行来开发Java程序,但使用IDE(集成开发环境)可以大大提高开发效率。IDE提供代码高亮、自动补全、错误提示、调试等功能。
IntelliJ IDEA创建Java项目步骤
打开IntelliJ IDEA,选择"New Project"创建新项目
在左侧选择"Java",然后配置JDK版本(如JDK 17)
输入项目名称(如HelloWorld),选择保存位置,点击"Create"
在src文件夹上右键,选择"New" → "Java Class",输入类名HelloWorld
在编辑器中输入代码,点击左侧的绿色三角形按钮或右键选择"Run"来运行程序
IDE优势:
- 代码自动补全,减少输入错误
- 实时语法检查,及时发现错误
- 一键运行,无需手动编译
- 强大的调试功能
输出语句的多种形式
print vs println vs printf
| 方法 | 说明 | 示例输出 |
|---|---|---|
| print() | 输出后不换行 | HelloWorld(光标在同一行) |
| println() | 输出后换行 | Hello World |
| printf() | 格式化输出(类似C语言) | 格式化的字符串 |
转义字符
转义字符以反斜杠\开头,用于表示特殊字符:
| 转义字符 | 含义 | 示例 |
|---|---|---|
| \n | 换行 | 输出换行 |
| \t | 制表符(Tab) | 输出一个Tab距离 |
| \" | 双引号 | 输出"字符 |
| \' | 单引号 | 输出'字符 |
| \\ | 反斜杠 | 输出\字符 |
小结
- Java程序结构:Java程序由类组成,每个类包含属性和方法,程序入口是main方法
- public class类名:类名必须与文件名一致,且首字母大写
- public static void main(String[] args):程序入口方法,JVM从这里开始执行
- System.out.println():用于向控制台输出信息
- 编译命令:使用
javac HelloWorld.java编译 - 运行命令:使用
java HelloWorld运行(不带.class) - Java特性:区分大小写,每条语句以分号结束,使用英文半角符号
- 推荐工具:使用IDE(如IntelliJ IDEA)可以提高开发效率