2009-07-09 36 views
2

我試圖從Java程序打印的「Hello World」,但我用的主要方法有點糊塗:Java數組聲明支架位置,

public static void main(String args[]) 

兩個這些功能執行相同的任務。這是如何發生的?

我知道String的功能,但不知道args的功能。

+2

請參閱http:// stackoverflow。com/questions/129178 /差異-int-array-and-int-array – skaffman 2009-07-09 12:52:56

+0

我想也許一本關於Java的書可能是爲了這裏? – 2009-07-09 12:57:11

+1

是第二個真正的所有小寫字符「字符串」? – 2009-07-09 14:48:16

回答

16

在Java:

String args[] 

完全等同於:

String[] args 
3

您可以通過以下兩種等價的方式定義了Java中的數組(因爲你寫的):

  • 字符串[] args
  • String args []

所以它並不重要。不過,第一種方式有點更普遍。

12

你要定義一個名爲「main」方法是public(任何人都可以調用它),static(這是一個類的方法,而不是一個實例方法),並返回void(不返回任何東西),並採取參數名爲args,這是一個String陣列。

在Java中,你可以聲明一個String數組:

String[] args 

String args[] 
0

在java中的數組聲明可以是類型或變量名之後,所以它是確定兩種方法執行相同的功能。

參數用於存儲命令行參數。

喜歡

的java YourClass ARG1 ARG2

ARG1和ARG2將在索引ARGS被存儲在數組args [0]和Arg [1]。

0

我也會試圖解釋這一行的 公共靜態無效的主要(字串[] args)

主要所有的部件:它是一種Java約定由C繼承了..第一種方法來運行其一個叫做main。

無效:此方法應該返回任何結果,這在java中它被稱爲無效

靜態:你不需要創建這個類的一個實例來運行這個方法(完全邏輯如果是第一個要運行)

公共:它可以從其它類調用此方法,即使外面的包的(再次其邏輯一直是首創方法被調用)

現在你的問題String []參數完全等價於String args []String []名稱 ...無論如何,這意味着參數(或名稱在最後一種情況下)其名稱該方法正在接收的字符串數組。它是一個數組,因爲符號爲[],並且在java中有效將符號放在該類型的前面(字符串,對於這種情況)或位於變量名稱前面(args)。 如果從與像「Java的myprogram參數1參數2」該方法內的命令的終端運行程序主args來值將是ARGS = [「參數1」,「參數2」]

-1

有兩者之間恰好沒有差別,雖然根據Java標準,用於使一個陣列的約定是:

String[] args 

而非,

String args[] 
使用橢圓以及(僅用於無限陣列)

和同樣有效形式:

String...args 

PSVM(的簡要概述)在Java中

公共:該方法可以可以在課堂內或課堂外的任何地方進行訪問,甚至可以在課程外進行訪問

static:該方法由所有對象共享,並且不需要創建任何對象來調用此方法。

void:這個特定的main()方法不能返回任何值,所以在這裏我們必須使用void;這是需要遵循的語法。

main():這是代碼或您執行的類的入口點。在大多數情況下,這也是代碼的退出點。

字串[] args:這些都是運行時的命令行參數,你是否通過與否就不得不提到他們的論點。