摘要:本文回顧了上一篇文章中的HelloWorld程序,并通過類定義、注釋和main方法三個方面對這個程序進(jìn)行了詳細(xì)的剖析。相信讀完這篇文章以后奠货,讀者將會對Java程序的結(jié)構(gòu)有一個整體的認(rèn)識。
??在上一篇文章中座掘,我們已經(jīng)編寫了第一個Java程序——HelloWorld递惋,并且對它進(jìn)行了編譯和運(yùn)行。雖然這個例子很短小溢陪,但是它具有一個完整的Java程序所應(yīng)該具有的結(jié)構(gòu)萍虽。在這篇文章中,我將會對這個最簡單的程序進(jìn)行詳細(xì)的解析形真,以便讀者能夠更清楚地認(rèn)識到Java程序的結(jié)構(gòu)杉编。
??現(xiàn)在來回顧一下這段代碼:
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!"); // Display the string.
}
}
??這個HelloWorld程序由三個基本結(jié)構(gòu)組成:類定義、main方法和注釋。本文將會給你提供一個對于這段代碼的最基本的理解邓馒,但是更深層次的理解將會在你學(xué)完剩余的教程之后慢慢浮現(xiàn)嘶朱。
一.注釋
??下面加粗的文本定義了HelloWorld程序中的注釋:
??注釋會被編譯器忽略,但是對于自己和其他程序員來說非常有用光酣。Java支持三種注釋:
- 單行注釋:編譯器將會忽略從//到行尾之間的任何文本疏遏,語法:
// This is a single-line comment.
- 多行注釋:編譯器忽略/*到*/之間的任何文本,語法:
/* This is a multi-line comment.
Everything in this area will be ignored.
*/
- 文檔注釋:編譯器也會忽略這種注釋救军,但是可以通過javadoc工具從源代碼中將文檔注釋提取出來财异,形成API文檔供使用者參考。有關(guān)文檔注釋的內(nèi)容這里暫時不做介紹缤言,感興趣的讀者可以自己去網(wǎng)上查閱相關(guān)的內(nèi)容宝当。語法:
/** This is documentation comment.
* Documentation can be generated by javadoc tool.
*/
二.HelloWorld類定義
??下面加粗的文本塊中是HelloWorld類的定義部分:
??就像上面顯示的那樣视事,一個類定義的最基本形式是:
class name {
...
}
??關(guān)鍵字class開始了一個名為name的類的定義胆萧,具體的定義類的代碼被其后的一對花括號包裹起來。后續(xù)的文章將會詳細(xì)地介紹有關(guān)類的概念俐东,現(xiàn)在只需要知道每個程序都是以類的定義開頭就夠了跌穗。
三.main方法
??下面加粗的文本塊中定義了main方法:
??每個Java程序都必須包含一個main方法,它的格式如下:
public static void main(String[] args)
??main方法就像C和C++中的main函數(shù)一樣虏辫,它是程序的入口蚌吸。JVM會自動調(diào)用main方法,在main方法中可以調(diào)用其它自己編寫的方法砌庄。
??修飾符public和static的順序可以顛倒羹唠,但是習(xí)慣上我們還是按照public static的順序書寫它們。
??main方法接受一個字符串類型的數(shù)組作為唯一的參數(shù)娄昆,這個參數(shù)的名字也可以修改佩微,但是大部分程序員還是會選擇args∶妊妫可以在運(yùn)行時將參數(shù)傳遞給應(yīng)用程序哺眯,例如:
java MyApp arg1 arg2
??arg1和arg2將會被傳遞給args數(shù)組args,你可以在程序中通過args[0]和args[1]訪問它們扒俯。HelloWorld程序沒有傳遞命令行參數(shù)奶卓,但是你要知道可以通過這種方式在運(yùn)行程序時將參數(shù)傳遞進(jìn)去。
System.out.println("Hello World!");
??最后一行使用核心類庫(也稱為Application Programming Interface或API)中的System類將“Hello World!”輸出到控制臺上撼玄。有關(guān)核心類庫的其他部分將會在后續(xù)文章中進(jìn)行介紹夺姑。