इस लेख में, मैं आपको एक सरल लेकिन महत्वपूर्ण अवधारणा से परिचित कराने जा रहा हूं जो जावा में दो संख्याओं के अतिरिक्त है। लेकिन आगे बढ़ने से पहले, मैं आपको 'जावा क्या है', जावा की विशेषताओं से परिचित होने का सुझाव दूंगा और आप अपने सिस्टम पर जावा को कैसे स्थापित कर सकते हैं, जिसे आप पिछले में पा सकते हैं । यह आपको आने वाली अवधारणाओं को जल्दी और आसानी से हड़पने में मदद करेगा। इस जावा ट्यूटोरियल श्रृंखला में अन्य ब्लॉग हमारे द्वारा लिखित विशेषज्ञ जावा और J2EE के सभी महत्वपूर्ण विषयों को गहराई से कवर करेंगे,
इस लेख में निम्नलिखित बिंदुओं को शामिल किया जाएगा,
- विधि 1
- विधि 2
- बार-बार एकजुट होने वाला ऑपरेटर
- प्रारंभिक लूप तालिका
- बिटवाइज़ एंड बिट्सशिफ्ट ऑपरेटर इन जावा
- पुनरावृत्ति
तो चलिए हम शुरू करते हैं,
जावा में दो संख्याओं का जोड़
विधि 1
स्क्रीन पर 'दो संख्याओं का जोड़' प्रिंट करने के लिए जावा में एक प्रोग्राम विकसित करके सीधे समझें।
वर्ग AddTwoNumbers {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {System.out.println ('दो संख्याओं का जोड़ 10 + 20 है' + (10 + 20))}}
आउटपुट
हमें यह समझना चाहिए कि, यहां संख्याओं को सीधे 10 + 20 कहा जाता है, जो कि 30 है। लेकिन हमें सांत्वना से क्या संख्या मिलती है। उस स्थिति में मान एक चर में संग्रहीत किया जाएगा। जावा के संदर्भ में, स्ट्रिंग सरणी चर उन संख्याओं को उनके सूचकांक के आधार पर संग्रहीत करेगा।
सार्वजनिक वर्ग मुख्य {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {System.out.println ('दो संख्याओं का जोड़' + args [0] + '+' + args [1] + 'is + (args / 0) ] + args [1])}}}
इसके लिए आउटपुट कंसोल में दिखाया जाएगा, जब हम एक ही नंबर से गुजरते हैं जो 10 और 20 है।
एह, जो परिणाम हमें यहां मिला है वह वांछित नहीं है। याद रखें स्ट्रिंग [] आर्ग्स, कंसोल से लिया गया हर इनपुट स्ट्रिंग में दर्शाया गया है। इसलिए यहाँ हमें जोड़कर उन स्ट्रिंग्स को इंटेगर में बदलना होगा।
सार्वजनिक वर्ग मुख्य {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {//System.out.println( दो संख्याओं का जोड़ + 'args [0] +' + '+ args [1] +' है '+ (args) [0] + args [1]) System.out.println ('दो संख्याओं का जोड़' + args [0] + '+' + args [1] + 'है' + (Integer.parseInt (args) 0] ) + Integer.parseInt (([1])))}}
आउटपुट
अब वांछित आउटपुट वही है जो हम चाहते हैं। 10 और 20 का जोड़ 30 के बाद है जब हमने इसे स्ट्रिंग से इंटेगर में ला दिया।
जावा में दो संख्याओं के जोड़ पर इस लेख में आगे
विधि 2
घटाव ऑपरेटर का उपयोग करना: हम घटाव का उपयोग दो संख्याओं को जोड़ने के लिए कर सकते हैं ताकि यह ऋणात्मक मान को नकारात्मक कर दे और इस प्रकार जोड़ दिया जाए।
सार्वजनिक वर्ग AddTwoNumbers {सार्वजनिक स्थैतिक int add (int a, int b) {वापसी a - (-b)} सार्वजनिक स्थैतिक शून्य मुख्य (String [] args) {System.out.println (add (10, 20)) System। out.println (जोड़ें (-10, 20))}}
ऊपुत
३०
१०
जावा में दो संख्याओं के जोड़ पर इस लेख में आगे
बार-बार एकजुट होने वाला ऑपरेटर
इसमें लूप शामिल है, इसके पीछे मूल विचार पहले ऑपरेंड के मूल्य को शून्य पर लाना है। और पुनरावृत्तियों की इसी राशि द्वारा इसके संबंधित दूसरे ऑपरेंड को LGmentment पर रखना। नीचे दिए गए उदाहरण पर स्वयं विचार करें।
सार्वजनिक वर्ग HelloWorld {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {System.out.println ('ऐड' + ऐड (10, 20)) System.out.println ('ऐड' + ऐड (-10, 20)) } सार्वजनिक स्थैतिक int add (int a, int b) {//System.out.println ('---> + + a': '+ b) जबकि (a> 0) {//System.out.println (जबकि (a> 0 ---> '+ + a': '+ b) b ++ a--} जबकि (a)<0) { //System.out.println('while a ' + a + ' : ' + b) b-- a++ } //System.out.println('return b--->'+ a +': '+ b) वापसी b}}
ऊपुत
$ javac HelloWorld.java $ java -Xmx128M -Xms16M HelloWorld 30 जोड़ 10 जोड़ें
जावा में दो संख्याओं के जोड़ पर इस लेख में आगे
बिटवाइज़ एंड बिट्सशिफ्ट ऑपरेटर इन जावा
XOR बिटवाइज़ ऑपरेटर का उपयोग करके हम दो पूर्णांकों को जोड़ भी सकते हैं और AND ऑपरेटर द्वारा ले जा सकते हैं। योग में ले जाने के लिए हमें हस्ताक्षरित बाएं पारी ऑपरेटर का उपयोग करने की आवश्यकता है। यह कैसे होता है? आइए पहले एक उदाहरण देखें।
सार्वजनिक वर्ग HelloWorld {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग [] args) {System.out.println ('एडिशन + वी' + addUsingBits (10, 20)) System.out.println ('एडिशन यूजिंग -ve' + addUsingBits () -10, 20)}} सार्वजनिक स्थैतिक int addUsingBits (int a, int b) {जबकि (b! = 0) {int carry = (a & b) a = a bb = carry<< 1 } return a } }
आउटपुट
$ जवैक हैलोवर्ल्ड.जावा
$ java -Xmx128M -Xms16M HelloWorld
जोड़ + ve 30 का उपयोग कर
परिवर्धन का उपयोग -ve 10
हमेशा याद रखें कि, XOR ऑपरेशन का उपयोग दो बिट्स के अतिरिक्त मूल्यांकन के लिए किया जाता है। AND ऑपरेशन का उपयोग दो बिट्स के कैरी का मूल्यांकन करने के लिए किया जाता है। आइए हम इसको विच्छेदित करें? इनपुट मानों के अनुसार जाने के लिए पहली शर्त के लिए a = 10 और b = 20 लें।
ऑपरेशन | अभिव्यक्ति का मूल्यांकन | बाइनरी समकक्ष | दशमलव मान |
सेवा मेरे | १० | 00001010 | १० |
बी | बीस | 00010100 है | बीस |
जबकि (बी! = 0) | सच | ||
int carry = (a & b) | 10 और 20 | ० | ० |
a = ए ^ बी | 10 ^ 20 | 00011110 है रिटेल श्रृंखला c ++ | ३० |
बी = कैरी<< 1 | ०<< 1 | ० | ० |
वापस आ जाओ | ३० | 00011110 है | ३० |
अब, एक नकारात्मक इनपुट का कहना है -10 a के लिए नीचे दी गई तालिका में क्या होता है इसकी जांच करते हैं।यह हमें लूप में ले जाता है जब तक कि ले जाने का दशमलव मान ऋणात्मक नहीं हो जाता।
जावा में दो संख्याओं के जोड़ पर इस लेख में आगे
प्रारंभिक लूप तालिका
ऑपरेशन | अभिव्यक्ति का मूल्यांकन | बाइनरी समकक्ष | दशमलव मान |
सेवा मेरे | -10 | 11110110 है | -10 |
बी | बीस | 00010100 है | बीस |
जबकि (बी! = 0) | सच | ||
int carry = (a & b) | -10 और 20 | 00010100 है | बीस |
a = ए ^ बी | -10 ^ 20 | 11100010 | -30 |
बी = कैरी<< 1 | बीस<< 1 | 00101000 है | ४० |
पाश १।
ऑपरेशन | अभिव्यक्ति का मूल्यांकन | बाइनरी समकक्ष | दशमलव मान |
सेवा मेरे | -30 | 11100010 | -30 |
बी | ४० | 00101000 है | ४० |
जबकि (बी! = 0) | सच | ||
int carry = (a & b) | -30 और 40 कमांड लाइन से हाइव क्वेरी चलाएँ | 00100000 है | 32 |
a = ए ^ बी | -30 ^ 40 | 11001010 | -54 |
बी = कैरी<< 1 | 32<< 1 | 00101000 है | 64 |
और इसलिए और जब तक लूप b = 0 नहीं निकलता है, तब तक brevity के लिए सभी परिणाम यहां नहीं दिखाए गए हैं। तो नीचे दी गई तालिका इस ऑपरेशन में अंतिम लूप का प्रतिनिधित्व करती है।
ऑपरेशन | अभिव्यक्ति का मूल्यांकन | बाइनरी समकक्ष | दशमलव मान |
सेवा मेरे | -2147483638 | 11111111111111111111111111111110000000000000000000000000001010 | -2147483638 |
बी | -2147483648 | 111111111111111111111111111110000000000000000000000000000000 | -2147483648 |
जबकि (बी! = 0) | सच | ||
int carry = (a & b) | -2147483638 और -2147483648 | 111111111111111111111111111110000000000000000000000000000000 | -2147483648 |
a = ए ^ बी | -2147483638 ^ -2147483648 | 00001010 | १० |
बी = कैरी<< 1 | -2147483648<< 1 | ० | ० |
वापस आ जाओ | १० | 00001010 | १० |
ताकि जोड़ की गणना हो सके। काहे! विचार के लिए बहुत कुछ। जरा सोचें कि क्या यह गणना मानव द्वारा मुख्य रूप से द्विआधारी गणना द्वारा की गई थी।
जावा में दो संख्याओं के जोड़ पर इस लेख में आगे
पुनरावृत्ति
हम उपरोक्त प्रोग्राम को पुनरावृत्ति का उपयोग करके भी लिख सकते हैं। गणना भाग में थोड़ा अंतर होता है, इस पर विचार करने के लिए हम आपको बताएंगे? मैं यहाँ पुनरावर्तन के लिए अर्क दे दूँगा और आप अपनी खुद की तालिका बनाने की कोशिश करेंगे ताकि आपको पता चले कि यह आंतरिक रूप से कैसे काम करता है। इसके अलावा, जब तक आप आंतरिक कार्य के बारे में उत्साहित नहीं होते हैं, तब तक यह सब कुछ नहीं करना है।
सार्वजनिक स्थैतिक int addUsingRecursion (int a, int b) {if (b == 0) int int = a ^ b int carry = (a & b) वापस करें<< 1 return add(sum, carry) }
यह सब जावा में दो संख्याओं को जोड़ने के लिए था + उपयोगकर्ता के साथ + संचालक का उपयोग किए बिना। उन दोनों में से किसी के जाने का कारण पूरी तरह से परियोजना की आवश्यकता और आवश्यकता पर निर्भर करेगा।
मैंने प्रदर्शन के साथ आने के लिए दोनों परिदृश्य के कामकाज का मूल्यांकन और परीक्षण नहीं किया है। मुझे लगता है कि यह तभी प्रभावी होगा जब आप रॉकेट का निर्माण कर रहे हैं और इसे अंतरिक्ष में पहुंचाएंगे।
मैंने संक्षिप्तताओं के लिए केवल इंटेर्स से संबंधित संख्याओं की व्याख्या की है जिसकी अपनी स्मृति सीमा है। मैं इसे आपको फ़्लोट, डबल आदि का उपयोग करने के लिए आगे बढ़ने के लिए छोड़ देता हूं। हमेशा याद रखें कि यदि आप आदिम प्रकारों की सीमा मूल्य से अधिक हैं, तो परिणाम अलग-अलग उत्तर दिखाएगा।
इसकी जाँच पड़ताल करो 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। हम यहां आपकी यात्रा में हर कदम पर आपकी सहायता करने के लिए हैं, आपके सर्वश्रेष्ठ बनने के लिए, हम एक पाठ्यक्रम लेकर आए हैं, जो छात्रों और पेशेवरों के लिए बनाया गया है, जो जावा डेवलपर बनना चाहते हैं।