如何在 Java 中查找运行时提供的参数数量?


在 Java 中,一种在运行时传递参数的方法是使用命令行或终端。在检索这些命令行参数的值时,我们可能需要查找用户在运行时提供的参数数量,这可以通过 length 属性实现。本文旨在通过示例程序解释传递参数并获取用户提供参数数量的过程。

获取用户在运行时提供的参数数量

在查找命令行参数的数量之前,我们的第一步是创建一个程序,允许用户在运行时传递参数。

String[] args

在编写 Java 程序时,我们经常会遇到 main() 方法。当 JVM 调用此方法时,Java 应用程序的执行就开始了。它与名为 String[] args 的参数一起使用,该参数接受字符串类型参数。它允许我们通过终端传递参数,并将这些参数存储在字符串数组中。我们可以说 String[] args 是一个命令行参数。

示例 1

以下示例将说明如何从终端将参数传递到 Java 程序。

public class Arg {
   public static void main(String []args){
      // for each loop to print argument taken from terminal
      for(String arg : args) { 
          System.out.println(arg);
      }
   }
}

输出

要从终端编译代码,请键入命令:javac Arg.java
要从终端运行代码,请键入命令:java Arg “Your String”

PS D:\Java Programs> java Arg "Hello, You are on Tutorials Point"
Hello, You are on Tutorials Point

到目前为止,我们了解了如何在运行时从用户获取参数。现在,我们的下一步将是查找传递的参数数量。

如前所述,要查找用户在运行时传递的参数数量,我们可以使用 String[] args 的 length 属性。

示例 2

此示例说明了使用 length 属性获取参数数量。

public class Arg {
   public static void main(String []args) {
      // for each loop to print argument taken from terminal
      System.out.println("List of arguments passed by user: ");
      for(String arg : args) {  
	     System.out.print(arg);
      }
      System.out.println();
      // to print the length of argument
      System.out.println("Number of arguments passed by user: " + args.length);
   }
}

输出

PS D:\Java Programs> java Arg "Hello! how are you"
List of arguments passed by user: 
Hello! how are you
Number of arguments passed by user: 1

如果我们将参数括在双引号内,则它将被视为一个单独的参数。因此,我们得到的结果为 1。

示例 3

在以下示例中,我们将提供不带双引号的输入。

public class Arg {
   public static void main(String []args) {
      // for each loop to print argument taken from terminal
      System.out.println("List of arguments passed by user: ");
      for(String arg : args) {  
	     System.out.println(arg);
      }
      // to print the length of argument
      System.out.println("Number of arguments passed by user: " + args.length);
   }
}

输出

PS D:\Java Programs> java Arg Hello! how are you
List of arguments passed by user: 
Hello!
how
are
you

当我们不使用双引号时,参数将被单独处理。

示例 4

以下示例演示了如何在检索通过终端传递的所有参数时使用 length 属性。

public class Arg {
   public static void main(String []args) {
      // for loop to print argument taken from terminal
      System.out.println("List of arguments passed by user: ");
      for (int i = 0; i < args.length; i++) {
         System.out.println("Argument " + (i + 1) + ": " + args[i]);
      }
   }
}

输出

PS D:\Java Programs> java Arg Hello! how are you
List of arguments passed by user: 
Argument 1: Hello!
Argument 2: how
Argument 3: are
Argument 4: you 

结论

在本文中,我们学习了如何使用 String[] args 的 length 属性在 Java 中查找运行时提供的参数数量。我们还了解了 String[] args 的用法,它允许用户从终端将参数传递到 main() 方法。

更新于: 2023-07-19

624 次浏览

启动你的 职业生涯

通过完成课程获得认证

开始学习
广告