लूप्स (ब्रेक एंड रिटर्न, कंटीन्यू, लेबल्स) - 1

"हाय, अमीगो!"

"आज मैं आपको कुछ चीजों के बारे में बताऊंगा जो लूप के साथ काम करते समय सुविधाजनक हैं।"

"पहला कीवर्ड ब्रेक है । यदि आप लूप के शरीर में इस कमांड का उपयोग करते हैं, तो कमांड निष्पादित होने पर लूप तुरंत समाप्त हो जाएगा। यहां एक उदाहरण दिया गया है:"

उदाहरण आउटपुट:
for (int i = 0; i < 10; i++)
{
System.out.println(i);
if (i > 5)
break;
}
0
1
2
3
4
5

"क्या ब्रेक केवल एक लूप में इस्तेमाल किया जा सकता है?"

"हाँ। ब्रेक स्टेटमेंट का उपयोग केवल एक लूप में किया जा सकता है। जब एक ब्रेक स्टेटमेंट निष्पादित किया जाता है, तो लूप तुरंत समाप्त हो जाता है।"

"ठीक मिल गया।"

"शानदार। अब दूसरी चीज जो मैं साझा करना चाहता हूं वह है कीवर्ड जारी। इसका उपयोग केवल एक लूप में भी किया जा सकता है। जब यह आदेश निष्पादित होता है, तो लूप का एक नया पुनरावृत्ति तुरंत शुरू होता है। दूसरे शब्दों में, कोई भी शेष कोड लूप का शरीर बस छोड़ दिया जाता है।"

"यहाँ एक उदाहरण है:"

उदाहरण आउटपुट:
for (int i = 0; i < 10; i++)
{
if (i % 2 == 0)
continue;
System.out.println(i);
}
1
3
5
7
9

"तो, एक बार जब प्रोग्राम लूप में एक कमांड जारी रखता है, तो यह लूप में कोड को निष्पादित करना बंद कर देता है?"

"नहीं। देखिए, जब हम एक ही कोड को कई बार एक्जीक्यूट करते हैं तो हमारे पास एक लूप होता है। ऊपर के उदाहरण में, हमारे पास 0 से 9 तक का लूप है, यानी लूप की बॉडी को 10 बार एक्जीक्यूट किया जाएगा। सही?"

"हाँ।"

"लूप के शरीर के माध्यम से एक पास को पुनरावृत्ति कहा जाता है। हमारे लूप में 10 पुनरावृत्तियाँ होती हैं - लूप के शरीर को दस बार निष्पादित किया जाएगा।"

"हाँ, यह स्पष्ट है।"

" जारी आदेश वर्तमान पुनरावृत्ति को समय से पहले समाप्त कर देता है, अर्थात लूप के अंदर कोई भी शेष कोड छोड़ दिया जाता है और एक नया पुनरावृत्ति शुरू हो जाता है।"

"यहाँ एक और उदाहरण है:"

उदाहरण
ArrayList list = new ArrayList();
for (Object o: list)
{
if (o == null) continue;
System.out.println(o.toString());
}

"इस उदाहरण में, हम सूची में सभी वस्तुओं का एक स्ट्रिंग प्रतिनिधित्व प्रदर्शित करते हैं। लेकिन हम किसी भी वस्तु को छोड़ देते हैं जो अशक्त हैं।"

"ठीक है, समझ गया। मैं देख सकता हूँ कि यह कितना सुविधाजनक है।"

"हां। मैं आपको लेबल के बारे में भी बताना चाहता हूं। वे शायद ही कभी जावा में उपयोग किए जाते हैं, क्योंकि वे अक्सर प्रोग्राम के तर्क की सुंदरता का उल्लंघन करते हैं। लेकिन आप किसी बिंदु पर कोड में उनका सामना कर सकते हैं। इसलिए मैं आपको इसके बारे में बताना चाहूंगा क्या आपने उनके बारे में खेल के मैदान पर सुना है।"

"एक बार कोड में किसी भी लाइन से किसी भी लाइन पर कूदने की अनुमति थी। हमने लेबल और गोटो स्टेटमेंट का उपयोग करके ऐसा किया। यहां बताया गया है कि यह कैसा दिखता है:"

लेबल के साथ भयानक कोड
System.out.println("Make cookies,");
label: System.out.println("not");
System.out.println("war");
goto label;

"इस उदाहरण में, गोटो लेबल कमांड को निष्पादित करने के बाद, प्रोग्राम लेबल चिह्नित लाइन पर कूद जाता है ।

"बाद में, हर कोई समझदार हो गया और गोटो स्टेटमेंट का उपयोग नहीं करने का फैसला किया। जावा गोटो का समर्थन नहीं करता है, लेकिन गोटो एक आरक्षित शब्द है। कोई बड़ी बात नहीं है ..."

"तो, जावा में कोई गोटो और कोई लेबल नहीं है?"

"कोई गोटो स्टेटमेंट नहीं है, लेकिन लेबल हैं!"

"यह कैसे हो सकता?"

"जावा में, लेबल का उपयोग जारी और ब्रेक कमांड के साथ किया जा सकता है। उनका उपयोग तब किया जाता है जब आपके पास कई नेस्टेड लूप होते हैं।"

"उदाहरण के लिए, मान लें कि आपके पास 5 नेस्टेड लूप हैं और जब कुछ शर्त पूरी हो जाती है तो आप उनमें से तीन से बाहर निकलना चाहते हैं, लेकिन सभी नहीं। लेबल ऐसा करने का एक शानदार तरीका है:"

उदाहरण
label1: for (int i = 0; i < 10; i++)
 label2: for (int j = 0; j < 10; j++)
  label3: for (int k =0; k < 10; k++)
   if (i == j && j == k)
    break label2;

"इस उदाहरण में, जब ब्रेक स्टेटमेंट निष्पादित किया जाता है, तो हम चर के साथ लूप से बाहर नहीं निकलते हैं, लेकिन लूप लेबल वाले लेबल 2 से - यानी हम तुरंत के और जे के साथ दो लूप से बाहर निकलते हैं।"

"कितनी बार प्रयोग किया जाता है?"

"ईमानदार होने के लिए, अक्सर नहीं, लेकिन आप कभी नहीं जानते। शायद आप इसे कभी देखेंगे। ये सिंटैक्स फंडामेंटल हैं - आपको यह सब जानने की जरूरत है!"

"ठीक है। धन्यवाद, बिलाबो।"