原文: https://www.programiz.com/java-programming/command-line-arguments
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 这里apple,ball和cat是通过命令行传递给程序的参数。 现在,我们将获得以下输出。
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 此处11和23是命令行参数。 现在,我们将获得以下输出。
Arguments in integer form
11
23 在上面的示例中,请注意以下行
int argument = Intege.parseInt(str); 在此,Integer类的parseInt()方法将字符串参数转换为整数。
同样,我们可以使用parseDouble()和parseFloat()方法将字符串分别转换为double和float。
注意:如果无法将参数转换为指定的数值,则会发生名为NumberFormatException的异常。