跳到主要内容

Java 命令行参数

提示
  1. 命令行参数的使用:Java 允许通过命令行传递参数给程序,这些参数在程序中作为字符串数组存储。
  2. 参数的传递和输出:在命令行中,参数紧跟在类名之后,并在程序中通过遍历 args 数组来输出。
  3. 数值型参数转换:尽管 Java main() 方法仅接受字符串类型参数,我们可以使用如 Integer.parseInt() 方法将其转换为数值型数据。

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

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

命令行参数是
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

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

以整数形式的参数
11
23

在上述示例中,请注意以下代码行

int argument = Integer.parseInt(str);

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

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

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