“好吧,讓我們試試另一種方法。我會告訴你調用方法是如何工作的,然後你再嘗試一遍上節課,好嗎?”

“我們開始做吧。”

“太好了。我會告訴你調用函數/方法以及它們返回的值(返回值)。”

“命令或語句被分組到方法中,因此它們可以作為單個塊執行,就像單個複雜命令一樣。為此,您需要編寫方法(函數)名稱,然後在括號內列出方法的參數。”

例子
package com.codegym.lesson2;
public class MethodCall
{
    public static void main(String[] args)
    {
         print4("I like to move it, move it.");
    }

    public static void print4(String s)
    {
        System.out.println(s);
        System.out.println(s);
        System.out.println(s);
        System.out.println(s);
    }
}

“在上面的示例中,我們編寫了一個函數,將在屏幕上顯示四次傳遞的字符串。然後我們print4在第 6 行調用了該函數。”

“當程序執行到第6行時,會跳轉到第9行,給'I like to move it, move it'變量s賦值。”

“然後將執行第 11-14 行。函數將完成,程序將在第 7 行繼續執行。”

“我懂了。”

“您不僅可以將參數(值)傳遞給函數——函數還可以返回其工作結果(返回值)。這是通過關鍵字 return 完成的。它看起來是這樣的:”

示例 1.
確定兩個數中的最小值。
public class MethodCall
{
   public static void main(String[] args)
   {
      int a = 5, b = 7;
      int m = min(a, b);
      System.out.println("The minimum is "+ m);
   }

   public static int min(int c, int d)
   {
      int m2;
      if (c < d)
           m2 = c;
      else
           m2 = d;

      return m2;
   }
}
它是這樣工作的:
public class MethodCall
{
   public static void main(String[] args)
   {
      int a = 5, b = 7;
      int c = a, d = b;
      int m2;
      if (c < d)
           m2 = c;
      else
           m2 = d;

      int m = m2;
      System.out.println("The minimum is "+ m);
   }
}
1
任務
Java Syntax,  等級 2課堂 7
上鎖
Code entry
Sometimes you don't need to think, you just need to hammer it out! As paradoxical as it may seem, sometimes your fingers will "remember" better than your conscious mind. That's why while training at the secret CodeGym center you will sometimes encounter tasks that require you to enter code. By entering code, you get used to the syntax and earn a little dark matter. What's more, you combat laziness.

“我覺得開始有道理了!左右兩列的代碼其實是一樣的,只是左邊的代碼多了一個獨立的功能。”

“該函數計算某個值並使用 return 語句將該值傳遞給調用它的任何對象。至少,我是這麼看的。”

“你是對的!”

“可是這個虛空型是什麼?”

“有些函數只是做一些事情而不計算或返回任何值,比如我們的main()方法。一個特殊的返回類型——void——是為這些函數創建的。”

“如果一個函數不返回任何東西,為什麼不聲明什麼都不做呢?”

“還記得我們如何聲明任何變量嗎?類型和名稱。對於函數,我們聲明類型、名稱和括號。函數名稱後跟括號就是調用函數的方式。”

“所以,發明一個‘空類型’比將函數分為兩類——返回值和不返回值的函數更容易?”

“完全正確!你真的很聰明,我的孩子。”

“我們如何返回 void 類型?”

“我們沒有。它是這樣工作的。當執行return語句時,Java機器計算'return'一詞右邊的表達式的值,將這個值存儲在內存的一個特殊部分,並立即結束函數存儲的值在調用函數的地方使用,作為調用函數的結果。您可以在我之前給出的示例中看到它。”

“你的意思是將 int m = min(a, b) 轉換為 m = m2 的部分?”

“是的。函數結束後,一切正常,就好像函數的返回值寫在了它的位置上。在腦海中重複這句話,看看上一個例子中的代碼。

“我覺得這只是看似簡單,其實很難,我只理解了一部分。”

“沒關係。第一次嘗試,你只能理解你已經知道的東西。你不明白的東西越多,你就會對新事物投入越深,你的結果就會越好。隨著時間的推移,它會變得更加清晰”

“好吧,既然你這麼說,那我們繼續吧。”