解释 Java 命令行参数。
在程序执行期间提供的 Java 命令行参数在 main() 方法中以字符串数组的形式捕获。Java 虚拟机 (JVM) 将这些输入封装到 args[] 数组中,可通过 args.length 访问。
此数组方便地保存字符串、整数和其他基元,方便用户输入的检索和操作。每个参数在数组中的位置对应于其输入顺序,从 args[0] 开始。此机制通过控制台输入实现 Java 程序的动态参数化,增强了多功能性和交互性。
示例 1
给定的代码定义了一个名为 TLP 的 Java 类,其中包含一个 main 方法。args 数组包含命令行参数,此方法尝试打印索引 1 处的对象。在本例中,数组的长度为 0,因为代码是在没有任何可访问的命令行参数的情况下执行的。代码第5行结果输出"ArrayIndexOutOfBoundsException"错误。它表示索引 1 超出了长度为 0 的数组的限制。
算法
步骤 1:使用命令行参数运行程序。
步骤 2:在程序执行过程中遇到"线程异常"错误。
步骤 3:错误类型:java.lang.ArrayIndexOutOfBoundsException。
步骤 4:错误详细信息:"索引 1 超出长度 0 的范围"(未提供参数)。
步骤 5:错误位置:TLP.main(Main.java:5)(代码第 5 行)。
步骤 6:要修复此问题,请在运行此代码时提供至少两个命令行参数。
示例
public class TLP { public static void main(String[] args) { System.out.println(args[1]); } }
输出
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 0 at TLP.main(Main.java:5)
示例 2
提供的 Java 代码使用 main 方法定义 TLP 类。它检查命令行参数的数量(存储在 args 数组中)是否大于 2。如果是,它使用循环打印每个参数。由于此实例中没有给出任何参数,因此代码打印"未找到命令行参数"。作为输出。
算法
步骤 1:使用 args.length > 2 验证 args 数组的长度是否大于 2。
步骤 2:由于条件不满足(未提供参数),因此执行 else 块。
步骤 3:借助 System.out.println() 打印消息"未找到命令行参数。"。
步骤 4:在不从命令行传递参数的情况下执行代码。
步骤 5:程序查看是否有超过 2 个参数(在本例中为 false)。
步骤 6:由于未提供参数,因此打印消息"未找到命令行参数。"。
步骤 7:程序执行完成。
示例
public class TLP { public static void main(String[] args) { if (args.length > 2) { System.out.println("The command line" + " arguments are:"); for (String val : args) System.out.println(val); } else System.out.println("No command line " + "arguments found."); } }
输出
No command line arguments found.
注意:请按照以下步骤获取命令行参数并使用命令提示符编译和运行 Java 代码。
首先,保存代码"Example.java"。
打开命令提示符并使用命令"javac example.java"编译代码。
编译成功后,输入"java Example"并输入任何所需参数来运行程序。
最后,按 Enter 查看输出。
结论
可以使用 Java 命令行参数动态参数化 Java 程序。用户可以通过向 main() 方法提供参数来在运行时控制程序的行为。您可以使用它来管理程序的输出、设置设置参数和指定输入文件。
Java 程序可以通过多种方式接收命令行参数。而且它们使用起来也很简单。运行代码时,可以在程序的配置文件中设置,也可以在命令行中提供。