📜  Java命令行参数

📅  最后修改于: 2020-09-26 14:14:19             🧑  作者: Mango

在本教程中,我们将借助示例学习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的异常。