Exacly (args.length>0) 是什么意思?



这对你们来说可能很简单,但由于我是java的新手,所以我想知道什么是在接下来的部分中进行?

if (args.length > 0) {
    file = args[0];
}

public class DomTest1 {
    public static void main(String[] args) {
        String file = "test1.xml";
        if (args.length > 0) {
            file = args[0];
        }
    }
}

这些被称为命令行参数,在程序中作为字符串数组获得。这是Oracle教程

Java应用程序可以接受来自命令行的任意数量的参数。这允许用户在启动应用程序时指定配置信息。

用户在调用应用程序时输入命令行参数,并在要运行的类的名称之后指定这些参数。

因此,以下代码:

String file = "test1.xml";
if (args.length > 0) {
   file = args[0];
}

检查String[] args的长度是否大于0,这意味着它检查是否输入了任何命令行参数或数组为空。如果输入了命令行参数,则将file指定为该数组的第一个元素,否则将默认的file指定为test1.xml。你可以运行你的类作为:

java DomTest1  someFileName.someExtension

启动应用程序时,运行时系统通过字符串数组将命令行参数传递给应用程序的主方法。在前面的示例中,在包含单个字符串的数组中,传递给DomTest1应用程序的命令行参数:"someFileName.someExtension"

args是命令行参数的数组

当应用程序启动时,运行时系统通过字符串数组将命令行参数传递给应用程序的主方法

其中args是一个数组,if (args.length > 0)是检查该数组是否为空的条件。

您在这里进行String引用并将值放入其中。您的第一个值是>test1.xml。这是一个文件名,但您要将其放入String作为字符串(它的意思是"test1.xml")。然后从命令行参数中获取值。并通过命令行位置0覆盖字符串引用的值。因此,您的引用值将始终是命令行0的位置值。如果您不传递任何值,则它将为您提供text1.xml

main()方法是开始执行java程序的地方。传递给main()方法的所有参数所在的位置都是String args[]。它基本上是一个字符串数组。变量名可以更改为除仅使用args之外的其他名称。您可以使用String var[]或`String datas[]或其他名称。

现在,进入程序if (args.length > 0)中的if条件检查。我将解释为什么arg.length是这样的基本原理

当从命令行或类似终端执行java程序时,它将以javacustomName的形式运行。假设您要将参数作为javacustomNameparam1-param2传递给java程序。参数随命令行一起传递。现在,java中的解释器解释这些参数(即param1-param2),并将它们传递给程序的main()方法。这些参数存储在args[]字符串数组中。

现在,在运行java程序时,将允许使用args[0]和args[1]。如果没有传递任何参数,则args[]的值将为null,并且仍将被标识为具有null参数的String数组对象(没有元素)。在这种情况下,CCD_ 16将等于0。

该行正在检查是否在命令行中实际输入了参数。

如果输入了任何,则第一个是文件名。

如果未输入任何内容,则默认为test1.xml

args.length值是args数组中的项数。

如果不传递命令行参数,则始终会得到"有0个命令行参数"。

这就是你检查的原因

if (args.length > 0) 

但是试着这样运行程序:java PrintArgs你好,我的名字是mikki2 java PrintArg后面的单词被称为命令行参数,因为它们是从命令行传递给程序的参数

相关内容

  • 没有找到相关文章

最新更新