2010年6月19日 星期六

Java 基本語法與資料型別 #2



雖然這個範例看來相當簡單,但此程式包函著Java 基本的宣告方式與語法結構,接著筆者將由此範例來引領讀者了解Java。


● 第一行: Public class HelloWorld{

■ Public:代表此類別為公開的,另何其他類別皆可存取此類別內的方法與變數。
■ Class:此為類別關鍵字,在此關鍵字後所接的字串代表此類別的名稱。
■ HelloWold:HelloWold 接在Class 關鍵字的後面,因此代表類別名稱,每一個類別皆必須指定一個名稱,往後我們就利用此名稱來告知Java 我們要使用的是那個類別。


● 第二行: public static void main(String args[]){

■ pubic:由於main 為程式的起始進入點,因此此方法必須宣告為public(公開的),如此一來JVM 才有使用該方法的權限,才能進行該方法的呼叫。
■ static:此關鍵字宣告代表此 main 方法為靜態的,靜態方法可以在類別尚未實體化時就可以進行該方法的存取,由於main 為整個程式最先開始要執行的地方,在此進入點執行時該類別尚未實體化,因此必須宣告為static。
■ void:每個方法在呼叫執行時,我們可以對其方法傳入參數,同樣的也可以要求方法回傳執行結果,但若該方法無需要回傳值的話,我們就可利用void 關鍵字來宣告此
方法無回傳值。
■ main:main 為此方法的名稱,也就是程式的進入點,JVM 在執行該程式時,首先就是先到main 方法的所在地,然後對方法進行呼叫。因此此進入點名稱一但更改成其他名稱,就會失去其程式進入點的特質,而成為一般的方法宣告,JVM 也將會找不到程式進入點而發生錯誤,因此每個程式一定要宣告一個main 方法做為程式進入點。
■ String args[]:此為main 方法的傳入參數,在此宣告一個String 型態的陣列args[]來接收傳入的參數,而傳入值則是從命令例參數而來,例如執行以下的Java 指令:

java HelloWorld test1 test2 test3

則程式執行時args[]陣列裡的內容為:
args[0]=test1
args[1]=test2
args[2]=test3

每個參數中間以空白鍵做為區隔,中間無論輸入多少個空白鍵將都視為一個,JVM 會自動將參數分離出來後傳回args[]陣列之後,所以我們可以在程式執行時,可利用此種方式將所需的參數傳入程式的進入點之中。


● 第三行: System.out.println("Hello World!");

這行主要的目的為將Hello World!字串輸出至標準輸入裝置(一般為螢幕)。System 為類別(Class),out 則是儲存在System 類別中的一個介面(Interface),println 則此介面中一個印出字串的方法,整行的意義可以解釋為,利用System 類別中的out 介面中的println()方法來輸出Hello World !字串於螢幕上。由於println()方法需要傳入一個字串參數,因此我們將Hello World !用雙引號包裝起來(" ")(在Java 中用雙引號括起來的內容就代表為一個字串),最後傳遞至println()方法中,該方法便會將Hello World !字串輸出至螢幕畫面上。在這讀者可能會對類別與介面產生疑惑,別急,讀者只需先了解整個程式的流程與結構,往後將會在慢慢的介紹類別與介面之間的關係。


● 註解符號//:
在本範例程式中還包括了許多的註解符號(//),此符號為單行註解型態,在此符號後面的所有文字內容將會被編譯器所忽略。另外還有一種多行註解符號,此符號以/*做為開始一直到*/為止,在此區塊中所輸入的任何字串將會被編譯器所忽略,讀者可以利用此方式在程式適當的地方加入一些說明,讓人更容易了解此程式的主要目的與做法。

// 這是單行註解型態

/* 多行註解開始
在此區塊中的內容皆為註解。
多行註解結束*/


區塊符號{}:
Java利用區塊符號來區隔每段程式碼所屬的範圍。在範例程式中主要包含了二個區塊,一為類別區塊(由第一行與最後一行組成),另一個為方法區塊(由第二行與第四號組成),因此我們可以知道System.out.println() 屬於main 方法區塊, 而main 方法區塊又是屬於HelloWorld類別區塊所有。

沒有留言:

張貼留言