main方法中string args []的用法是什么?

时间:2010-07-18 06:50:28

标签: java

  

可能重复:
  What is “String args[]”? in Java

这个方法在java中的用途是什么。如果我们不使用会发生什么? 如果我给出一些数组大小,那么会发生什么

5 个答案:

答案 0 :(得分:2)

传递命令行参数: http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/essential/environment/cmdLineArgs.html

我认为你必须在main方法中声明它(但你不必使用它)。我认为你不能给它一个数组大小。

答案 1 :(得分:2)

args数组包含传递给Java应用程序的所有命令行参数。例如,如果您像这样调用您的应用程序:

java foo arg1 arg2 22 3 + 5

然后args []将是以下字符串的数组:

"arg1", "arg2", "22", "3", "+", "5"

您可以为其指定任何名称 - 它不必称为args,但您无法指定大小。这是因为你没有定义参数,你只是指定它的类型。其大小取决于传入的命令行参数的数量。

答案 2 :(得分:1)

  

main方法中字符串args []有什么用?

它将任何命令行参数传递给Java应用程序。例如,如果您将应用程序运行为:

java -cp ... com.example.app1.App1 1 2 3 4

然后JVM尝试执行com.example.app1.App1.main(String[]),其参数等同于表达式new String[]{"1", "2", "3", "4"}创建的参数。

  

这个方法在java中的用途是什么。如果我们不使用会发生什么?

它提供了一个入口点,允许您从命令行运行应用程序。如果您没有提供合适的main方法,您将能够编译应用程序,但不能运行它。如果您提供的main方法没有String[]参数,则不会将其识别为入口点。

  

如果我给出一些数组大小然后会发生什么?

您收到Java编译错误; e.g。

public static void main(String[10] args) { ...

是无效的Java。数组类型声明没有大小,因为大小不是数组类型的一部分。 Java数组的大小是一个运行时属性,仅在创建数组实例时确定。

答案 3 :(得分:0)

从命令行传递参数。程序可以将其用作一组参数,以便根据一组已知参数进行操作或生成结果。

答案 4 :(得分:0)

args参数包含启动程序时传递给JVM的命令行参数,类似于C / C ++ argv函数的main参数。您可以将其声明为String[]或varargs String...

Java Language Specification似乎没有定义args的语义,所以我认为由JVM本身决定如何填充数组。我可以想象像Android这样的平台可以有其他方式来填充数组。