2010-07-18 29 views

回答

0

從命令行傳遞參數。程序可將其用作一組參數,以基於一組已知參數對結果進行操作或產生結果。

2

args數組包含傳遞給Java應用程序的所有命令行參數。例如,如果你打電話給你的應用程序是這樣的:

java foo arg1 arg2 22 3 + 5 

然後ARGS []將是以下字符串數組:

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

你可以給它任何你想要的名稱 - 它不不必稱爲args,但不能指定大小。這是因爲你沒有定義參數,你只是指定它的類型。它的大小是基於在通過命令行參數的數量來確定。

+2

的副本不應該讀取'java foo ...'的例子嗎?你不會有java運行一個源文件。 – 2010-07-18 07:06:39

+0

是的,感謝您的編輯 – bluesmoon 2010-07-18 22:53:09

0

args參數包含啓動程序,類似於argv參數到C/C++ main功能時傳遞給JVM的命令行參數。您可以聲明它爲String[]或作爲可變參數String...

Java Language Specification似乎沒有定義args的語義,所以我認爲它取決於JVM本身決定如何填充數組。我可以想象,像Android這樣的平臺可以有其他填充數組的方式。

1

main方法中string 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編譯錯誤;例如

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

是無效的Java。數組類型聲明沒有大小,因爲大小不是數組類型的一部分。 Java數組的大小是隻在創建數組實例時才確定的運行時屬性。

相關問題