Java 命令行参数

Java 中的命令行参数允许我们在程序执行时传递参数。

顾名思义,参数是通过命令行传递的。


示例:命令行参数

class Main {
  public static void main(String[] args) {
    System.out.println("Command-Line arguments are");

    // loop through all arguments
    for(String str: args) {
      System.out.println(str);
    }
  }
}

让我们尝试通过命令行运行此程序。

1. 编译代码

javac Main.java

2. 运行代码

java Main

现在,如果我们想在运行程序时传递一些参数,可以在类名后传递参数。例如:

java Main apple ball cat

这里 appleballcat 是通过命令行传递给程序的参数。现在,我们将得到以下输出。

Command-Line arguments are
Apple
Ball
Cat

在上面的程序中,main() 方法包含一个名为 args 的字符串 数组 作为其参数。

public static void main(String[] args) {...}

String 数组存储了通过命令行传递的所有参数。

注意:参数始终存储为 字符串,并且始终用空格分隔。


传递数字命令行参数

每个 Java 程序的 main() 方法只接受字符串参数。因此,无法通过命令行传递数字参数。

但是,我们之后可以转换字符串参数为数字值。

示例:数字命令行参数

class Main {
  public static void main(String[] args) {

    for(String str: args) {
      // convert into integer type
    int argument = Integer.parseInt(str);
    System.out.println("Argument in integer form: " + argument);
    }

  }
}

让我们尝试通过命令行运行该程序。

// compile the code
javac Main.java

// run the code
java Main 11 23

这里 1123 是命令行参数。现在,我们将得到以下输出。

Arguments in integer form
11
23

在上面的示例中,请注意这一行

int argument = Intege.parseInt(str);

在这里,Integer 类的 parseInt() 方法将字符串参数转换为整数。

类似地,我们可以使用 parseDouble()parseFloat() 方法将字符串分别转换为 doublefloat

注意:如果参数无法转换为指定的数字值,则会发生名为 NumberFormatException 的异常。

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战