"ठीक है, एक और तरीका आजमाते हैं। मैं आपको दिखाऊंगा कि कॉलिंग के तरीके कैसे काम करते हैं, और फिर आप पिछले पाठ को फिर से पढ़ने की कोशिश करते हैं, ठीक है?"

"चलो यह करते हैं।"

"बहुत बढ़िया। मैं आपको कॉल करने वाले फ़ंक्शन/विधियों और उनके द्वारा लौटाए जाने वाले मानों (वापसी मान) के बारे में बताऊंगा।"

"कमांड, या स्टेटमेंट्स, मेथड्स में समूहीकृत हैं ताकि उन्हें सिंगल कॉम्प्लेक्स कमांड की तरह सिंगल ब्लॉक के रूप में निष्पादित किया जा सके। ऐसा करने के लिए, आपको मेथड (फ़ंक्शन) का नाम लिखना होगा और फिर कोष्ठकों के अंदर मेथड के तर्कों को सूचीबद्ध करना होगा।"

उदाहरण
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 पर पहुंचता है, तो यह 'I like to move it, move it'वेरिएबल s को वैल्यू असाइन करते हुए लाइन 9 पर कूद जाएगा।"

"फिर 11-14 पंक्तियों को क्रियान्वित किया जाएगा। समारोह समाप्त हो जाएगा, और कार्यक्रम 7 पंक्ति पर फिर से शुरू होगा।"

"अच्छा ऐसा है।"

"न केवल आप किसी फ़ंक्शन में तर्क (मान) पास कर सकते हैं—एक फ़ंक्शन अपने कार्य का परिणाम (रिटर्न मान) वापस कर सकता है। यह कीवर्ड रिटर्न के साथ किया जाता है। यह इस तरह दिखता है:"

उदाहरण 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);
   }
}

"मुझे लगता है कि यह समझ में आने लगा है! बाएँ और दाएँ कॉलम में कोड वास्तव में समान है। यह सिर्फ इतना है कि बाईं ओर के कोड में एक स्टैंडअलोन फ़ंक्शन है।"

"फ़ंक्शन एक निश्चित मान की गणना करता है और उस मान को पास करने के लिए रिटर्न स्टेटमेंट का उपयोग करता है जिसे इसे कहा जाता है। कम से कम, मैं इसे इस तरह देखता हूं।"

"और तुम सही हो!"

"लेकिन यह शून्य प्रकार क्या है?"

"कुछ फ़ंक्शन बिना किसी मूल्य की गणना या वापसी के बस कुछ करते हैं, जैसे कि हमारी मुख्य () विधि। ऐसे कार्यों के लिए एक विशेष रिटर्न प्रकार - शून्य - बनाया गया था।"

"अगर कोई फ़ंक्शन कुछ भी वापस नहीं करता है तो क्यों न कुछ भी घोषित न करें?"

"याद रखें कि हम किसी भी चर को कैसे घोषित करते हैं? प्रकार और नाम। कार्यों के लिए, हम एक प्रकार, नाम और कोष्ठकों की घोषणा करते हैं। कोष्ठकों के बाद एक फ़ंक्शन नाम है कि आप फ़ंक्शन को कैसे कॉल करते हैं।"

"तो, कार्यों को दो श्रेणियों में विभाजित करने के बजाय 'शून्य प्रकार' का आविष्कार करना आसान था - वे जो मान लौटाते हैं और जो नहीं करते हैं?"

"बिल्कुल सही! तुम सच में होशियार हो, मेरे लड़के।"

"हम एक शून्य प्रकार कैसे लौटा सकते हैं?"

"हम नहीं करते। यह इस तरह काम करता है। रिटर्न स्टेटमेंट को निष्पादित करते समय, जावा मशीन 'रिटर्न' शब्द के दाईं ओर अभिव्यक्ति के मूल्य की गणना करती है, इस मान को मेमोरी के एक विशेष भाग में संग्रहीत करती है, और तुरंत समाप्त हो जाती है । फ़ंक्शन फ़ंक्शन को कॉल करने के परिणाम के रूप में संग्रहीत मूल्य का उपयोग किया जाता है जहां फ़ंक्शन को कॉल किया गया था। आप इसे पहले दिए गए उदाहरण में देख सकते हैं। "

"आपका मतलब वह हिस्सा है जहां int m = min (a, b) को m = m2 में बदल दिया जाता है?"

"हाँ। फ़ंक्शन समाप्त होने के बाद, सब कुछ काम करता है जैसे कि फ़ंक्शन का रिटर्न मान उसके स्थान पर लिखा गया था। इस वाक्यांश को अपने दिमाग में दोहराएं और पिछले उदाहरण में कोड देखें। "

"मुझे लगता है कि यह केवल आसान लगता है। यह वास्तव में कठिन है। मैंने इसके कुछ हिस्सों को ही समझा है।"

"यह ठीक है। पहली कोशिश में, आप केवल उन चीजों को समझ सकते हैं जो आप पहले से जानते हैं। जितनी अधिक चीजें आप नहीं समझते हैं, उतनी ही गहराई से आप कुछ नया करने की कोशिश कर रहे हैं, और आपके परिणाम बेहतर होंगे। यह समय के साथ स्पष्ट हो जाएगा "

"ठीक है, अगर तुम ऐसा कहते हो। चलो चलते हैं।"