Java語法基礎之函式的使用說明 - 程式前沿
文章推薦指數: 80 %
函式其實就是一個功能,定義函式就是實現功能,通過兩個明確來完成: 1)、明確該功能的運算完的結果,其實是在明確這個函式的返回值型別。
2)、 ...
程式語言前端開發IOS開發Android開發雲端運算人工智慧伺服器搜尋資料庫軟體開發工具Java語法基礎之函式的使用說明2018.06.30程式語言java,函式HOME程式語言Java語法基礎之函式的使用說明Advertisement函式四個方面:函式的定義函式的特點函式的應用函式的過載一、函式的定義及特點1)什麼是函式?函式就是定義在類中的具有特定功能的一段獨立小程式,函式也稱為方法2)Java中函式的格式:修飾符返回值型別函式名(引數型別形式引數1,引數型別形式引數2,。
。
){ 執行語句; return返回值;}返回值型別:函式執行後的結果的資料型別引數型別:是形式引數的資料型別形式引數:是一個變數,用於儲存呼叫函式時傳遞給函式的實際引數實際引數:傳遞給形式引數的具體數值return:用於結束函式返回值:該值會返回給呼叫者3) 函式的特點a) 定義函式可以將功能程式碼進行封裝b) 便於對該功能進行復用c) 函式只有被呼叫才會被執行d) 函式的出現提高了程式碼的複用性e) 對於函式沒有具體返回值的情況,返回值型別用關鍵字void表示,那麼該函式中的return語句如果在最後一行可以省略不寫,系統會幫你自動加上。
注:a) 函式中只能呼叫函式,不可以在函式內部定義函式。
b) 定義函式時,函式的結果應該返回給呼叫者,交由呼叫者處理。
c) 當函式運算後,沒有具體的返回值時,這是返回值型別用一個特殊的關鍵字來標識該關鍵字就是void,void:代表的是函式沒有具體返回值的情況。
d) 當函式的返回值型別是void時,函式中的return語句可以省略不寫。
4) 如何定義一個函式? 函式其實就是一個功能,定義函式就是實現功能,通過兩個明確來完成: 1)、明確該功能的運算完的結果,其實是在明確這個函式的返回值型別。
2)、在實現該功能的過程中是否有未知內容參與了運算,其實就是在明確這個函式的引數列表(引數型別&引數個數)。
5) 函式的作用:1)、用於定義功能。
2)、用於封裝程式碼提高程式碼的複用性。
注意:函式中只能呼叫函式,不能定義函式。
6) 主函式: 1)、保證該類的獨立執行。
2)、因為它是程式的入口。
3)、因為它在被jvm呼叫。
7) 函式定義名稱是為什麼呢?答:1)、為了對該功能進行標示,方便於呼叫。
2)、為了通過名稱就可以明確函式的功能,為了增加程式碼的閱讀性。
二、函式的應用1) 兩個明確a) 明確要定義的功能最後的結果是什麼?b) 明確在定義該功能的過程中,是否需要未知內容參與運算2) 示例:舉例1:複製程式碼程式碼如下:classFunctionDemo{ publicstaticvoidmain(String[]args) { intx=4; System.out.println(x*35); x=6; System.out.println(x*35); inty=4*35; intz=6*35; System.out.println(y); System.out.println(z); }}發現以上的運算,因為獲取不同資料的運算結果,程式碼出現了重複。
為了提高程式碼的複用性。
對程式碼進行抽取。
將這個部分定義成一個獨立的功能。
方便與日後使用。
java中對功能的定義是通過函式的形式來體現的。
明確功能:需要定義功能,完成一個整數的*35的運算,1,先明確函式定義的格式。
/* 修飾符返回值型別函式名(引數型別形式引數1,引數型別形式引數2,) { 執行語句; return返回值; }複製程式碼程式碼如下:classFunctionDemo{ publicstaticvoidgetResult(intnum) { System.out.println(num*35); return;//可以省略 }publicstaticvoidmain(String[]args) { getResult(5); }}對上述關於return是否省略這一小小知識點的總結:當函式運算後,沒有具體的返回值時,這是返回值型別用一個特殊的關鍵字來標識。
該關鍵字就是void。
void:代表的是函式沒有具體返回值的情況。
當函式的返回值型別是void時,函式中的return語句可以省略不寫。
舉例2:複製程式碼程式碼如下:classFunctionDemo2{ publicstaticvoidmain(String[]args) { intsum=getSum(4,6); System.out.println(“sum=”sum); sum=getSum(2,7); System.out.println(“sum=”sum); } /*下面的這個功能定義思想有問題,為什麼呢?因為只為完成加法運算,至於是否要對和進行列印操作, 那是呼叫者的事,不要在該功能中完成。
*/ publicstaticvoidget(inta,intb) { System.out.println(ab); return; }}如何定義一個函式呢? 1,既然函式是一個獨立的功能,那麼該功能的運算結果是什麼先明確 因為這是在明確函式的返回值型別。
2,在明確在定義該功能的過程中是否需要未知的內容參與運算。
因為是在明確函式的引數列表(引數的型別和引數的個數)。
複製程式碼程式碼如下:classFunctionDemo2{ publicstaticvoidmain(String[]args) {/* intsum=getSum(4,6); System.out.println(“sum=”sum); sum=getSum(2,7); System.out.println(“sum=”sum); */ //get(4,5); intx=getSum(4,4); inty=getSum(7,9); intnum=getMax(x,y); } //需求:定義一個功能。
完成34的運算。
並將結果返回給呼叫者。
/* 1,明確功能的結果:是一個整數的和。
2,在實現該功能的過程中是否有未知內容參與運算,沒有。
其實這兩個功能就是在明確函式的定義。
1,是在明確函式的返回值型別。
2,明確函式的引數列表(引數的型別和引數的個數)。
*/ publicstaticintgetSum() { return34; } /* 以上這個函式的功能,結果是固定的,毫無擴充套件性而言。
為了方便使用者需求。
由使用者來指定加數和被加數。
這樣,功能才有意義。
思路: 1,功能結果是一個和。
返回值型別是int。
2,有未知內容參與運算。
有兩個。
這個兩個未知內容的型別都是int。
*/ publicstaticintgetSum(intx,inty) { returnxy; } /* 需求:判斷兩個數是否相同。
思路: 1,明確功能的結果:結果是:boolean。
2,功能是否有未知內容參與運算。
有,兩個整數。
*/ publicstaticbooleancompare(inta,intb) { /* if(a==b) returntrue; //else returnfalse; */ //return(a==b)?true:false; returna==b; } /* 需求:定義功能,對兩個數進行比較。
獲取較大的數。
*/ publicstaticintgetMax(inta,intb) { /* if(a>b) returna; else returnb; //或者用下面的三元運算子 */ return(a>b)?a:b; }}3) 練習:1,定義一個功能,用於列印矩形。
2,定義一個列印99乘法表功能的函式。
複製程式碼程式碼如下:class FunctionTest{ publicstaticvoidmain(String[]args) {draw(5,6); printHr(); draw(7,9); printHr(); print99(); } /* 定義一個功能,用於列印矩形。
思路: 1,確定結果:沒有,因為直接列印。
所以返回值型別是void 2,有未知內容嗎?有,兩個,因為矩形的行和列不確定。
*/ publicstaticvoiddraw(introw,intcol) { for(intx=0;x
延伸文章資訊
- 1Java 方法宣告與流程 - 翻轉工作室
(1) 方法屬性:可被引用(呼叫)的屬性,常用有下列組合型態:. (a) public static:允許類別外部呼叫的靜態(或稱類別)方法。
- 2函數與引數 - Java 學習系列
return 運算式; // 函數主體. } 若不需傳遞引數到函數中,小括號內可省略;若無回傳值,則可 ... star(); //呼叫star函數. System.out.println("使...
- 3第六章函式(Method;方法)
換句話說,在Java的函式定義列中宣告的變數稱為參數(Parameter)。而呼叫函式敘. 述中小括號內出現的叫做引數(Argument)。在不同場合中,這些名詞有不同的 ...
- 4Java Tutorial 第二堂(3)方法、類別與套件
不過這看來不太像物件導向,若只是這樣的需求,似乎也不需要動用到物件導向,如果Java 具有其他語言中函式(Function)的概念,不是可以更簡單一些,呼叫個 println(" ...
- 5Java Gossip: 呼叫方法
如果您會動態載入類別並使用有參數的建構函式(參考生成物件),則動態呼叫所生成物件之方法並不是難事,直接以實例說明,首先寫一個Student類別:. Student.java.