Skip to content

Latest commit

 

History

History
119 lines (80 loc) · 2.53 KB

File metadata and controls

119 lines (80 loc) · 2.53 KB

Java 命令行参数

原文: https://www.programiz.com/java-programming/command-line-arguments

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