
理解main方法语法与命令行参数
✅ 1. Java 的 main 方法语法
Java 程序的入口方法必须写成以下格式:
public static void main(String[] args)
| 关键字 | 意义 |
|---|---|
public | 公共访问修饰符。JVM 必须能从类外部调用 main,因此必须是 public。 |
static | 不需要创建对象即可调用。JVM 直接通过类调用 main 方法。 |
void | 无返回值。程序入口不要求返回值给 JVM。 |
main | 固定名称,JVM 识别的程序入口。 |
String[] args | 命令行参数。程序启动时,从控制台传来的字符串数组。 |
✨ 2. 为什么 main 必须是 public static?
📌 (1) 为什么是 public?
Java 程序启动时,JVM 会在类外部调用 类名.main()
如果 main 不是 public,会出现权限不足的问题,JVM 无法访问此方法。
📌 (2) 为什么是 static?
JVM 在没有创建对象的情况下 执行 main 方法。
如果 main 不是 static,我们就必须写:
new MainClass().main(args);
但程序刚开始运行时,JVM 还不知道如何创建你的类对象,因此必须使用 static。
📌 (3) 为什么参数必须是 String[] args?
命令行传递的参数本质是 字符串数组。
例如:
java Main hello 123 test
args 会收到:
args[0] = "hello"
args[1] = "123"
args[2] = "test"
✅ 3. 使用命令行参数的示例
示例代码:
public class Demo {
public static void main(String[] args) {
System.out.println("程序启动!");
System.out.println("命令行参数个数: " + args.length);
for (int i = 0; i < args.length; i++) {
System.out.println("args[" + i + "] = " + args[i]);
}
}
}
🧪 4. 在命令行运行并传参
假设 Java 文件编译为 Demo.class:
编译:
javac Demo.java
运行并输入参数:
java Demo Apple 123 Hello
输出示例:
程序启动!
命令行参数个数: 3
args[0] = Apple
args[1] = 123
args[2] = Hello
🛠 5. 在 IntelliJ IDEA 中设置命令行参数
步骤:
- 右上角点击运行配置(Run → Edit Configurations)
- 选择你的运行配置(Application)
- 找到 Program arguments
- 输入参数,如:
Tom 20 Beijing
- 点击 OK,再运行程序即可。
运行后 args 数组内容为:
args[0] = "Tom"
args[1] = "20"
args[2] = "Beijing"
776

被折叠的 条评论
为什么被折叠?



