- 一般简称“命令行传参”,了解即可。
- 有时候需要运行一个程序时再传递给它消息。这要靠传递命令行参数给
main()
函数来实现。 - 格式如下:
public class CommandLine {
public static void main(String args[]) {
for(int i = 0; i < args.length; i++) {
System.out.println("arg[" + i + "]:" + args[i]);
}
}
}
- 演示如下:
package acolyte.method;
public class Demo {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
//args.length数组长度
System.out.println("args[" + i + "]:" + args[i]);
}
}
}
- 这串代码之后是通过PowerShell操作的,所以每行命令前会生成
PS
字样,用CMD的话,应该是没有的。这个之前说过,可以理解为增强版CMD,在IDEA中可以直接用。如果在IDEA里找不到,也可以打开类所在文件夹之后进入CMD来进行以下操作。
//先编译
PS D:\Code\IdeaProjects\JavaSE\Basic Grammar\src\acolyte\method> javac Demo.java
//返回到src目录,不然是执行不了的
PS D:\Code\IdeaProjects\JavaSE\Basic Grammar\src\acolyte\method> cd ../
PS D:\Code\IdeaProjects\JavaSE\Basic Grammar\src\acolyte> cd ../
//执行Demo,这里要加上包名,并传递参数"this is acolyte",这会被视为一个数组
PS D:\Code\IdeaProjects\JavaSE\Basic Grammar\src> java acolyte.method.Demo this is acolyte
//返回结果
args[0]:this
args[1]:is
args[2]:acolyte
- 一头雾水,不知道有什么用处……