Java 的命令行界面(CLI)开发通常指两种方式:
下面我按常见场景一步一步讲。
javac Hello.java
生成:
Hello.class
java Hello
⚠️ 注意:
.classpublic static void main(String[] args)public class Hello {
public static void main(String[] args) {
for (int i = 0; i < args.length; i++) {
System.out.println("参数 " + i + ": " + args.length);
}
}
}
java Hello 张三 18 true
输出示例:
参数 0: 3
参数 1: 3
参数 2: 3
✅ args 就是一个字符串数组
import java.util.Scanner;
public class InputDemo {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.print("请输入用户名:");
String name = sc.nextLine();
System.out.println("你好," + name);
}
}
运行效果:
请输入用户名:Tom
你好,Tom
java App -u admin -p 123456public class App {
public static void main(String[] args) {
String user = "";
String pwd = "";
for (int i = 0; i < args.length; i++) {
if ("-u".equals(args[i]) && i + 1 < args.length) {
user = args[i + 1];
}
if ("-p".equals(args[i]) && i + 1 < args.length) {
pwd = args[i + 1];
}
}
System.out.println("用户名:" + user);
System.out.println("密码:" + pwd);
}
}
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.5.0</version>
</dependency>
import org.apache.commons.cli.*;
public class CliDemo {
public static void main(String[] args) throws Exception {
Options options = new Options();
options.addOption("h", "help", false, "显示帮助");
options.addOption("n", "name", true, "你的名字");
CommandLineParser parser = new DefaultParser();
CommandLine cmd = parser.parse(options, args);
if (cmd.hasOption("h")) {
new HelpFormatter().printHelp("java CliDemo", options);
return;
}
if (cmd.hasOption("n")) {
System.out.println("你好," + cmd.getOptionValue("n"));
}
}
}
运行:
java CliDemo -n Tom
java CliDemo -h
| 功能 | 命令 |
|---|---|
| 编译 | javac 文件名.java |
| 运行 | java 类名 |
| 带参数运行 | java 类名 arg1 arg2 |
| 指定编码 | javac -encoding UTF-8 Hello.java |
| 查看 Java 版本 | java -version |
✅ 入门 / 练习 → args + Scanner
✅ 工具程序 / 运维脚本 → args
✅ 正式 CLI 工具 → Apache Commons CLI 或 picocli
如果你愿意,可以告诉我:
我可以直接给你一个完整可用示例。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。