"OK, mari cuba pendekatan lain. Saya akan tunjukkan cara kaedah panggilan berfungsi, dan kemudian anda cuba ulangi pelajaran sebelumnya, OK?"

"Mari lakukannya."

"Bagus. Saya akan memberitahu anda tentang memanggil fungsi/kaedah dan nilai yang dikembalikan (nilai pulangan)."

"Arahan, atau pernyataan, dikumpulkan ke dalam kaedah supaya ia boleh dilaksanakan sebagai satu blok, seperti satu perintah kompleks. Untuk melakukan ini, anda perlu menulis nama kaedah (fungsi) dan kemudian menyenaraikan hujah kaedah di dalam kurungan."

Contoh
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);
    }
}

"Dalam contoh di atas, kami menulis fungsi yang akan memaparkan rentetan yang diluluskan pada skrin empat kali. Kemudian kami memanggil fungsi print4dalam baris 6."

"Apabila program mencapai baris 6, ia akan melompat ke baris 9, memberikan nilai 'I like to move it, move it'kepada pembolehubah s."

"Kemudian baris 11-14 akan dilaksanakan. Fungsi akan selesai, dan program akan disambung semula pada baris 7."

"Saya faham."

"Bukan sahaja anda boleh menghantar argumen (nilai) kepada fungsi—fungsi boleh mengembalikan hasil kerjanya (nilai pulangan). Ini dilakukan dengan pulangan kata kunci. Beginilah rupanya:"

Contoh 1.
Tentukan minimum dua nombor.
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;
   }
}
Begini cara ia berfungsi:
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);
   }
}

"Saya rasa ia mula masuk akal! Kod di lajur kiri dan kanan sebenarnya sama. Cuma kod di sebelah kiri mempunyai fungsi tersendiri."

"Fungsi ini mengira nilai tertentu dan menggunakan pernyataan pulangan untuk menghantar nilai itu kepada apa sahaja yang dipanggil. Sekurang-kurangnya, itulah cara saya melihatnya."

"Dan awak betul!"

"Tetapi apakah jenis kosong ini?"

"Sesetengah fungsi hanya melakukan sesuatu tanpa mengira atau mengembalikan sebarang nilai, seperti kaedah utama() kami . Jenis pulangan khas– void – telah dicipta untuk fungsi tersebut."

"Mengapa tidak hanya mengisytiharkan tiada jika fungsi tidak mengembalikan apa-apa?"

"Ingat bagaimana kami mengisytiharkan sebarang pembolehubah? Jenis dan nama. Untuk fungsi, kami mengisytiharkan jenis, nama dan kurungan. Nama fungsi diikuti dengan kurungan ialah cara anda memanggil fungsi itu."

"Jadi, lebih mudah untuk mencipta 'jenis kekosongan' daripada membahagikan fungsi kepada dua kategori - yang mengembalikan nilai dan yang tidak?"

"Betul! Pandai betul awak ni anak saya."

"Bagaimana kita mengembalikan jenis kekosongan?"

"Kami tidak. Ia berfungsi seperti ini. Apabila melaksanakan penyata pulangan, mesin Java mengira nilai ungkapan di sebelah kanan perkataan 'kembali', menyimpan nilai ini dalam bahagian khas ingatan, dan serta-merta tamat the function . Nilai yang disimpan digunakan di mana fungsi itu dipanggil, sebagai hasil daripada memanggil fungsi. Anda boleh melihatnya dalam contoh yang saya berikan sebelum ini."

"Anda maksudkan bahagian di mana int m = min(a, b) diubah menjadi m = m2?"

"Ya. Selepas fungsi selesai, semuanya berfungsi seolah-olah nilai pulangan fungsi itu ditulis pada tempatnya. Ulangi frasa ini dalam fikiran anda dan lihat kod dalam contoh terakhir. "

"Saya rasa ini nampak mudah sahaja. Ia sebenarnya sukar. Saya hanya faham sebahagian sahaja."

"Tidak mengapa. Pada percubaan pertama, anda hanya boleh memahami perkara yang anda sudah tahu. Semakin banyak perkara yang anda tidak faham, semakin mendalam anda terjun ke dalam sesuatu yang baru, dan semakin baik keputusan anda. Ia akan menjadi lebih jelas dengan masa ."

"Nah, kalau awak cakap macam tu. Jom teruskan."