"हाय, अमिगो!

"हाय एली."

"तुम्ही आधीच लूपचा अभ्यास केला आहे आणि ते छान आहे."

"मला मान्य आहे! आता त्यांच्याशिवाय कसे जगायचे हे मला पूर्णपणे माहित नाही."

"कधीकधी तुम्ही त्यांच्याशिवाय करू शकता... पण अधिक वेळा तुम्हाला त्यांची गरज भासेल. आज आम्ही त्या परिस्थितीबद्दल बोलणार आहोत जेव्हा तुम्हाला शेड्यूलच्या आधीच लूपमधून बाहेर पडावे लागेल."

"तुम्हाला असे म्हणायचे आहे की, जेव्हा लूप चालू ठेवण्याची अट सत्य असते, परंतु तरीही तुम्हाला लूपमधून बाहेर पडणे आवश्यक आहे?"

"नक्कीच! काहीवेळा तुम्ही आधीच प्रोग्रामर आहात असे वाटते. तरीही, शेड्यूलच्या आधी लूपमधून बाहेर पडण्यासाठी, तुम्ही ब्रेक स्टेटमेंट वापरू शकता . खालील उदाहरण पहा:

कोड स्पष्टीकरण
Scanner console = new Scanner(System.in);
boolean isExit = false;
while (!isExit)
{
   String s = console.nextLine();
   isExit = s.equals("exit");
}
तुम्ही प्रविष्ट करेपर्यंत प्रोग्राम कीबोर्डवरील एक ओळ वाचेल "exit".

"मी पाहतो. प्रोग्राम कन्सोलमधून ओळी वाचतो. जर तुम्ही एंटर केले "exit", तर isExitव्हेरिएबल होईल true, लूप कंडिशन होईल आणि लूप संपेल."!isExitfalse

"हे बरोबर आहे. म्हणून, Java कडे एक विशेष breakविधान आहे जे तुम्हाला असे तर्कशास्त्र सोपे करू देते. जर एखादे breakविधान लूपमध्ये कार्यान्वित केले गेले तर लूप लगेच संपेल. प्रोग्राम लूपचे अनुसरण करणारे विधान कार्यान्वित करण्यास सुरवात करेल. विधान अतिशय संक्षिप्त आहे. :

break;

break" आम्ही नुकतेच चर्चा केलेले उदाहरण पुन्हा लिहिण्यासाठी तुम्ही विधान कसे वापरू शकता ते येथे आहे :

कोड स्पष्टीकरण
Scanner console = new Scanner(System.in);
while (true)
{
   String s = console.nextLine();
   if (s.equals("exit"))
     break;
}
तुम्ही प्रविष्ट करेपर्यंत प्रोग्राम कीबोर्डवरील एक ओळ वाचेल "exit".

"कदाचित मला ते आठवत असेल. मला वाटते की ते कामात येईल."

"परंतु breakहे एकमेव जावा विधान नाही जे तुम्हाला लूपचे वर्तन नियंत्रित करू देते. Java मध्ये स्टेटमेंट देखील आहे continue. जर तुम्ही continueलूपमध्ये विधान कार्यान्वित केले तर, लूपचे वर्तमान पुनरावृत्ती शेड्यूलच्या आधी संपेल."

"तुला पुनरावृत्ती म्हणजे काय म्हणायचे आहे?"

"लूप पुनरावृत्ती ही लूप बॉडीची एक अंमलबजावणी आहे. continueविधान लूपच्या वर्तमान पुनरावृत्तीमध्ये व्यत्यय आणते, परंतु breakविधानाच्या विपरीत, ते लूप स्वतःच समाप्त करत नाही. विधान देखील संक्षिप्त आहे:

continue;

"म्हणून, continueलूपच्या ठराविक पुनरावृत्तीची अंमलबजावणी 'वगळायची' असल्यास विधान लूपमध्ये वापरले जाऊ शकते?"

break"नक्की. तुम्हाला आणि मधील फरक समजला आहे का continue? तुम्हाला 20 न-पुनरावृत्ती अंकांमध्ये सात शोधायचे असल्यास, तुम्ही कोणत्या प्रकारचे लूप आणि लूप व्यत्यय विधान वापराल?

"हम्म... मी सर्व आकडे बघेन, आणि जर मला 7 सापडले, तर मी एक कार्यान्वित करेन break."

1"तुम्हाला वरून 20विभाज्य संख्या वगळता संख्या प्रदर्शित करायची असल्यास काय 7?"

"ठीक आहे, मला कदाचित येथे आवश्यक आहे continue, कारण मला लूपमधून बाहेर पडायचे नाही. पण मला अजूनही समजले नाही."

"या समस्येचे निराकरण कसे करायचे ते मी तुम्हाला दाखवतो. हा कोड असा दिसतो."

कोड स्पष्टीकरण
int i = 1;
while (i <= 20)
{
   if ( (i % 7) == 0 )
     continue;
   System.out.println(i);
   i++;
}
प्रोग्राम पासून 1ते पर्यंत संख्या प्रदर्शित करतो 20. जर संख्‍या याने भाग जात असेल 7(उर्वरित भागाकार 7is द्वारे 0 ), तर आम्‍ही संख्‍या दाखवणे वगळतो.

"एली, तू माझ्याकडे इतक्या संशयाने का पाहत आहेस? इथे काही पकडले आहे का?"

"तुमची फसवणूक होऊ शकत नाही, अमिगो! खरंच, हा कोड योग्यरितीने कार्य करणार नाही . तो पहिले 6 अंक दाखवेल, आणि नंतर iकायमचे क्रमांकावर अडकून राहील 7. शेवटी, continueविधान दोन इतर विधाने वगळते: System.out.println(i)आणि i++. म्हणून परिणामी, एकदा आपण मूल्यापर्यंत पोहोचलो की 7, व्हेरिएबल iबदलणे थांबेल आणि आपण अनंत लूपमध्ये असू. एक अतिशय सामान्य चूक स्पष्ट करण्यासाठी मी असा कोड लिहिला आहे."

"आम्ही ते कसे दुरुस्त करू?"

"येथे दोन पर्याय आहेत:"

पर्याय 1:i कार्यान्वित करण्यापूर्वी बदला continue, परंतु नंतरi % 7

पर्याय 2: नेहमी iलूपच्या सुरुवातीला वाढवा. पण नंतर iसुरुवातीचे मूल्य असणे आवश्यक आहे 0.

पर्याय 1 पर्याय २
int i = 1;
while (i <= 20)
{
   if ( (i % 7) == 0 )
   {
     i++;
     continue;
   }
   
   System.out.println(i);
   i++;
}
int i = 0;
while (i < 20)
{
   i++;
   if ( (i % 7) == 0)
     continue;
   System.out.println(i);
}

"उत्तम! मी ही चूक न करण्याचा प्रयत्न करेन."

"मला तुझे वचन आठवेल!"