"Oke, mari kita coba pendekatan lain. Saya akan menunjukkan cara kerja metode pemanggilan, dan kemudian Anda mencoba mengulang pelajaran sebelumnya, oke?"

"Ayo lakukan."

"Bagus. Saya akan memberi tahu Anda tentang pemanggilan fungsi/metode dan nilai yang dikembalikannya (mengembalikan nilai)."

"Perintah, atau pernyataan, dikelompokkan ke dalam metode sehingga dapat dieksekusi sebagai satu blok, seperti perintah kompleks tunggal. Untuk melakukan ini, Anda perlu menulis nama metode (fungsi) dan kemudian mencantumkan argumen metode di dalam tanda kurung."

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 sebuah fungsi yang akan menampilkan string yang diteruskan di layar sebanyak empat kali. Kemudian kami memanggil fungsi tersebut print4di baris 6."

"Saat program mencapai baris 6, program akan melompat ke baris 9, menugaskan nilai 'I like to move it, move it'ke variabel s."

"Kemudian baris 11-14 akan dieksekusi. Fungsi akan selesai, dan program akan dilanjutkan pada baris 7."

"Jadi begitu."

"Anda tidak hanya dapat meneruskan argumen (nilai) ke suatu fungsi—sebuah fungsi dapat mengembalikan hasil pekerjaannya (nilai pengembalian). Hal ini dilakukan dengan kata kunci return. Begini tampilannya:"

Contoh 1.
Tentukan minimum dua angka.
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 kerjanya:
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);
   }
}

"Kurasa sudah mulai masuk akal! Kode di kolom kiri dan kanan sebenarnya sama. Hanya saja kode di sebelah kiri memiliki fungsi tersendiri."

"Fungsi menghitung nilai tertentu dan menggunakan pernyataan return untuk meneruskan nilai itu ke apa pun yang memanggilnya. Setidaknya, begitulah cara saya melihatnya."

"Dan kamu benar!"

"Tapi apa tipe kekosongan ini?"

"Beberapa fungsi hanya melakukan sesuatu tanpa menghitung atau mengembalikan nilai apa pun, seperti metode main() kita . Jenis pengembalian khusus– void –dibuat untuk fungsi semacam itu."

"Mengapa tidak mendeklarasikan apa-apa saja jika suatu fungsi tidak mengembalikan apa pun?"

"Ingat bagaimana kita mendeklarasikan variabel? Tipe dan nama. Untuk fungsi, kita mendeklarasikan tipe, nama, dan tanda kurung. Nama fungsi diikuti tanda kurung adalah cara Anda memanggil fungsi."

"Jadi, lebih mudah menemukan 'tipe kosong' daripada membagi fungsi menjadi dua kategori - yang mengembalikan nilai dan yang tidak?"

"Tepat! Kamu benar-benar pintar, Nak."

"Bagaimana kita mengembalikan tipe kosong?"

"Kami tidak. Cara kerjanya seperti ini. Saat menjalankan pernyataan pengembalian, mesin Java menghitung nilai ekspresi di sebelah kanan kata 'kembali', menyimpan nilai ini di bagian khusus memori, dan segera mengakhiri fungsi . Nilai yang disimpan digunakan di mana fungsi dipanggil, sebagai hasil dari pemanggilan fungsi. Anda dapat melihatnya pada contoh yang saya berikan sebelumnya."

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

"Ya. Setelah fungsi selesai, semuanya bekerja seolah-olah nilai kembalian fungsi ditulis pada tempatnya. Ulangi frasa ini dalam pikiran Anda dan lihat kode pada contoh terakhir. "

"Kupikir ini sepertinya mudah. ​​Sebenarnya sulit. Aku hanya mengerti sebagian saja."

"Tidak apa-apa. Pada percobaan pertama, kamu hanya bisa memahami hal-hal yang sudah kamu ketahui. Semakin banyak hal yang tidak kamu mengerti, semakin dalam kamu terjun ke sesuatu yang baru, dan semakin baik hasilnya. Ini akan menjadi lebih jelas seiring berjalannya waktu ."

"Baiklah, jika kamu berkata begitu. Ayo lanjutkan."