Java開發筆記(三)Java帝國的特種官吏

上一篇文章介紹了Java工程的帝國區劃,末尾給出了一段Java代碼例子,這個代碼雖然勉強能看懂,可是有些細節使人不甚了了。好比說「// 參觀朱雀臺」爲什麼可以直接跟在當前行後面?「System.out.println」又爲什麼被點號繞了三道灣?顯然這裏面一定有一些規則須要遵照,比如到了一個國家就要入鄉隨俗,爲了方便遊客更好更快地適應當地的風俗,Java帝國特別設立了幾個特殊官職,專門負責對內對外打交道的事情。其中有幾個官吏常常露面,尤爲須要初學者注意,他們是:翻譯官、太史公、貿易官,接下來分別介紹如何與它們打招呼。java

 

翻譯官
Java代碼其實由一行一行的符號組成,跟通俗易懂的天然語言無法比,由於Java只是一種計算機編程的高級語言,它的代碼邏輯是給電腦看的,不是給普通人看的,因此初學者不要期望立刻就能看懂Java代碼。到了異國他鄉,面對周圍的鳥語嘰喳,啥都聽不懂可不是辦法,最好能找個翻譯,把這羣老外說的鳥語翻譯成你我熟知的母語,這樣纔好待下來學習和生活。Java帝國裏面也有相似的翻譯官,大名叫作「註釋」,意思就是在代碼裏添加一行或者一段說明性的文字,這些說明文字對程序運行不起任何做用,僅僅是方便初學者理解Java代碼的功能做用。
像前面代碼裏面的「// 參觀朱雀臺」,開頭的兩個雙斜杆「//」即是註釋的標記符號,它表示當前行在雙斜杆以後的內容都屬於註釋文字,能夠隨便寫開發者的母語文本,反正不會影響Java程序的編譯和運行。雙斜杆的註釋規則有兩條,其一爲:它只註釋後面的文字,不註釋前面的文字;其二爲:它只對當前行有效,對上一行和下一行都是無效的。所以,若是要添加多行的說明文字,就得在每行文字開頭都加上雙斜杆符號。下面是給Java代碼添加多行註釋的例子:程序員

		// 先參觀朱雀臺
		// 再參觀金虎臺
		// 最後參觀冰井臺

 

然而每行文字前面都要開發者手工輸入雙斜杆,實在是有點興師動衆,爲減小開發者的工做量,有兩個辦法能夠避免重複的手工輸入。第一個辦法,先用鼠標選中須要註釋的數行文本,再依次選擇Eclipse頂部菜單的「Source」→「Toogle Comment」,此時Eclipse瞬間在這幾行文字開頭都加上了雙斜杆。第二個辦法,是採用Java代碼的多行註釋標記,這個多行註釋,須要一個標記頭和一個標記尾,那麼夾在頭尾標記中間的文字,即爲被註釋了的文本內容了。所謂的標記頭,由符號「/*」組成,而標記尾則由符號「*/」組成,兩者之間能夠有單行文字,也能夠有多行文字。若是頭尾標記包括註釋文字都在同一行,那麼該行的完整註釋形如「/* 這裏是註釋文字 */」。若是頭尾標記連同註釋文字分散成多行排列,那麼完整的多行註釋格式是下面這種形式:編程

		/* 先參觀朱雀臺
		 再參觀金虎臺
		 最後參觀冰井臺 */

 

註釋標記與說明文本之間的空格沒有實際意義,僅僅是看過去顯得不那麼擁擠罷了。因爲雙斜杆表達的註釋通常言簡意賅,不會太囉嗦,所以本系列的文章主要採起雙斜杆對說明文字加以註釋。學習

 

太史公
程序員寫完代碼以後,運行程序之時常常要檢查運行過程是否符合預期,這就要求程序可以自動彙報運行狀況,以便開發者過後分析整個運行過程的通過。或者說,小到一我的天天寫日記,大到一個國家編史書,總之該工做比如史官(又稱太史公)辛勤地記載各種史實,計算機程序的史料學名就稱做「日誌」。程序把自身的運行信息輸出到控制檯(Console窗口)或者輸出到文件中,便構成了程序的運行日誌。最簡單的日誌輸出代碼以下所示:spa

		System.out.println("歡迎來到魏國的都城——鄴城。");

 

從以上代碼可見,輸出日誌的方法是「System.out.println」,最前面的System表示這裏在進行系統操做,中間的out表示向控制檯輸出信息;最後面的println表示打印括號內的文本,並跳到下面一行,末尾的ln是line的縮寫。若是把最後面的println改爲print,那麼打印完括號內的文本以後,當前定位在該行文本的末尾,而不會跳到下一行的開頭。下面演示看看println和print區別,先用System.out.println打印兩句話,代碼示例以下:翻譯

		System.out.println("歡迎來到魏國的都城——鄴城。");
		System.out.println("這裏是鄴城的正南門——鳳陽門。");

 

