Isang lecture snippet na may mentor bilang bahagi ng kurso ng Codegym University. Mag-sign up para sa buong kurso.


"Ikaw na naman, Amigo. Well, hello."

"Mukhang hindi ka masyadong masaya na makita ako, Diego?"

"Nakakuha ako ng impresyon na sa tingin mo ay natutunan mo na ang lahat ng dapat malaman tungkol sa mga pamamaraan sa Java."

"Ay, ayoko..."

"I don't think so! You don't even know the half of it."

"Sure, hindi ako nagsasawang...

"Okay, sapat na ang pag-uusap. Oras na para magsimula. At magsisimula tayo sa isang bagay na simple. Halimbawa, ang katotohanan na ang Java ay may return statement. Nagbibigay-daan ito sa iyo na agad na wakasan ang isang paraan kung saan ito tinatawag. Narito ang pahayag:

return;

"Ito ay simple: ang nag-iisang salita returnna sinusundan ng isang semicolon. Sa sandaling isagawa ng programa ang pahayag na ito, ang kasalukuyang pamamaraan ay lalabas at ang paraan ng pagtawag ay magpapatuloy.

"Kung returntinawag sa mainpamamaraan, ang mainpamamaraan ay agad na magtatapos, at kasama nito ang buong programa.

Halimbawa:

class Solution
{
   public static void fill(int[] data, int from, int to, int value)
   {
     if (from < 0 || to > data.length)
       return;

     for (int i = from; i < to; i++)
     {
       data[i] = value;
     }
   }

   public static void main(String[] args)
   {
     int[] months = {1, 2, 3, 4, 5, 6, 7, 8 ,9, 10, 11, 12};
     fill(months, 2, 10, 8);
   }
}
Pinupuno ng fill pamamaraan ang bahagi ng naipasa na array ng value.

Ang bahagi ng array na pupunan ay tinutukoy ng mga indeks from at to.

Kung from mas mababa sa 0o kung to  mas malaki kaysa sa haba ng array, pagkatapos ay magtatapos kaagad ang pamamaraan.

"Ang programa sa itaas ay may fillparaan na pumupuno sa array na ipinasa dito ng value. Hindi nito pinupunan ang buong array, tanging ang bahaging tinukoy ng mga indeks fromat to.

"Sa simula ng fillpamamaraan, ang mga naipasa na mga halaga ay sinusuri upang matiyak na ang mga ito ay wasto. Kung frommas mababa sa 0, o kung tomas malaki kaysa sa haba ng array, pagkatapos ay ang fillpamamaraan ay magwawakas kaagad (nagpapatupad ng isang returnpahayag)."

"Got it. Iyon lang ba ang ginagawa ng statement na ito?"

"Sa totoo lang, ang returnpahayag ay mas kapaki-pakinabang kaysa sa iyong iniisip. Ito ay lubhang kapaki-pakinabang na ito ay matatagpuan sa halos lahat ng paraan sa Java. At ngayon ay dadalhin kita sa isang pag-unawa kung bakit ito ay gayon.

Mga pamamaraan na may resulta,void

"Marahil naaalala mo na may mga pahayag, at may mga ekspresyon . Ano ang pagkakaiba sa pagitan nila?"

"Kung hindi ako nagkakamali, ang isang expression, hindi tulad ng isang pahayag, ay may kahulugan na maaaring gamitin sa isang lugar."

"Tama. At, sa Java, ang mga pamamaraan ay maaari ding magkaroon ng halaga . At ito ay napakagandang balita: ang mga pamamaraan ay hindi lamang nagagawa ng isang bagay batay sa mga parameter ng pag-input, kundi pati na rin, halimbawa, upang suriin ang isang bagay at ibalik ang resulta ng ang pagkalkula .

"Sa pamamagitan ng paraan, nakatagpo ka na ng mga ganitong pamamaraan:

double delta = Math.abs(d1 - d2);
Ang abs()pamamaraan ay nagbabalik ng doble
Scanner console = new Scanner(System.in);
int x = console.nextInt();

Ang nextInt()pamamaraan ay nagbabalik ng isangint
String str = "Hello";
String s2 = str.toUpperCase();
Ang toUpperCase()pamamaraan ay nagbabalik aString
int[] data = {1, 4, 5, 6, 7, 8, 11};
int[] array = Arrays.copyOf(data, 4);

Ang copyOf()pamamaraan ay nagbabalik ng isangint[]

"Ang bawat paraan ay maaari lamang magbalik ng isang halaga ng isang paunang natukoy na uri . Ang uri ng pagbabalik ay tinutukoy kapag ang paraan ay idineklara:

public static Type name(parameters)
{
  method body
}

Nasaan nameang pangalan ng pamamaraan, parametersang listahan ng mga parameter ng pamamaraan, at typeang uri ng resulta na ibinabalik ng pamamaraan.

Para sa mga pamamaraan na walang ibinabalik, mayroong isang espesyal na uri ng placeholder: void.

"Sa madaling salita, kung isusulat ko ang aking pamamaraan at ayaw kong magbalik ng anuman, pagkatapos ay idineklara ko ang uri ng pamamaraan na magiging void, at iyon lang?"

"Oo. At, dapat ko ring sabihin na ang Java ay may napakaraming ganoong pamamaraan.

Nagbabalik ng resulta

"Naisip ko kung paano magdeklara ng isang pamamaraan na nagbabalik ng resulta ng isang pagkalkula/trabaho. Paano ko ibabalik ang resulta mula sa mismong pamamaraan?"

"Iyan ay isang wastong tanong. Ang returnpahayag ay tumutulong sa amin dito muli. Ang pagpasa ng isang resulta mula sa isang pamamaraan ay ganito ang hitsura:

return value;

" returnAgad na wawakasan ng pahayag ang pamamaraan. At valuekung ano ang dapat ibalik ng pamamaraan sa paraan ng pagtawag kapag lumabas ito. Ang uri ng ay valuedapat tumugma sa Typetinukoy sa deklarasyon ng pamamaraan. Narito ang ilang mga halimbawa upang palakasin ang iyong natutunan:

Halimbawa 1. Kinakalkula ng pamamaraan ang minimum na dalawang numero:

int min(int a, int b)
{
   if (a < b)
     return a;
   else
     return b;
}
Ibinabalik ng pamamaraan ang pinakamababang dalawang numero.

Kung a < b
bumalik a
Kung hindi
bumalikb

Halimbawa 2. Kino-duplicate ng pamamaraan ang string na ipinasa dito sa nmga oras:

String multiple(String str, int times)
{
   String result = "";

   for (int i = 0; i < times; i++);
     result = result + " "+ str;
   return result;
}
Ang pamamaraan ay tumatagal ng dalawang parameter - isang string at ang dami ng beses na dapat ulitin ang string.
Ang isang walang laman na string ay nilikha para sa hinaharap na resulta.

Sa isang loop na may timesmga pag-ulit, isang puwang at ang string stray idinagdag sa string result.
Ang string resultay ibinalik bilang resulta ng pamamaraan.

Halimbawa 3: Kinakalkula ng pamamaraan ang maximum na dalawang numero gamit ang ternary operator:

int max(int a, int b)
{
   return (a > b ? a : b);
}
Ibinabalik ng pamamaraan ang maximum na dalawang numero.

bumalik (kung a > b, kung gayon a, kung hindi b)

"Excellent. Methods are my new superpower!"

"Kung sapat lang ang pagsasanay mo sa mga hands-on na gawain. Paulit-ulit."