在上一章節講到了簡單的方法調用數組,這一章講解return 返回值。
對於我們方法的命名也是有規範的,一個合格的技術員在命名方法的時候,大家注意,有兩個單詞的時候首字母一定要進行大寫。就比如我們看到的printInfo這個方法,printInfo爲Java的關鍵字,所以在這裏就進行了小寫,那麼Info呢首字母大寫。
接下來我們來講解一下return返回值。返回到方法執行。看以下代碼
public class key
{
public static void main(String args[]){
int one = addOne(10,20); //調用整數的加法操作。
float tow = addTow(10.3f,13.5f); //調用float單精度浮點相加操作
System.out.print("輸出One的結果"+one+"\n"); //輸出one
System.out.print("輸出Tow的結果"+tow); //輸出tow
}
public static int addOne(int x, int y){ //定義一個返回的類型 addOne 定義數據類型變量
int temp = 0 ; //定義一個爲整型的變量temp並初始值爲0
temp = x+y ; //將x+y的值賦值給temp
return temp ; //返回temp的值到方法處
}
public static float addTow(float x ,float y){ //定義一個返回的類型 addTow定義數據類型變量
float temp = 0; //定義一個爲單精度浮點的變量temp並初始值爲0
temp = x+y; //將x+y的值賦值給temp
return temp; //返回temp的值到方法處
}
接下來我們來看以下return 怎麼來結束方法:
}
在以上代碼我們得出一個結論,可以使用return這個關鍵字對進行返回值。值得注意的是,我們要返回float必須要在方法調用處使用float對裏面的方法進行定義。
接下來我們講解的是方法重載。
什麼是方法重載呢?
簡單的說:方法重載 方法名字相同,但是參數的類型,和參數不同。通過傳遞參數的個數以及類型的不同完成方法的調用。
public class key
{
public static void main(String args[]){
int one = add(10,15);
int two = add(10,15,13);
float there = add(10.3f,15,5f);
System.out.print("輸出One:"+one);
System.out.print("\n");
System.out.print("輸出Two:"+two);
System.out.print("\n");
System.out.print("輸出there:"+there);
}
public static int add(int x ,int y){
int temp = 0;
temp = x+y ;
return temp;
}
public static float add(float x , float y,float z){
float temp = 0 ;
temp = x+y+z ;
return temp ;
}
public static int add(int x,int y,int z){
int temp = 0;
temp = x + y - z;
return temp;
}
}
這段的代碼我就不給解釋了。基本上跟着課程學習的朋友都能看得懂。那麼這段代碼執行了三次add的方法,也就是調用了三次同樣的方法名,但是不會出錯。這是爲什麼呢?剛纔我們有講過方法重載,看了吧,雖然方法的名字都一樣,但是在Java中自動的去識別傳遞參數的個數以及傳遞的類型,進行放入計算。這下明白了吧。
public class key
{
public static void main(String args[]){
System.out.print("1.在調用fun方法之前:");
fun(4); //調用fun方法
System.out.print("2.在調用fun方法之後:");
}
public static void fun(int x){ //定義一個方法 返回的值是整型 定義fun方法 int x
System.out.print(" \n "); //輸出換行
System.out.print("3.進入fun方法:"); //輸出3.進入fun方法:
System.out.print(" \n "); //輸出換行
if(x==10){ //判斷x是否等於10 值爲真 執行什麼?
return; //結束方法,返回被調用處
}
System.out.print("4.正常執行完畢fun()方法。");
}
}
可以看以上的註解,使用return進行結束結束,當fun方法裏的常量等於10的時候執行return,所以此段代碼在我們打印的時候只出現輸出123並沒有出現4,這個是因爲這個程序並沒有執行完,而是通過if執行了 return結束方法導致沒有執行打印4.。
我們可以將代碼給修改一下我們再看結果:
public class key
{
public static void main(String args[]){
System.out.print("1.在調用fun方法之前:");
fun(10); //調用fun方法
System.out.print("2.在調用fun方法之後:");
}
public static void fun(int x){ //定義一個方法 返回的值是整型 定義fun方法 int x
System.out.print(" \n "); //輸出換行
System.out.print("3.進入fun方法:"); //輸出3.進入fun方法:
System.out.print(" \n "); //輸出換行
if(x==10){ //判斷x是否等於10 值爲真 執行什麼?
return; //結束方法,返回被調用處
}
System.out.print("4.正常執行完畢fun()方法。");
}
}
此時 調用方法的常量不再等於10了。那麼這個方法就跳過if語句裏面的代碼進行執行。跳過if裏的代碼執行,就意味着不執行return ,執行另外一個。那麼好,這段代碼輸出完整。
接下來我們講解的是遞歸調用:
public class key
{
public static void main(String args[]){
System.out.print("計算的結果是:"+sum(100));
}
public static int sum(int num){
if (num==1)
{
return 1;
}
else{
return num+sum(num-1),
}
}
}
以上的代碼就相當於:num+sum(99)+sum(98)…………直到1;
。