此時控制檯輸出的日誌信息以下圖所示:日誌

再用System.out.print打印一樣的兩句話,代碼示例以下:blog

		System.out.print("歡迎來到魏國的都城——鄴城。");
		System.out.print("這裏是鄴城的正南門——鳳陽門。");

此時控制檯輸出的日誌信息以下圖所示:ip

因而可知,經過println打印的日誌內容是分行顯示的,而經過print打印的日誌都顯示在同一行。開發

既然調用System.out能夠往控制檯輸出日誌,那麼反過來,調用System.in也能夠從控制檯向程序輸入信息。只不過輸入文字的接收要分如下兩個步驟:
一、建立一個控制檯的掃描器,隨時盯着控制檯的輸入操做,掃描器的建立代碼以下所示:

		Scanner scan = new Scanner(System.in); // 從控制檯接收輸入文本

 

二、經過掃描器的nextLine方法得到一行輸入文字,按下回車鍵表示該行文字輸入完畢。
下面舉個從控制檯獲取輸入信息的例子,曹操任命張遼鎮守合肥,而孫權親率大軍進攻合肥,張遼在逍遙津之戰中殺得東吳衆將丟盔棄甲。如今往控制檯輸入向張遼挑戰的吳國將領姓名,看看都有誰前來應戰,完整的代碼示例以下:

package com.donghan.huainan.hefei; // 東漢帝國淮南郡合肥縣

import java.util.Scanner;

public class Hefei {
	
	public static void main(String[] args) {
		System.out.print("這裏是張遼鎮守的合肥城,吳國誰來挑戰?");
		Scanner scan = new Scanner(System.in); // 從控制檯接收輸入文本
		/* nextLine方法表示接收一行文字,以回車鍵結尾 */
		System.out.println("吳國前來挑戰的將領是:"+scan.nextLine());
	}
}

接着經過右鍵菜單「Run As」→「Java Application」運行Hefei程序,並在控制檯敲入「甘寧」,而後按下回車鍵。鍵盤輸入先後的控制檯截圖以下所示,可見程序成功讀取到了控制檯的輸入文字。

 

貿易官
帝國物產豐盈,各地都有聞名遐邇的土特產,好比曹操南征宛城張繡,結果反遭張繡暗算,導致大將典韋陣亡,這個宛城即是漢代最大的冶鐵中心。此外,蜀漢的成都平原盛產蜀錦,而東吳的景德鎮則盛產陶瓷。既然各地出產多種多樣,不妨互通有無,你們作個貿易,你賣你的,我賣個人,各取所需,皆大歡喜。這個進出口貿易,就由專門的貿易官來掌管。貿易官既負責出口商品,也負責進口商品。對於出口貿易來講,須要區分哪些地方是對外開放城市,又有哪些貨物是容許出口的普通商品。
對外開放在Java代碼中使用關鍵字public來表達,凡是被public前綴修飾了的城池,都是對外開放城市,凡是被public前綴修飾了的東西,都是容許出口的貨物。譬以下面的代碼例子,指定了宛城是座對外開放城市,而且當地出產的鐵器也是可供出口的貨物。

package com.donghan.nanyang.wanxian; // 東漢帝國南陽郡宛縣

public class Wancheng {

	public static void getIron() {
		System.out.println("從宛城獲得了一大批的鑄鐵兵器。");
	}

	public static void main(String[] args) {
		System.out.println("歡迎來到大漢的冶鐵中心——宛城。");
	}
}

如今其它地方想要進口宛城的鐵器,就得經過貿易官開展進口貿易。貿易官首先經過關鍵字import說明將要從某地進口商品,就像以下代碼這般表示:

import com.donghan.nanyang.wanxian.Wancheng; // 準備從宛城進口商品

 

而後在具體運行的代碼段中添加來自Wancheng(宛城)的貿易進口代碼。再舉個例子,想當年關羽大舉北伐,消息傳到襄陽,曹軍主將曹仁趕緊從宛城進口了一批鐵質兵器,意圖增強軍備抵抗蜀軍。這樣的話,Xiangyang(襄陽)這個地方,須要聲明import(進口)來自Wancheng(宛城)的鐵器。因而完整的Xiangyang城代碼以下所示:

package com.donghan.nanjun.xiangyang; // 東漢帝國南郡襄陽縣

import com.donghan.nanyang.wanxian.Wancheng; // 準備從宛城進口商品

public class Xiangyang {

	public static void main(String[] args) {
		System.out.println("這裏是華夏第一城池——襄陽城。");
		Wancheng.getIron(); // 開展從宛城進口鐵器的貿易
	}
}

最後仍舊經過右鍵菜單「Run As」→「Java Application」運行Xiangyang程序,程序運行結果以下圖所示。

可見Wancheng(宛城)的鐵器被進口到了Xiangyang(襄陽),用編程的專業術語來講,是Xiangyang這個類調用了Wancheng那個類的getIron方法。

相關文章
相關標籤/搜索