第二十六天 方法的調用

在上一章節講到了簡單的方法調用數組,這一章講解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;

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章