持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第10天,点击查看活动详情
如何检查你的代码是否没有错误、在所有情况下都可以工作,并处理所有的边缘情况?
最直接的方法是对照所有可能的测试用例范围来检查它,在这种情况下,通过这些测试用例可能非常耗时,我们需要一些方法可以轻松完成这项工作,并且可以更大程度上自动化的输入。Java 中的命令行参数就是一种解决方案,可以使我们的测试和调试过程更容易。
在本文中,我们将简要讨论什么是命令行参数,它们是如何传递的,以及它们是如何工作的;但我们主要关注如何修改 Java 命令行参数。
// here args will hold the command line arguments
public static void main(String[] args) {
System.out.println("Hello World!");
// remaining code will go here
}
什么是命令行参数?
Java 命令行参数使程序员能够在程序执行期间传递参数。程序员可以直接从控制台传递这些参数,这些参数将被main()方法访问并用作输入。main()我们还可以通过将值直接传递的方法来绕过命令行参数。
命令行参数如何工作?
执行时提供的命令行参数被打包并提供给args[]. Args[]本质上是一个字符串数组,其中包含提供给它的所有命令行参数。每个参数都将存储在一个索引中,从args[0]一直到args[n].
你如何传递命令行参数?
命令行参数通过命令提示符或终端传递。通过它传递的所有参数都将在args[]JVM 内部转换并包装到数组中。
现在让我们看看如何在示例的帮助下传递命令行参数。假设我们有一个包含一些 Java 代码的文件。以下步骤将演示如何在 Java 中传递命令行参数:
-
.java使用扩展名(例如)保存 Java 程序Arguments.java。 -
打开终端/命令提示符进入程序本地存储的目录。
-
编译Java程序以将
.java文件转换为.class文件- 命令:(
javac filename.javaHere,javac Arguments.java)
- 命令:(
-
运行程序并在文件名用空格分隔后传递参数。
- 命令:(
java filename argument1 argument2 …. argumentN此处为 Java 参数Welcome to this blog and Happy Learning)
- 命令:(
如何访问命令行参数?
如上例所述,现在让我们尝试访问所有在 Java 中传递的命令行参数。我们该怎么做呢?
由于这些参数存储在args[] 数组中,这意味着我们可以使用 轻松访问它们args[i],在这里我指定了一个可以从0到n(传递的参数总数)变化的索引。
下面的代码是为示例:
Java
class Arguments {
public static void main( String[] args ) {
System.out.println(" Hello World! ");
// args.length is used to get length of args array
System.out.println(" Total number of args: " + args.length);
// iterating over the args array to print the args if available
for (int i = 0; i < args.length; i++) {
System.out.println(" Arg " + i + ": " + args[i]);
}
}
}
Output
Java
Hello World!
Total number of args: 7
Arg 0: Welcome
Arg 1: to
Arg 2: this
Arg 3: blog
Arg 4: and
Arg 5: Happy
Arg 6: Learning
如何修改命令行参数?
同样,我们可以利用args[i]在第 i 个索引处获取值,然后使用赋值运算符 ( =),我们可以在第 i 个索引处修改命令行参数。
下面的代码片段将修改一些通过 Java 命令行传递的参数。## 如何修改命令行参数?
同样,我们可以利用args[i]在第 i 个索引处获取值,然后使用赋值运算符 ( =),我们可以在第 i 个索引处修改命令行参数。
下面的代码将修改一些通过 Java 命令行传递的参数。
Java
args[1] = " Modified Command Line Argument 1 ";
args[3] = " Modified Command Line Argument 2 ";
args[5] = " Modified Command Line Argument 3 ";
Updated Output
Java
Hello World!
Total number of args: 7
Arg 0: Welcome
Arg 1: Modified Command Line Argument 1
Arg 2: this
Arg 3: Modified Command Line Argument 2
Arg 4: and
Arg 5: Modified Command Line Argument 3
Arg 6: Learning
总结
- Java 命令行参数是一种通过命令提示符向程序提供输入的方式。
- 命令行参数在执行运行命令时传递,参数紧跟在文件名之后传递,用空格分隔。
args[]命令行参数最终由主函数中的字符串数组 ( ) 接收。- 我们可以使用和赋值运算符访问或修改命令行参数
args[i],就像我们在普通编程语言中所做的那样。