Search This Blog

Thursday, September 15, 2011

Functions in Java

functions का नाम सुनते ही काफी विद्यारती डर जाते है | जबकि इनको आपका काम आसान करने के लिए बनाया गया है | function को आप एक ऐसी मशीन समझ सकते है जो सिर्फ एक काम करना जानती है | वोह काम कुछ भी हो सकता है | जैसे कोई मशीन सिर्फ दो नंबर को जोड़ना जानती हो , तोह जब भी आप उसे दो नंबर देंगे वैसे ही वोह आपको उसे जोड़ कर बता देगी | लेकिन चुकी मशीन तोह मशीन ही होती है , दो नंबर को जोड़ने वाली मशीन को तीसरा नंबर देने पर उसको नहीं पता होता की क्या करना है ? इसीलिए जावा ने हमे कहा की लीजिये हम यह आप पर छोड़ते है की आपको कैसी मशीन बनानी है | आप जैसे छाए वैसे मशीन बनाये | और उस मशीन का नाम जावा ने function दे दिया | 

इसके साथ जावा ने हमे यह ताकत भी दी की हम चाहे तोह इस मशीन का इस्तमाल किसी को भी करने दे (public) , और अगर चाहे तोह इसको सिर्फ कुछ अन्दर के लोगो को (private, protected) |

आप में से काफी लोग सोच रहे होगे की आखिर हमे मशीन की आवश्यकता ही क्या है ?
हमे इसके जरूरत इसलिए है की बार बार एक ही काम करने के लिए हमे कंप्यूटर को बार बार कोड लिख कर समझाना पड़ता है | इससे हमारा प्रोग्राम बहुत बड़ा हो जाता है अथवा उसको समझने में भी परेशानी होने लगती है | ऐसे जगह अगर सिर्फ एक बार लिखा गया function हमारा काम संभाल ले तोह हमे बार बार लिखने की झंझट से छुटकारा मिल सकता है | 

हम यहाँ दो उधाहरण देखेंगे , एक तो हमेशा हमारी दी हुई संख्या को +ve कर देगा और दूसरा हमे यह बताएगा की नंबर prime है या नहीं ?

public class Functions {  // यहाँ हम क्लास का नाम Functions दे रहे है , आप नाम अपनी पसंद का भी रख सकते है 

    // इनटीजर variable  की absolute value (किसी भी integer की absolute value हमेशा +ve होगी ) निकालना    

       public static int abs(int x) {    // पब्लिक का मतलब बहार से भी एक्सेस कर सकते है , static मतलब
                                                   // fixed , int इसका return टाइप है , abs funtion का नाम , (int x) इसका
                                                   // argument 
        if (x < 0) return -x;       // अगर x की value 0 से कम है तो x को minus "-" से गुना करके return करो
        else       return  x;        // नहीं तोह जो x है वही value return करो
    }

    // double value variable  की absolute value (overloading)
    public static double abs(double x) {
        if (x < 0) return -x;
        else       return  x;
    }

    // if else की मदद से value return करना साथ ही हम function में फॉर लूप का प्रयोग भी देखेंगे 
    public static boolean isPrime(int N) { // इस function से हम यह पता लगायेंगे की क्या N Prime है ?
        if (N < 2) return false;        // दो से कम है तोह false return करो क्यों की फिर x prime नहीं हो सकता
        for (int i = 2; i <= N/i; i++)     // फॉर लूप  यहाँ से समझे 
            if (N % i == 0) return false; // अगर n को इ की किसी भी value से भाग दिया जा सके तोह वोह prime
                                                      // नहीं होगा
        return true; // अथवा होगा
    }


2 comments:

  1. java me call by reference hota hai ya nahi sir

    ReplyDelete
  2. Hello Kamaluddin, thanks for your comment! Nahi, Java me call by reference nahi hota hai. Iski Jagah aap object ki help say variable ki value change kar sakte hoo.

    ReplyDelete