लोड हो रहा है...

Java में रिटर्न वैल्यू

twice नाम की एक मेथड लिखें जो int नाम का n ले और उस संख्या का दोगुना लौटाए। हेडर int से शुरू होता है, void से नहीं: static int twice(int n)। braces के अंदर return n * 2; लिखें। main में कॉल का परिणाम छापें: System.out.println(twice(7));। स्क्रीन को एक पंक्ति दिखानी चाहिए: 14। स्वयं twice println नहीं कॉल करती। वह केवल 14 लौटाती है। main उस संख्या को छापता है। यही लौटाना इस पृष्ठ का पाठ है।

main को एक संख्या लौटाएँ

parameters पृष्ठ पर greet और show मेथड शरीर के अंदर छापते थे। कॉल अंदर मान भेजती थी और मेथड स्क्रीन पर लिखती थी। यहाँ मेथड अभी भी मान लेती है, लेकिन बाहर भी एक मान भेजती है। शब्द return उस बाहर जाने वाले मान को चिह्नित करता है। main उसे रख सकता है या छाप सकता है।
Box.java नाम की एक छोटी प्रोग्राम फ़ाइल बनाएँ। पहली पंक्ति की public class फ़ाइल नाम से मेल खानी चाहिए: public class Box। इस फ़ाइल में पुराना Tip या Chime क्लास नाम न छोड़ें; कंपाइलर क्लास नाम और फ़ाइल नाम का मेल चाहता है।
main के बाहर, फिर भी क्लास braces के अंदर, लिखें:
static int twice(int n) {
return n * 2;
}
हेडर अब void नहीं कहता। वह int कहता है क्योंकि लौटने वाला मान int है। कोष्ठक के बीच int n अभी भी पैरामीटर है — पिछले पृष्ठ जैसा ही विचार। शरीर में एक कथन है: return n * 2;। वह n को 2 से गुणा करता है और गुणनफल उसे लौटाता है जिसने twice कॉल किया। इस पृष्ठ पर twice के अंदर कोई System.out.println नहीं है। कंपाइल से पहले फ़ाइल सहेजें।

Box.java में twice

यह पूरी छोटी प्रोग्राम है। twice गणना करता है। main छापता है।

twice n का दोगुना लौटाता है

java
public class Box {
    public static void main(String[] args) {
        System.out.println(twice(7));
    }

    static int twice(int n) {
        return n * 2;
    }
}

उस फ़ोल्डर से जहाँ Box.java है, javac Box.java चलाएँ। जब कोष्ठक, braces और सेमीकोलन मेल खाते हैं, javac अपनी कोई पंक्ति नहीं लिखता। फिर java Box चलाएँ — java Box.java नहीं। दूसरी कमांड से .java अंत हटा दें। वही दो कमांड Windows और macOS दोनों पर चलती हैं; इस पृष्ठ को किसी भी सिस्टम के लिए अलग shell वर्तनी की ज़रूरत नहीं। प्रोग्राम को एक पंक्ति छापकर रुकना चाहिए: 14। उसे आपसे टाइप नहीं माँगना चाहिए। अगर टर्मिनल कीबोर्ड इनपुट का इंतज़ार करे, तो पुराने अभ्यास का nextLine अभी फ़ाइल में है। उस कॉल को हटाएँ और System.out.println(twice(7)); तथा ऊपर वाली twice मेथड रखें। गलत स्क्रीन पंक्ति का मतलब नया JDK इंस्टॉल नहीं है।

एक रन क्रम से पढ़ें। Java main से शुरू होता है। कॉल twice(7) संख्या 7 को n में भेजती है। twice के अंदर return n * 2; संख्या 14 निकालता है और वही 14 main को लौटाता है। फिर println 14 लिखता है। twice ने खुद स्क्रीन पर कुछ नहीं लिखा। अगर कॉल twice(3) कर दें, स्क्रीन को 6 दिखाना चाहिए। मेथड शरीर वही रहता है; केवल आर्गुमेंट बदलता है और लौटा गुणनफल उसी के साथ बदलता है। अगर स्क्रीन 14 की जगह 7 दिखाए, तो आपने twice के अंदर n छापा है या main में बिना twice कॉल किए आर्गुमेंट छापा है — दोगुना करना return पंक्ति पर रखें और कॉल का परिणाम छापें।
आप लौटा मान छापने से पहले main के अंदर एक नाम में रख भी सकते हैं:
int result = twice(7);
System.out.println(result);
वह भी एक पंक्ति दिखाता है: 14। पहले कॉल खत्म होती है और result भर जाता है। फिर println वही result लिखता है। दोनों आकार — कॉल को सीधे छापना, या रखकर फिर छापना — twice के उसी return का उपयोग करते हैं।

