Java開發筆記(二十四)方法的組成形式

通過前面的學習,咱們發現演示的Java代碼愈來愈複雜,並且每一個例子的代碼都堆在入口方法main內部,這會致使以下問題:
一、一個方法內部堆砌了太多的代碼行,看着費神,維護起來也吃力;
二、部分代碼描述的是通用算法,好比牛頓迭代法、二分查找法等等,這些通用的算法代碼結構固定,不少地方會用到,假若每次都複製粘貼無疑是苦大仇深;
基於此,亟需對紛繁複雜的代碼段加以梳理,一方面把代碼行依據功能進行劃分,這樣剝離出來的各段代碼不會相互影響;另外一方面封裝通用的算法代碼,作到只定義一次,就能被屢次調用。這樣既提升了代碼的可讀性,也使得代碼易於維護,還能減小無謂的重複勞動。
就代碼的封裝途徑而言,每種編程語言都採起了方法包裝的形式,經過定義形態完整、兼具輸入和輸出功能的新方法,便可將一大段邏輯複雜的代碼行分解成各個功能單一的代碼塊,而後在原位置依次調用這些代碼塊對應的方法名稱便省事了。但是費了許多口舌,這個方法定義究竟是怎樣的呢?前面的大部分演示代碼,基本都裝載在對應代碼文件的main方法中,這個main方法不可是該代碼文件的入口,也是程序員最開始接觸到的經常使用方法,接下來經過main方法來研究一下究竟要如何定義一個方法。且看下面這個最簡單main方法代碼:html

	public static void main(String[] args) { // String[]表示字符串類型
	}

 

上面的main方法除了名稱與包括內部代碼的花括號以外,方法名稱左右兩邊尚有幾個關鍵詞,從而構成了完整的方法定義形式「訪問權限類型 可選的static 返回值的數據類型 方法名稱(參數類型 參數名稱)」,這幾個關鍵詞分別介紹以下:
一、最前面的public意思是公開的,表示該方法可被其它代碼文件訪問;反過來,假若此處寫的是private,則表示該方法不可被其餘文件訪問。
二、public後面的static,字面意思是靜態的,表示該方法相似通用函數,可被外部直接訪問。好比Math工具類的round、sqrt、abs、sin等方法都屬於靜態方法。
三、main名稱前面的void,表示該方法不返回任何數據,即不存在輸出參數。若是該方法須要返回一個整型數,則此處應填int;若是該方法須要返回一個雙精度數,則此處應填double。
四、main名稱後面緊跟着帶參數的圓括號,表示該方法須要填寫指定的輸入參數。若是不存在輸入參數,則圓括號內部留空;若是存在好幾個輸入參數,則以逗號分隔多個參數,形如「參數1類型 參數1名稱, 參數2類型 參數2名稱」這樣。
方法的輸入參數,能夠在方法調用處填寫,也多是Java命令行輸入的。譬如如下的代碼例子,準備演示如何讀取命令行敲入的命令參數:java

package com.method.function;

//說明main方法的格式定義
public class Simple {

	// 方法的定義格式爲:「訪問權限類型 可選的static 返回值的數據類型 方法名稱(參數類型 參數名稱)」
	// 其中多個參數之間以逗號分隔,如「參數1類型 參數1名稱, 參數2類型 參數2名稱」
	// 若是該方法無需返回任何數值,則返回值的數據類型填void
	public static void main(String[] args) { // String[]表示字符串類型
		if (args.length == 0) {
			System.out.println("您沒有輸入任何參數");
		}
		// 依次取出並打印該Java程序在命令行執行的輸入參數
		for (int i=0; i<args.length; i++) {
			int seq = i+1;
			System.out.println("您輸入的第"+seq+"個參數是:"+args[i]);
		}
	}
}

先打開DOS窗口,進入Simple.java的所在目錄,運行下列命令編譯程序:程序員

javac -encoding UTF-8 Simple.java

 

再回到src目錄之下,輸入下述指令:算法

java com.method.function.Simple

 

此時程序輸出界面以下圖所示:編程

可見打印的文字爲「您沒有輸入任何參數」,這是由於命令行的Simple後面沒帶任何參數,如今往Simple右邊添加一個參數「hello」,則修改後的程序指令是這樣的:編程語言

java com.method.function.Simple hello

 

再次運行Simple程序,此時界面輸出信息以下圖所示:函數

這下看到打印文字爲「您輸入的第1個參數是:hello」,說明程序成功讀到了命令行的輸入參數。趁熱打鐵接着往Simple右邊添加第二個參數「world」,因而擁有兩個參數的程序指令變成了下面模樣:工具

java com.method.function.Simple hello world

 

第三次運行Simple程序,此時程序運行界面以下圖所示:學習

該程序果真不負衆望,把「hello」和「world」這兩個參數全都打印出來了,從而驗證了main方法的輸入參數是有效的。命令行

 

更多Java技術文章參見《Java開發筆記(序)章節目錄

相關文章
相關標籤/搜索