第一个 Java 程序(Hello World)
"Hello World" 是学习任何编程语言的第一个程序。它虽然简单,但包含了 Java 程序的基本要素。通过这个程序,你将学会如何编写、编译和运行 Java 程序。
Hello World 示例代码
最简单的版本
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
代码解释
让我们逐行分析这段代码:
// 第 1 行:定义一个公共类,类名为 HelloWorld
public class HelloWorld {
// 第 2 行:定义主方法,这是程序的入口点
public static void main(String[] args) {
// 第 3 行:输出 "Hello, World!" 到控制台
System.out.println("Hello, World!");
}
}
关键点:
public class HelloWorld:类名必须与文件名相同(HelloWorld.java)public static void main(String[] args):程序入口,JVM 从这里开始执行System.out.println():输出语句,打印内容并换行
println 与输出基础
System.out.println()
作用:输出内容到控制台,并在末尾换行
System.out.println("Hello, World!");
// 输出:Hello, World!
// (自动换行)
其他输出方法
System.out.print()
作用:输出内容但不换行
System.out.print("Hello");
System.out.print("World");
// 输出:HelloWorld(不换行)
System.out.printf()
作用:格式化输出(类似 C 语言的 printf)
String name = "Java";
int version = 17;
System.out.printf("语言:%s,版本:%d%n", name, version);
// 输出:语言:Java,版本:17
// 常用格式说明符:
// %s:字符串
// %d:整数
// %f:浮点数
// %n:换行
输出示例
public class OutputExample {
public static void main(String[] args) {
// println:换行输出
System.out.println("第一行");
System.out.println("第二行");
// print:不换行
System.out.print("Hello");
System.out.print(" ");
System.out.print("World");
System.out.println(); // 手动换行
// printf:格式化输出
int age = 20;
String name = "张三";
System.out.printf("姓名:%s,年龄:%d 岁%n", name, age);
// 输出多个值
System.out.println("姓名:" + name + ",年龄:" + age + " 岁");
}
}
输出结果:
第一行
第二行
Hello World
姓名:张三,年龄:20 岁
姓名:张三,年龄:20 岁
main 方法详解
main 方法的完整签名
public static void main(String[] args)
各部分说明
public
- 含义:公共访问修饰符
- 作用:允许 JVM 从类外部调用这个方法
- 必须性:必须,否则 JVM 无法访问
static
- 含义:静态方法
- 作用:属于类而不是实例,可以直接通过类名调用
- 必须性:必须,因为程序启动时还没有创建对象
// 为什么需要 static?
// 因为 JVM 调用 main 方法时,还没有创建任何对象
// 所以 main 方法必须是静态的,可以直接通过类名调用
HelloWorld.main(args); // 不需要创建 HelloWorld 对象
void
- 含义:无返回值
- 作用:main 方法不需要返回值
- 必须性:必须,JVM 不期望 main 方法返回值
main
- 含义:方法名
- 作用:JVM 查找的固定方法名
- 必须性:必须,这是约定
String[] args
- 含义:字符串数组参数
- 作用:接收命令行参数
- 必须性:必须,即使不使用参数
main 方法的使用
不使用参数
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
// args 参数未使用,但必须声明
}
}
使用命令行参数
public class ArgsExample {
public static void main(String[] args) {
// 检查是否有参数
if (args.length == 0) {
System.out.println("没有提供参数");
} else {
System.out.println("参数个数:" + args.length);
for (int i = 0; i < args.length; i++) {
System.out.println("参数 " + i + ": " + args[i]);
}
}
}
}
运行:
java ArgsExample hello world java
# 输出:
# 参数个数:3
# 参数 0: hello
# 参数 1: world
# 参数 2: java
编译与运行示例
步骤 1:创建源文件
创建文件 HelloWorld.java:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
重要:文件名必须与类名完全相同(包括大小写)
步骤 2:编译
打开终端/命令行,进入文件所在目录:
# 编译
javac HelloWorld.java
# 如果成功,会生成 HelloWorld.class 文件
编译结果:
- 成功:生成
.class文件,无输出 - 失败:显示错误信息
步骤 3:运行
# 运行(注意:不需要 .class 扩展名)
java HelloWorld
# 输出:Hello, World!
完整示例
示例 1:基础 Hello World
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
编译和运行:
javac HelloWorld.java
java HelloWorld
# 输出:Hello, World!
示例 2:带参数的 Hello World
public class Hello {
public static void main(String[] args) {
if (args.length > 0) {
System.out.println("Hello, " + args[0] + "!");
} else {
System.out.println("Hello, World!");
}
}
}
运行:
javac Hello.java
java Hello
# 输出:Hello, World!
java Hello Java
# 输出:Hello, Java!
示例 3:多行输出
public class MultiLine {
public static void main(String[] args) {
System.out.println("欢迎学习 Java!");
System.out.println("这是你的第一个程序");
System.out.println("继续加油!");
}
}
输出:
欢迎学习 Java!
这是你的第一个程序
继续加油!