Java 命令行参数
我们可以在运行程序时,通过命令行参数将一些外部数据传递到程序内部。在本教程中,我们将通过示例了解 Java 命令行参数。
我们可以在运行程序时,通过命令行参数将一些外部数据传递到程序内部。在本教程中,我们将通过示例了解 Java 命令行参数。
Java 命令行参数示例
public class Main {
public static void main(String[] args) {
System.out.println("Command-Line arguments are");
// 循环所有参数
for (String str : args) {
System.out.println(str);
}
}
}
让我们尝试使用命令行运行这个程序。
-
编译代码
javac Main.java
如果文件的编码是 UTF-8,在 windows 上编译的时候可能会报错,则需要指定编码编译:
javac -encoding utf8 Main.java
-
运行代码
java Main
现在假设我们想在运行程序时传递一些参数,我们可以在类名之后传递参数。例如,
java Main apple ball cat
这里
apple ball cat
是通过命令行传递给程序的参数。现在,我们将得到以下输出。apple ball cat
在上面的程序中, main()
方法包括一个名为 args
的字符串数组参数。
public static void main(String[] args) {...}
该 String[]
参数存储通过命令行传递的所有参数。
注意:命令行中的多个参数使用空格分隔,参数始终为字符串类型。
传递数值命令行参数
Java 程序的 main()
方法只接受字符串类型的参数。但是,我们可以将内容为数值的字符串参数转换为数值。
示例:数值命令行参数
public 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 12
这里 11
和 12
是命令行参数。我们将得到以下输出:
数字参数: 11
数字参数: 12
注意上面例子中的这一行:
int argument = Intege.parseInt(str);
在这里,使用 Integer
类的 parseInt()
方法将参数从字符串类型转换为整数。
! 注意:如果无法将参数转换为指定的数值,则会抛出 NumberFormatException
异常。