Java 菜鸟教程

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java 异常处理

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

Java 命令行参数

在本教程中,我们将借助示例学习Java命令行参数。

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

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

示例:命令行参数

class Main {
  public static void main(String[] args) {
    System.out.println("命令行参数是");

    //遍历所有参数
    for(String str: args) {
      System.out.println(str);
    }
  }
}

让我们尝试使用命令行运行该程序。

1.编译代码

javac Main.java

2.运行代码

java Main

现在假设我们要在运行程序时传递一些参数,我们可以在类名之后传递参数。例如,

java Main apple ball cat

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

命令行参数是
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) {
      //转换为整数类型
    int argument = Integer.parseInt(str);
    System.out.println("整型参数: " + argument);
    }

  }
}

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

//编译代码
javac Main.java

//运行代码
java Main 11 23

这里11和23是命令行参数。现在,我们将获得以下输出。

Arguments in integer form
11
23

在上面的示例中,请注意以下行

int argument = Intege.parseInt(str);

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

同样,我们可以使用parseDouble()和parseFloat()方法将字符串分别转换为double和float。

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