वह मान छापें जो main को मिला

अगर स्क्रीन पर दूसरी पंक्ति चाहिए, केवल कॉल में संख्या बदलें। return n * 2; को न छुएँ। हर बदलाव के बाद फिर कंपाइल और चलाएँ: javac Box.java, फिर java Box। twice(0) को 0 छापना चाहिए। twice(10) को 20 छापना चाहिए। हर बार main वही छापता है जो twice ने लौटाया।
अगर twice के हेडर में अभी भी void हो लेकिन शरीर में return n * 2; हो, javac एक error लिखता है — void का मतलब कुछ नहीं लौटता, इसलिए मान वाला return फिट नहीं बैठता। अगर हेडर int कहे लेकिन शरीर में return न हो, javac फिर भी error लिखता है — इस शुरुआती आकार पर int मेथड को हर पथ पर एक int लौटाना चाहिए। अगर शरीर छापे और कभी return न करे, आप Tip पृष्ठ के विचार पर वापस हैं; यह पृष्ठ चाहता है कि संख्या main के हाथ में हो।

void बनाम टाइप वाला return

दोनों आकार साथ रख कर पढ़ें। void मेथड शरीर चलाती है और खत्म होती है। टाइप वाले return वाली मेथड को return से मान लौटाना चाहिए। जब return टाइप void न हो, main कॉल को वही मान मानता है।

📊 void शरीर बनाम return

आकार मेथड क्या करती है main अक्सर क्या करता है
void show(int n) शरीर के अंदर छापती है show(9); कॉल करता है और शायद और कुछ न छापे
int twice(int n) return n * 2; twice(7) छापता या रखता है

एक आम गलती twice के अंदर System.out.println(n * 2); रखना और हेडर को बिना return के int छोड़ना है। तब javac शिकायत करता है, या आप हेडर वापस void कर देते हैं और main के पास कॉल से छापने के लिए मान नहीं बचता। दूसरी गलती हेडर int कहते हुए बिना मान का return; लिखना है। return n * 2; रखें ताकि लौटे व्यंजक का टाइप int से मेल खाए। main में System.out.println("twice"); लिखना शब्द twice छापता है; मेथड कॉल नहीं होती। जब स्क्रीन पर 14 चाहिए, println(twice(7)) रखें।

Tip पृष्ठ का बचा हुआ greet डेमो जो मेथड के अंदर केवल hi lena छापता है उसी फ़ाइल में रह सकता है और स्क्रीन को उलझा सकता है। main को उस println तक साफ़ करें जो twice उपयोग करता है, और एक लौटाने वाली मेथड रखें। twice को main के braces के अंदर न रखें। मेथडें क्लास के अंदर, main के पास बैठती हैं। क्लास खत्म होने से पहले twice के braces बंद करें।

overloading से पहले

आप static int twice(int n) लिख सकते हैं, गणना किया मान लौटा सकते हैं, और वह मान main से छाप सकते हैं। स्क्रीन वह संख्या दिखाती है जो main को मिली, वह पंक्ति नहीं जो मेथड ने खुद छापी हो। जब आपको लौटा मान चाहिए void गलत हेडर है। अगला पृष्ठ overloading है; वहाँ एक से अधिक मेथड तब एक नाम साझा कर सकती हैं जब उनके पैरामीटर सूची अलग हों।

🧠 अपने ज्ञान की परीक्षा करें

शुरू करने के लिए तैयार

अपने ज्ञान की परीक्षा करें

इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं

❓
6
प्रश्न
🎯
70%
पास करने के लिए
♾️
∞
समय
🔄
∞
प्रयास

📝 निर्देश

  • हर प्रश्न को ध्यान से पढ़ें
  • हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
  • आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
  • आपकी प्रगति शीर्ष पर दिखाई जाएगी