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