解释 Java 命令行参数。

java 8object oriented programmingprogramming更新于 2024/11/15 12:20:00

在程序执行期间提供的 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 程序可以通过多种方式接收命令行参数。而且它们使用起来也很简单。运行代码时,可以在程序的配置文件中设置,也可以在命令行中提供。


相关文章