"OK, subukan natin ang isa pang diskarte. Ipapakita ko sa iyo kung paano gumagana ang mga paraan ng pagtawag, at pagkatapos ay subukan mong dumaan muli sa nakaraang aralin, OK?"

"Gawin natin."

"Mahusay. Sasabihin ko sa iyo ang tungkol sa pagtawag sa mga function/pamamaraan at ang mga halagang ibinabalik nila (nagbabalik ng mga halaga)."

"Ang mga utos, o mga pahayag, ay pinagsama-sama sa mga pamamaraan upang maisakatuparan ang mga ito bilang isang bloke, tulad ng isang kumplikadong utos. Upang gawin ito, kailangan mong isulat ang pangalan ng pamamaraan (function) at pagkatapos ay ilista ang mga argumento ng pamamaraan sa loob ng mga panaklong."

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

"Sa halimbawa sa itaas, nagsulat kami ng isang function na magpapakita ng ipinasa na string sa screen ng apat na beses. Pagkatapos ay tinawag namin ang print4function sa linya 6."

"Kapag ang programa ay umabot sa linya 6, ito ay tumalon sa linya 9, na nagtatalaga ng halaga 'I like to move it, move it'sa variable na s."

"Pagkatapos ang mga linya 11-14 ay isasagawa. Ang function ay matatapos, at ang programa ay magpapatuloy sa linya 7."

"Nakita ko."

"Hindi lamang maaari kang magpasa ng mga argumento (values) sa isang function—maaaring ibalik ng isang function ang resulta ng trabaho nito (return value). Ginagawa ito sa keyword return. Ganito ang hitsura nito:"

Halimbawa 1.
Tukuyin ang pinakamababa ng dalawang numero.
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;
   }
}
Narito kung paano ito gumagana:
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);
   }
}

"I think it's starting to make sense! The code in the left and right columns is actually the same. It's just that the code on the left has a standalone function."

"Ang function ay nag-compute ng isang tiyak na halaga at ginagamit ang return statement upang ipasa ang halagang iyon sa anumang tinatawag na ito. Hindi bababa sa, iyon ang nakikita ko."

"At tama ka!"

"Ngunit ano itong void type?"

"Ginagawa lang ng ilang function ang isang bagay nang hindi nagko-compute o nagbabalik ng anumang halaga, tulad ng aming pangunahing() na pamamaraan. Isang espesyal na uri ng pagbabalik– void –ay nilikha para sa mga naturang function."

"Bakit hindi na lang magdeklara ng wala kung ang isang function ay hindi nagbabalik ng anuman?"

"Remember how we declare any variable? Type and name. Para sa functions, we declare a type, name, and parentheses. Ang function name na sinusundan ng parentheses ay kung paano mo tinatawag ang function."

"Kaya, mas madaling mag-imbento ng 'void type' kaysa hatiin ang mga function sa dalawang kategorya - ang mga nagbabalik ng mga halaga at ang mga hindi?"

"Exactly! Ang bait mo talaga anak ko."

"Paano tayo magbabalik ng void type?"

"Hindi namin ginagawa. Ito ay gumagana nang ganito. Kapag isinasagawa ang return statement, kino-compute ng Java machine ang halaga ng expression sa kanan ng salitang 'return', iniimbak ang halagang ito sa isang espesyal na bahagi ng memorya, at agad na nagtatapos. ang function . Ginagamit ang stored value kung saan tinawag ang function, bilang resulta ng pagtawag sa function. Makikita mo ito sa halimbawang ibinigay ko kanina."

"Ang ibig mong sabihin ay ang bahagi kung saan ang int m = min(a, b) ay binago sa m = m2?"

"Oo. Pagkatapos ng function, gumagana ang lahat na parang ang return value ng function ay isinulat sa lugar nito. Ulitin ang pariralang ito sa iyong isip at tingnan ang code sa huling halimbawa. "

"I think this only seems easy. It's actually difficult. I've only understand parts of it."

"Ok lang yun. Sa unang pagsubok, mauunawaan mo lang ang mga bagay na alam mo na. Kung mas maraming bagay ang hindi mo naiintindihan, mas malalim kang nahuhulog sa isang bagong bagay, at mas magiging maganda ang iyong mga resulta. Ito ay magiging mas malinaw sa paglipas ng panahon ."

"Well, if you say so. Ituloy na natin."