Java While Loop
प्रोग्रामिंग में, अक्सर ऐसे उदाहरण होते हैं जहां आपके पास एक दोहराव वाला कार्य होता है जिसे आप कई बार निष्पादित करना चाहते हैं। लूप्स इन दोहराव वाले कार्यों को स्वचालित करने और अधिक कुशल कोड बनाने के लिए उपयोग किए जाते हैं।
Java में while और do...while लूप्स का उपयोग कोड के एक ब्लॉक को तब तक निष्पादित करने के लिए किया जाता है जब तक कि एक विशिष्ट शर्त पूरी न हो जाए। ये लूप्स सशर्त if स्टेटमेंट्स के समान हैं, जो कोड के ब्लॉक होते हैं जो केवल तभी निष्पादित होते हैं जब एक विशिष्ट शर्त true का मूल्यांकन करती है। हालांकि, if स्टेटमेंट के विपरीत, while लूप्स तब तक चलते हैं जब तक कि शर्त true नहीं रह जाती।
यह ट्यूटोरियल Java में while और do...while स्टेटमेंट्स की मूल बातों पर चर्चा करेगा, और Java प्रोग्राम में इन स्टेटमेंट्स को प्रदर्शित करने के लिए कुछ उदाहरणों के माध्यम से चलेगा।
Java While Loop
while लूप कोड के एक ब्लॉक के माध्यम से तब तक लूप करता है जब तक कि एक निर्दिष्ट शर्त true का मूल्यांकन करती है। while लूप का सिंटैक्स पारंपरिक if स्टेटमेंट के समान है। यहाँ Java while लूप के लिए सिंटैक्स है:
while (condition_is_met) { // Code to execute }
while लूप पैरेंथेसिस के अंदर एक्सप्रेशन का परीक्षण करेगा। यदि बूलियन एक्सप्रेशन true का मूल्यांकन करता है, तो लूप का बॉडी निष्पादित होगा, फिर एक्सप्रेशन का फिर से मूल्यांकन किया जाता है। प्रोग्राम इस प्रक्रिया को तब तक जारी रखेगा जब तक एक्सप्रेशन false का मूल्यांकन नहीं करता, जिसके बाद while लूप रुक जाता है, और बाकी प्रोग्राम चलेगा।
आइए एक उदाहरण के माध्यम से चलते हैं कि while लूप का Java में उपयोग कैसे किया जा सकता है। मान लीजिए हम एक बढ़ई हैं और हमने अपनी दुकान में एक नई टेबल बेचना शुरू करने का फैसला किया है। हमारे पास केवल पांच टेबल बनाने की क्षमता है, जिसके बाद जो लोग टेबल चाहते हैं उन्हें वेटलिस्ट पर रखा जाएगा।
हम एक प्रोग्राम बनाना चाहते हैं जो हमें बताए कि कितने और लोग टेबल ऑर्डर कर सकते हैं इससे पहले कि हमें उन्हें वेटलिस्ट पर रखना पड़े। हम ऐसा while लूप का उपयोग करके कर सकते हैं जो लूप के बॉडी को तब तक निष्पादित करेगा जब तक कि किए गए ऑर्डर्स की संख्या सीमा से कम न हो:
int limit = 5; int orders_made = 0; while (orders_made < limit) { orders_made++; int capacity = limit - orders_made; String message = capacity + " more tables can be ordered."; System.out.println(message); }
हमारा कोड निम्न आउटपुट देता है:
4 more tables can be ordered. 3 more tables can be ordered. 2 more tables can be ordered. 1 more tables can be ordered. 0 more tables can be ordered.
आइए अपने कोड को समझते हैं। पहली लाइन पर, हम limit नामक एक वेरिएबल घोषित करते हैं जो हमारे द्वारा बनाई जा सकने वाली टेबल्स की अधिकतम संख्या को ट्रैक करता है। फिर, हम orders_made नामक एक वेरिएबल घोषित करते हैं जो किए गए ऑर्डर्स की संख्या को स्टोर करता है।
हमारा प्रोग्राम तब while लूप निष्पादित करता है, जो तब तक चलता है जब तक orders_made, limit से कम है। फिर, हम orders_made में 1 जोड़ने के लिए orders_made++ इंक्रीमेंट ऑपरेटर का उपयोग करते हैं।
इंक्रीमेंट ऑपरेटर के निष्पादित होने के बाद, हमारा प्रोग्राम limit से orders_made घटाकर टेबल्स की शेष क्षमता की गणना करता है। फिर, यह कंसोल पर [capacity] more tables can be ordered. संदेश प्रिंट करता है।
हमारा "while" स्टेटमेंट तब चलना बंद कर देता है जब orders_made, limit से बड़ा हो जाता है।
Java Do While Loop
do...while लूप while लूप का एक प्रकार है। do...while लूप do ब्लॉक में कोड के ब्लॉक को एक बार निष्पादित करता है इससे पहले कि यह जांचे कि कोई शर्त true का मूल्यांकन करती है या नहीं। फिर, प्रोग्राम तब तक लूप को दोहराएगा जब तक शर्त true है।
while और do...while लूप्स के बीच अंतर यह है कि while लूप्स while ब्लॉक में कोड चलाने से पहले एक शर्त का मूल्यांकन करते हैं, जबकि do...while लूप्स do ब्लॉक में कोड चलाने के बाद शर्त का मूल्यांकन करते हैं।
do...while लूप के लिए सिंटैक्स निम्नानुसार है:
do { // Code to execute } while (condition_is_met);
आइए एक उदाहरण का उपयोग करके समझाते हैं कि do...while लूप कैसे काम करता है।
मान लीजिए हम एक गेसिंग गेम बना रहे हैं जो यूजर से एक और दस के बीच एक नंबर अनुमान लगाने के लिए कहता है। हम चाहते हैं कि हमारा यूजर पहले नंबर दर्ज करे इससे पहले कि जांचा जाए कि उन्होंने सही नंबर अनुमान लगाया है या नहीं। यदि यूजर गलत नंबर दर्ज करता है, तो उन्हें फिर से प्रयास करने के लिए प्रेरित किया जाना चाहिए। हम do...while लूप का उपयोग करके इस कार्य को पूरा कर सकते हैं।
यहाँ एक प्रोग्राम का उदाहरण है जो यूजर से नंबर अनुमान लगाने के लिए कहता है, फिर do...while लूप का उपयोग करके मूल्यांकन करता है कि यूजर ने सही नंबर अनुमान लगाया है या नहीं:
import java.util.Scanner; class GuessingGame { public static void main(String[] args) { int number = 8; int guess = 0; Scanner input = new Scanner(System.in); do { System.out.print("Enter a number between 1 and 10: "); guess = input.nextInt(); } while (number != guess); System.out.println("You're correct!"); } }
जब हम अपना कोड चलाते हैं, तो do...while लूप में शर्त का मूल्यांकन करने से पहले हमसे पहले नंबर अनुमान लगाने के लिए कहा जाता है। यहाँ क्या होता है जब हम सही नंबर अनुमान लगाने से पहले कुछ नंबरों का अनुमान लगाते हैं:
Enter a number between 1 and 10: 9 Enter a number between 1 and 10: 1 Enter a number between 1 and 10: 4 Enter a number between 1 and 10: 5 Enter a number between 1 and 10: 8 You're correct!
आइए अपने कोड को समझते हैं। सबसे पहले, हम util.Scanner मेथड आयात करते हैं, जिसका उपयोग यूजर इनपुट एकत्र करने के लिए किया जाता है। फिर हम GuessingGame नामक एक क्लास परिभाषित करते हैं जिसमें हमारा कोड मौजूद है।
फिर हम दो वेरिएबल्स परिभाषित करते हैं: एक number कहलाता है जो अनुमान लगाने के लिए नंबर स्टोर करता है, और दूसरा guess कहलाता है जो यूजर्स का अनुमान स्टोर करता है।
फिर, हम अपने यूजर इनपुट को शुरू करने के लिए Scanner मेथड का उपयोग करते हैं। हम कंसोल पर Enter a number between 1 and 10: संदेश प्रिंट करते हैं, फिर यूजर द्वारा दर्ज नंबर को पुनः प्राप्त करने के लिए input.nextInt() मेथड का उपयोग करते हैं।
इस कोड के निष्पादित होने के बाद, do...while लूप मूल्यांकन करता है कि यूजर द्वारा अनुमान लगाया गया नंबर उस नंबर के बराबर है या नहीं जिसे यूजर को अनुमान लगाना है। यदि यूजर ने गलत नंबर अनुमान लगाया है, तो do लूप की सामग्री फिर से चलती है; यदि यूजर ने सही नंबर अनुमान लगाया है, तो do...while लूप निष्पादित होना बंद कर देता है और संदेश You're correct! कंसोल पर प्रिंट होता है।
Infinite Loops
Infinite लूप्स वे लूप्स हैं जो हमेशा के लिए चलते रहेंगे। यदि आपके पास एक while लूप है जिसका स्टेटमेंट कभी false का मूल्यांकन नहीं करता, तो लूप चलता रहेगा और आपके प्रोग्राम को क्रैश कर सकता है। इसलिए, यह सुनिश्चित करना महत्वपूर्ण है कि किसी बिंदु पर आपका while लूप चलना बंद कर दे।
यहाँ Java में infinite लूप का एक उदाहरण है:
while (true) { // Code to execute }
यह लूप अनिश्चित काल तक चलेगा। हालांकि, हम break स्टेटमेंट का उपयोग करके अपने प्रोग्राम को रोक सकते हैं। मान लीजिए हम एक प्रोग्राम बना रहे हैं जो ट्रैक करता है कि कितनी टेबल्स स्टॉक में हैं। हमारे पास केवल पांच टेबल्स स्टॉक में हैं। जब स्टॉक में कोई टेबल नहीं होती, तो हम चाहते हैं कि हमारा while लूप रुक जाए। हम निम्न कोड का उपयोग करके एक प्रोग्राम बना सकते हैं जो इन विशिष्टताओं को पूरा करता है:
Boolean tables_in_stock = true; int orders_made = 0; while (tables_in_stock) { orders_made++; if (orders_made == 5) { System.out.println("We are out of stock."); break; } else { int tables_left = 5 - orders_made; String message = "There are " + tables_left + " tables in stock."; System.out.println(message); } }
जब हम अपना कोड चलाते हैं, तो निम्न प्रतिक्रिया लौटाई जाती है:
There are 4 tables in stock. There are 3 tables in stock. There are 2 tables in stock. There are 1 tables in stock. We are out of stock.
हमारे उदाहरण में, while लूप तब तक निष्पादित होता रहेगा जब तक tables_in_stock true है। लेकिन हम कभी भी यह निर्दिष्ट नहीं करते कि tables_in_stock कैसे false बन सकता है।
इसलिए, हमारे कोड में, हम break स्टेटमेंट का उपयोग करते हैं जो तब निष्पादित होता है जब orders_made 5 के बराबर होता है।
इसका मतलब है कि जब पांच से कम ऑर्डर दिए गए हैं, तो एक संदेश प्रिंट होगा जिसमें लिखा होगा, There are [tables_left] tables in stock. लेकिन जब orders_made 5 के बराबर होता है, तो We are out of stock. बताने वाला संदेश कंसोल पर प्रिंट होगा, और break स्टेटमेंट निष्पादित होगा। जब break स्टेटमेंट चलता है, तो हमारा while स्टेटमेंट रुक जाएगा।
निष्कर्ष
while लूप का उपयोग Java में एक विशिष्ट ब्लॉक कोड को तब तक निष्पादित करने के लिए किया जाता है जब तक स्टेटमेंट true है, और जब स्टेटमेंट false होता है तो रुक जाता है। do...while लूप पहले कोड के एक ब्लॉक को निष्पादित करता है, फिर यह देखने के लिए स्टेटमेंट का मूल्यांकन करता है कि लूप को चलते रहना चाहिए या नहीं।
इस ट्यूटोरियल ने चर्चा की कि Java में while और do...while लूप दोनों का उपयोग कैसे करें। हमने infinite लूप्स के बारे में भी बात की और Java प्रोग्राम में इनमें से प्रत्येक मेथड का एक उदाहरण देखा। अब आप Java while और do...while लूप्स को एक्सपर्ट की तरह लिखने के लिए ज्ञान से लैस हैं!