तुलना चार्ट:
तुलना के लिए आधार | टूटना | जारी रहना |
---|---|---|
कार्य | यह लूप के शेष पुनरावृत्ति के निष्पादन को समाप्त करता है। | यह लूप के केवल वर्तमान पुनरावृत्ति को समाप्त करता है। |
ब्रेक / जारी रखने के बाद नियंत्रण | 'ब्रेक' प्रोग्राम के नियंत्रण को 'ब्रेक' के रूप में घेरने वाले लूप के अंत तक फिर से शुरू करता है। | 'जारी रखना' उस नियंत्रण के अगले पुनरावृत्ति को कार्यक्रम के नियंत्रण को फिर से शुरू करता है जो 'जारी' है। |
कारण | यह लूप की शुरुआती समाप्ति का कारण बनता है। | यह अगले पुनरावृत्ति के शुरुआती निष्पादन का कारण बनता है। |
विस्तार | 'ब्रेक' लूप की निरंतरता को रोकता है। | 'जारी' लूप की निरंतरता को नहीं रोकता है, यह केवल वर्तमान पुनरावृत्ति को रोकता है। |
अन्य उपयोग | 'ब्रेक' का उपयोग 'स्विच', 'लेबल' के साथ किया जा सकता है। | 'जारी' को 'स्विच' और 'लेबल' के साथ निष्पादित नहीं किया जा सकता है। |
विराम की परिभाषा
C ++ ब्रेक में केवल दो उपयोग होते हैं अर्थात पहले इसका उपयोग "स्विच स्टेटमेंट में किसी मामले के निष्पादन को समाप्त करने" के लिए किया जाता है। दूसरा, "लूप को समाप्त करना और लूप के बाद अगले स्टेटमेंट पर नियंत्रण फिर से शुरू करना"। लेकिन जावा ब्रेक में पहले तीन उपयोग होते हैं, यह स्विच में मामले को समाप्त करता है, दूसरा लूप एन्क्लोजिंग ब्रेक को समाप्त करने के लिए और तीसरा, जैसा कि पहले उल्लेख किया गया है कि जावा एक 'गोटो' स्टेटमेंट प्रदान नहीं करता है, लेकिन विस्तारित फॉर्म ब्रेक का उपयोग किया जा सकता है 'गोटो' का स्थान।
आइए देखें, 'ब्रेक' के प्रत्येक उपयोग के बारे में विस्तार से।
स्विच में मामले के निष्पादन को समाप्त करने के लिए पहले उपयोग करें। स्विच में ब्रेक केवल उस स्विच को प्रभावित करता है जो इसे संलग्न करता है, यह स्विच को घेरने वाले लूप को प्रभावित नहीं करता है।
// C ++ के संदर्भ में। // C ++ के संदर्भ में स्विच का उपयोग करना। स्विच (पूर्णांक अभिव्यक्ति) {केस 1: ..... ..... विराम; केस 2: ..... ..... ब्रेक; केस 3: ..... ..... ब्रेक; चूक: ....... ....... }
दूसरा उपयोग, लूप को जबरन समाप्त करने और लूप के अगले बयान पर फिर से शुरू करने के लिए। जैसे ही, लूप के अंदर ब्रेक स्टेटमेंट का सामना करना पड़ता है, उस लूप के शरीर में शेष कोड को निष्पादित किए बिना उस लूप को तुरंत समाप्त कर दिया जाता है और प्रोग्राम नियंत्रण उस लूप के बाद लिखे गए अगले स्टेटमेंट तक पहुंच जाता है।
// जावा वर्ग main_class {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {for (int i = 0; i <100; i ++) {system.out.println (”i) के संदर्भ में लूप से बाहर निकलने के लिए ब्रेक का उपयोग करना; + i); अगर (i == 10) को तोड़ने; // 'अंदर की स्थिति' के रूप में अगर 'व्यंग्यात्मक नियंत्रण' के लिए 'लूप' से बाहर आता है। } system.out.println ("यहां लूप टूट जाता है"); }}
ब्रेक केवल प्रोग्राम को लूप से बाहर निकलने दें जो इसे संलग्न करता है। यदि ब्रेक का उपयोग नेस्टेड लूप के साथ किया जाता है, तो यह केवल अंतरतम लूप को तोड़ता है और बाहरी लूप को प्रभावित नहीं करता है।
तीसरा उपयोग, गोटो के रूप में ब्रेक का उपयोग करते हुए। जावा अपनी समस्या के बिना गोटो के रूप में ब्रेक का उपयोग करता है। जैसा कि गोटो एक असंरचित शाखा प्रदान करता है जिसे समझना कठिन है और गोटो भी कंपाइलर ऑप्टिमाइज़ेशन को प्रतिबंधित करता है, जावा ब्रेक के एक विस्तारित रूप का उपयोग करता है जो कि गोटो के समान है और एक समय में एक से अधिक ब्लॉक से बाहर निकलने और प्रोग्राम के नियंत्रण को फिर से शुरू करने में मदद करता है। विराम के अंत में उल्लिखित ब्लॉक का अंत।
घोषणा:
तोड़ लेबल;
यहां, "लेबल" जावा में कोड के एक निश्चित ब्लॉक या एक पहचानकर्ता का नाम है, और इस लेबल ब्लॉक को ब्रेक स्टेटमेंट को संलग्न करना होगा। नेस्टेड लूप के सेट से बाहर निकलने के लिए लेबल ब्रेक स्टेटमेंट का उपयोग किया जाता है। जैसा कि लेबल ब्रेक स्टेटमेंट का सामना करना पड़ता है, नियंत्रण लेबल ब्लॉक को बाहर निकालता है जिसे ब्रेक स्टेटमेंट के साथ उल्लेख किया गया है।
इसे व्यावहारिक रूप से देखते हैं।
// जावा वर्ग main_class {सार्वजनिक स्थैतिक शून्य मुख्य (स्ट्रिंग args []) {बूलियन टी = सच के संदर्भ में गोटो के रूप में ब्रेक का उपयोग करना; पहला {दूसरा {तीसरा {system.out.println ("यह तीसरा ब्लॉक"); अगर (टी) पहले तोड़; } system.out.println ("यह दूसरा ब्लॉक"); } system.out.println ("यह पहला ब्लॉक"); } system.out.println ("यह मुख्य ब्लॉक"); }} // आउटपुट: यह तीसरा ब्लॉक है यह मुख्य ब्लॉक है
इस कोड में, जैसे ही नियंत्रण तीसरे ब्लॉक पर पहुंचता है, उसका प्रिंट स्टेटमेंट निष्पादित हो जाता है और उसके बाद कंट्रोल 'if' स्टेटमेंट के लिए फिर से शुरू हो जाता है, और जैसा कि यह संतुष्ट है, लेबल के साथ ब्रेक स्टेटमेंट निष्पादित हो जाता है। ब्रेक के साथ जुड़ा हुआ लेबल पहले है, इसलिए ब्लॉक के अंत के बाद लिखे गए स्टेटमेंट पर नियंत्रण फिर से शुरू करें यानी मुख्य ब्लॉक में जो एक प्रिंट स्टेटमेंट है और जिसे निष्पादित किया जाता है।
जारी रखने की परिभाषा
जैसा कि ब्रेक लूप के शेष पुनरावृत्ति को समाप्त करता है और नियंत्रण को लूप से बाहर निकलने देता है, यहां, ब्रेक की तरह कुछ काम जारी रखता है। जारी बयान उस चालू पुनरावृत्ति के लिए लूप में शेष कोड के निष्पादन को रोकता है और उस लूप के अगले पुनरावृत्ति पर नियंत्रण फिर से शुरू करता है। जारी स्टेटमेंट वर्तमान पुनरावृत्ति के लिए कोड को छोड़ देता है और नियंत्रण को लूप के अगले पुनरावृत्ति में पास करता है।
आइए इसे एक उदाहरण से समझते हैं।
// C ++ के संदर्भ में जारी है। // यह 100 तक की संख्या को प्रिंट करता है। वर्ग main_class {सार्वजनिक स्थैतिक शून्य मुख्य (string args []) {for (int i = 0; i <100; i ++) {if (i% 2! = 0) जारी रखें। // लूप सिस्टम के लिए अगले पुनरावृत्ति पर नियंत्रण फिर से जारी रखें। out.println ("i:" + i); }}}
उपरोक्त कार्यक्रम में, यदि 'यदि' कथन संतुष्ट है, तो कथन को जारी रखें, जो निम्नलिखित प्रिंट विवरण को 'लूप' के लिए अगली पुनरावृत्ति को निष्पादित और फिर से शुरू करने की अनुमति नहीं देता है। यदि i = 1 है, तो 'i' स्थिति संतुष्ट है और जारी रहती है, 'i' के विषम मान के लिए प्रिंट स्टेटमेंट को निष्पादित किए बिना, और नियंत्रण i + 2 के लिए लूप के अगले पुनरावृत्ति के लिए फिर से शुरू होता है। यदि i = 2 है तो 'if' कथन इसलिए संतुष्ट नहीं है; जारी नहीं करता है और प्रिंट स्टेटमेंट 'i' के मान को प्रिंट करता है जो कि सम है।
ब्रेक और जारी के बीच महत्वपूर्ण अंतर
- मूल रूप से, ब्रेक कीवर्ड लूप के शेष पुनरावृत्तियों को समाप्त करता है। दूसरी ओर, जारी कीवर्ड केवल लूप के वर्तमान पुनरावृत्ति को समाप्त करता है।
- एक बार ब्रेक कीवर्ड निष्पादित होने के बाद, प्रोग्राम का नियंत्रण लूप से बाहर निकल जाता है और लूप के बाद अगले स्टेटमेंट के लिए फिर से शुरू होता है। जारी कीवर्ड के मामले में, प्रोग्राम का नियंत्रण लूप के अगले पुनरावृत्ति के लिए फिर से शुरू होता है।
- जैसा कि ऊपर चरण निष्कर्ष निकाला गया है, कि प्रोग्राम के ब्रेक कंट्रोल के निष्पादन के बाद लूप से बाहर निकलें, यह स्पष्ट रूप से समझा जाता है कि ब्रेक किसी भी लूप के जल्दी समाप्ति का कारण बनता है। दूसरी ओर, केवल चालू पुनरावृत्ति को जारी रखें और लूप के अगले पुनरावृत्ति के लिए फिर से शुरू करें तो हम कह सकते हैं कि लूप के अगले पुनरावृत्ति के शुरुआती निष्पादन का कारण बनता है।
- ब्रेक कीवर्ड इसके निष्पादन के बाद शेष सभी पुनरावृत्ति को समाप्त कर देता है इसलिए हम कह सकते हैं कि यह लूप की निरंतरता को रोकता है, जबकि, जारी कीवर्ड अभी भी लूप निष्पादन जारी रखता है।
- ब्रेक कीवर्ड का उपयोग "स्विच" स्टेटमेंट के साथ-साथ "लेबल" के साथ किया जा सकता है, जबकि, जारी रखें कि कीवर्ड का उपयोग "स्विच" और "लेबल" के साथ नहीं किया जा सकता है।
निष्कर्ष:
ब्रेक और जारी स्टेटमेंट दोनों ही जम्प स्टेटमेंट हैं जो कंट्रोल को प्रोग्राम के दूसरे हिस्से में ट्रांसफर करते हैं। जहां ब्रेक स्टेटमेंट नियंत्रण को लूप से बाहर निकलने देता है, जारी स्टेटमेंट उस नियंत्रण को उस लूप की अगली पुनरावृत्ति पर जाने देता है।