Java में break और continue
i को 1 से 5 तक लूप चलाएँ। जब i 3 के बराबर हो, छापने से पहले break से लूप छोड़ दें। स्क्रीन को केवल दो पंक्तियाँ दिखानी चाहिए: 1, फिर 2। यह जल्दी रुकना इस पन्ने का एक औज़ार है। दूसरा औज़ार continue है, जो एक पास छोड़ता है और लूप जारी रखता है ताकि 3 न छपे, पर 4 और 5 अभी भी छपें।
break लूप को जल्दी खत्म करता है
Skip.java नाम की एक छोटी प्रोग्राम फ़ाइल बनाएँ। पहली पंक्ति पर public class फ़ाइल के नाम से मेल खाना चाहिए: public class Skip। इस फ़ाइल में पुरानी Pulse या Beat क्लास न रखें; कंपाइलर अपेक्षा करता है कि क्लास का नाम और फ़ाइल का नाम एक हों।
main के अंदर एक for लिखें जो जल्दी रुक सके:
for (int i = 1; i <= 5; i = i + 1) {
if (i == 3) {
break;
}
System.out.println(i);
}
for हेडर वही आकार है जो आप पहले से जानते हैं: शुरू, परीक्षण, कदम। ब्रेसिज़ के अंदर एक if पूछता है कि i 3 के बराबर है या नहीं। जब यह true हो, break; चलता है। break पूरे for लूप को एक साथ छोड़ देता है। if के नीचे वाला println उस पास नहीं चलता, और इस लूप में i 4 या 5 तक नहीं पहुँचता। जब i 1 या 2 हो, if false है, इसलिए println(i) संख्या लिखता है। कंपाइल से पहले फ़ाइल सहेजें।
प्रोग्राम जो break पर रुकता है
यही वह संस्करण है जिसे आप पहले कंपाइल करते हैं।
public class Skip {
public static void main(String[] args) {
for (int i = 1; i <= 5; i = i + 1) {
if (i == 3) {
break;
}
System.out.println(i);
}
}
}
उस फ़ोल्डर से जहाँ Skip.java है, javac Skip.java चलाएँ। जब कोष्ठक, ब्रेसिज़ और अर्धविराम मेल खाते हैं, javac अपनी कोई पंक्ति नहीं लिखता। फिर java Skip चलाएँ — java Skip.java नहीं। दूसरी कमांड से .java अंत हटा दें। ये दोनों कमांड Windows और macOS पर एक जैसी काम करती हैं; इस पन्ने को किसी सिस्टम के लिए अलग शेल वर्तनी की ज़रूरत नहीं। प्रोग्राम को दो पंक्तियाँ छापकर रुक जाना चाहिए: 1, फिर 2। वह आपसे टाइप की प्रतीक्षा नहीं करता। अगर टर्मिनल कुंजीबोर्ड इनपुट का इंतज़ार करे, तो पुराने अभ्यास का nextLine अभी फ़ाइल में है। उस कॉल को मिटाएँ और ऊपर वाला for तथा break रखें। गलत स्क्रीन पंक्ति के लिए नई JDK स्थापना की ज़रूरत नहीं।
break के चलान को क्रम से पढ़ें। i 1 से शुरू होता है। if false है, इसलिए println 1 लिखता है। कदम 2 रखता है। if false है, इसलिए println 2 लिखता है। कदम 3 रखता है। अब i == 3 true है, इसलिए break चलता है और for खत्म होता है। 3, 4 या 5 के लिए कुछ नहीं छपता। बिना break के सादा लूप पाँच पंक्तियाँ छापता; break ने दो छाप के बाद लूप छोटा कर दिया। उस पास पर break के बाद कदम नहीं चलता, और परीक्षण फिर नहीं पूछा जाता, क्योंकि लूप पहले ही खत्म हो चुका है।
continue एक पास छोड़ता है
बॉडी बदलें ताकि continue, break की जगह ले ले, और println को if के बाद रखें:
for (int i = 1; i <= 5; i = i + 1) {
if (i == 3) {
continue;
}
System.out.println(i);
}
जब i 3 के बराबर हो, continue; उस पास का बाकी — जिसमें println भी है — छोड़ देता है और for कदम तथा अगले परीक्षण पर जाता है। लूप खुद खत्म नहीं होता। स्क्रीन को चार पंक्तियाँ दिखानी चाहिए: 1, 2, 4 और 5। खाली जगह वही है जहाँ 3 हो सकता था।
public class Skip {
public static void main(String[] args) {
for (int i = 1; i <= 5; i = i + 1) {
if (i == 3) {
continue;
}
System.out.println(i);
}
}
}
फिर से कंपाइल और चलाएँ: javac Skip.java, फिर java Skip। आपको चार पंक्तियाँ दिखनी चाहिए। आपने for हेडर नहीं बदला — केवल break, continue बन गया। चार पंक्तियाँ देखने के बाद, अगर आप पहली डेमो पर लौटना चाहें, break वापस रख सकते हैं। दोनों संस्करण मान्य Java हैं। वे एक ही लूप आकार में दो अलग जल्दी चालें सिखाते हैं।
continue के चलान को एक बार और पढ़ें। i जाता है 1, 2, 3, 4, 5। 1 और 2 के लिए if false है और संख्याएँ छपती हैं। 3 के लिए continue, println छोड़ देता है। 4 और 5 के लिए संख्याएँ फिर छपती हैं। लूप अभी भी तब सामान्य रोक से खत्म होता है जब i 6 हो जाता है। continue कभी for खत्म नहीं करता; वह केवल एक पास का बाकी छोड़ता है। continue के बाद for अभी भी अपना कदम i = i + 1 चलाता है, इसलिए काउंटर आगे बढ़ता रहता है भले ही उस पास कुछ न छपा हो।
📊 औज़ार और स्क्रीन
| i == 3 पर औज़ार | स्क्रीन |
|---|---|
| break | 1 फिर 2 |
| continue | 1 फिर 2 फिर 4 फिर 5 |
तालिका को एक चलान के बाद जाँच के रूप में इस्तेमाल करें, चलान की जगह नहीं। break दो पंक्तियाँ छोड़ता है। continue चार पंक्तियाँ छोड़ता है जिनमें 3 गायब है। अगर आपका मतलब continue था और फिर भी 3 दिखे, तो शायद println if के ऊपर है — println को continue के नीचे ले जाएँ ताकि छोड़ना उस तक पहुँचे। क्रम ठीक करें; Java फिर से स्थापित न करें।
कुछ नियम जो दोनों औज़ार साफ़ रखते हैं
break और continue लूप बॉडी के अंदर के हैं। बिना बाहरी for या while के main में अकेला break; लिखने पर javac असफल होता है। continue; के लिए भी वही है। इस पन्ने पर एक if पल चुनता है: जब i 3 के बराबर हो। बाद में आप अन्य परीक्षण लिख सकते हैं; डेमो i == 3 रखते हैं ताकि स्क्रीन का बदलाव आसानी से दिखे।
break, continue नहीं है। break लूप खत्म करता है। continue एक पास छोड़ता है और लूप में रहता है। इनमें से कोई भी यहाँ switch वाले पन्ने का break उसी तरह नहीं है — यहाँ बाहरी संरचना एक for है। Pulse वाला while जो केवल गिनता है, या Beat वाला for बिना if के, उसी main में न रखें और फिर हैरान न हों कि 1 से 5 तक हर संख्या अभी भी क्यों छपती है। इस सत्र का main for के साथ break या continue वाला if रखना चाहिए।
एक आम गलती खुद शब्द छापना है: System.out.println("break");। वह break अक्षर लिखता है। वह लूप नहीं रोकता। दूसरी गलती println(i); को उस if से पहले रखना है जिसमें continue है, इसलिए 3 अभी भी छपता है और फिर continue चलता है जबकि छोड़ने को कुछ नहीं बचा। दोनों डेमो में println को if के बाद रखें। अगर आप बिना बाहरी लूप के continue लिखें, javac त्रुटि बताता है; किसी भी लूप के बाहर अकेले break पर भी वही होता है। इस पाठ के आकार पर ये दो शब्द केवल लूप बॉडी के अंदर अर्थ रखते हैं।
अब आप क्या कर सकते हैं
आप लूप के अंदर break रख सकते हैं ताकि जल्दी बाहर निकलें, या continue ताकि एक पास छोड़कर आगे बढ़ें। एक if चुन सकता है कि वह कब हो। अगला पन्ना for-each है; वहाँ लूप संग्रह की हर वैल्यू पर चलता है बिना शुरू, परीक्षण और कदम को पहले जैसी तरह हाथ से लिखे।
🧠 अपने ज्ञान की परीक्षा करें
अपने ज्ञान की परीक्षा करें
इस इंटरैक्टिव क्विज़ के साथ अपनी चुनौती लें और देखें कि आप विषय को कितनी अच्छी तरह समझते हैं
📝 निर्देश
- हर प्रश्न को ध्यान से पढ़ें
- हर प्रश्न के लिए सबसे अच्छा उत्तर चुनें
- आप जितनी बार चाहें क्विज़ दोबारा दे सकते हैं
- आपकी प्रगति शीर्ष पर दिखाई जाएगी