public static void main(arge[])
此函數(符合上述格式)是程序的入口,系統會在一開始調用此函數以開始程序的運行。
public 公用的,表示該方法共有,可以被外部訪問
static 靜態的,運行自動加載,程序運行時會在最開始實例化static類型的東西,比如這里的main函數
void 表示該方法不返回任何數值
main 是函數名
String[] args表示args是一個String類型的數組,存放參數,實際上args是可以隨意改變的
有一個例子可以幫助我們理解:
?
public class Message{
public static void main(String[] a){
if(a[0].equals("-h"))
System.out.println("hello world");
else if(a[0].equals("-g"))
System.out.println("goodbye ");
for(int i=0;i<a.length;i++)
System.out.println(""+a[i]);
}
}
運行時為java Message -h
或者 java Message -g
在后面再加字符串也可以
a實際上就是一個字符數組的名字,作用是用來存儲java Message后面跟著傳進來的參數。名字可以自定義,但是你改成數字當然不行了,需要符合java中變量的命名規則。如果代碼里沒有用到這個數組的話隨便改都沒有問題。但是如果程序里面使用了這個數組的話,改名就需要同時將調用的地方一起改掉。
因為java不知道你是不是會帶參數執行。例如java Message 或者 java Message Hello。如果不允許args參數。那么可以在程序中通過
if (args.length!=0) System.out.println("此程序不允許帶參數執行");
來避免出現無法處理的錯誤
一個main()函數只有是 main(String[] x)才是系統的main函數, 程序開始執行的函數。其實它也不過是一個函數而已,你不必想像為一個很特殊的東西,只是系統會去主動找這個函數來執行,你也可以在程序中主動調用main(String[]),當然大多數情況下這都沒有必要。
如果不加參數"String[]",就不是原來這個main函數了,只能叫做自己定義的一個函數。 至于String[] x 中的x 只是一個變量名,隨便你定義。
?