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
的异常。