函數就是定義在類中的具有特定功能的一段獨立小程序,函數也稱爲方法。以下是本站小編搜索整理的關於Java語法基礎中函數的使用說明,供參考借鑑,希望對大家有所幫助!想了解更多相關信息請持續關注我們應屆畢業生考試網!
一、函數的定義及特點
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:
代碼如下:
class FunctionDemo
{
public static void main(String[] args)
{
int x = 4;
tln(x*3+5);
x = 6;
tln(x*3+5);
int y = 4*3+5;
int z = 6*3+5;
tln(y);
tln(z);
}
}
發現以上的運算,因爲獲取不同數據的運算結果,代碼出現了重複。
爲了提高代碼的複用性。對代碼進行抽取。將這個部分定義成一個獨立的功能。方便與日後使用。
java中對功能的定義是通過函數的形式來體現的。
明確功能:需要定義功能,完成一個整數的.*3+5的運算,
1,先明確函數定義的格式。
/*
修飾符返回值類型函數名(參數類型形式參數1,參數類型形式參數2,)
{
執行語句;
return 返回值;
}
代碼如下:
class FunctionDemo
{
public static void getResult(int num)
{
tln(num * 3 + 5);
return;//可以省略
}
public static void main(String[] args)
{
getResult(5);
}
}
對上述關於return是否省略這一小小知識點的總結:
當函數運算後,沒有具體的返回值時,這是返回值類型用一個特殊的關鍵字來標識。
該關鍵字就是void。void:代表的是函數沒有具體返回值的情況。
當函數的返回值類型是void時,函數中的return語句可以省略不寫。
舉例2:
代碼如下:
class FunctionDemo2
{
public static void main(String[] args)
{
int sum = getSum(4,6);
tln("sum="+sum);
sum = getSum(2,7);
tln("sum="+sum);
}
/*下面的這個功能定義思想有問題,爲什麼呢?因爲只爲完成加法運算,至於是否要對和進行打印操作,
那是調用者的事,不要在該功能中完成。*/
public static void get(int a,int b)
{
tln(a+b);
return ;
}
}
如何定義一個函數呢?
1,既然函數是一個獨立的功能,那麼該功能的運算結果是什麼先明確
因爲這是在明確函數的返回值類型。
2,在明確在定義該功能的過程中是否需要未知的內容參與運算。
因爲是在明確函數的參數列表(參數的類型和參數的個數)。
代碼如下:
class FunctionDemo2
{
public static void main(String[] args)
{
/*
int sum = getSum(4,6);
tln("sum="+sum);
sum = getSum(2,7);
tln("sum="+sum);
*/
//get(4,5);
int x = getSum(4,4);
int y = getSum(7,9);
int num = getMax(x,y);
}
//需求:定義一個功能。完成3+4的運算。並將結果返回給調用者。
/*
1,明確功能的結果:是一個整數的和。
2,在實現該功能的過程中是否有未知內容參與運算,沒有。
其實這兩個功能就是在明確函數的定義。
1,是在明確函數的返回值類型。
2,明確函數的參數列表( 參數的類型和參數的個數)。
*/
public static int getSum()
{
return 3+4;
}
/*
以上這個函數的功能,結果是固定的,毫無擴展性而言。