第一个 Java 程序
💡🤖 AI 时代,还要学 Java 吗?学到什么程度?
Java 的基础语法可交给 AI 辅助生成,不必专门花时间死记;但 JVM 的内存与垃圾回收、类型系统与大型项目的分层设计仍需你理解,否则调性能、排障、定架构时无从下手。建议学到「能读懂 AI 产物、理解类型边界与运行模型」这一层。
Java 是一门编译型 + 虚拟机语言:源代码被 javac 编译为字节码,由 JVM 执行。
1. Hello, World!
public class Main {
public static void main(String[] args) {
System.out.println("Hello, 世界!");
System.out.println("Java " + System.getProperty("java.version"));
}
}⚠️本 Playground 约束
本平台要求示例中类名必须为 Main,且必须声明为 public class Main。运行时会编译 Main.java 并执行 java Main。
2. 关键名词
- JDK:Java Development Kit(编译、调试、运行工具集)
- JRE:Java Runtime Environment(运行字节码)
- JVM:Java Virtual Machine(执行字节码的虚拟机)
- 字节码:
.class文件,JVM 的指令集
javac Main.java # 编译 -> Main.class
java Main # 运行3. main 方法签名
public static void main(String[] args)public:JVM 调用,必须 publicstatic:无需创建实例void:无返回值args:命令行参数
public class Main {
public static void main(String[] args) {
System.out.println("参数个数:" + args.length);
for (int i = 0; i < args.length; i++) {
System.out.println(" [" + i + "] " + args[i]);
}
}
}4. 输出方法
| 方法 | 用途 |
|---|---|
System.out.print(s) | 不换行 |
System.out.println(s) | 换行 |
System.out.printf(fmt, args) | 格式化 |
public class Main {
public static void main(String[] args) {
String name = "Alice";
int age = 30;
System.out.printf("姓名:%s,年龄:%d%n", name, age);
System.out.printf("π = %.4f%n", Math.PI);
System.out.printf("布尔:%b%n", true);
}
}💡%n vs \n
Java 跨平台换行用 %n(Formatter)或 System.lineSeparator(),比 \n 更安全(Windows 下也是正确的换行符)。
5. 注释
// 单行注释
/*
多行
注释
*/
/**
* 文档注释(Javadoc)
* @author sinvy
*/🎯 练习
// 任务:使用 printf 输出自我介绍
// 期望效果:
// 姓名:XXX
// 年龄:XX
// 城市:XXX
public class Main {
public static void main(String[] args) {
String name = "小明";
int age = 25;
String city = "上海";
// 补全输出
}
}小结
- ✅ Java 编译运行:
javac Main.java→java Main - ✅ 入口方法
public static void main(String[] args) - ✅
System.out.print/println/printf输出 - ✅ 注释:
////* *///** */ - ✅
%n跨平台换行
下一章 变量与类型。