1. breakविधान

मागील धड्यातील एक उदाहरण पाहू:

कोड स्पष्टीकरण
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".


2. विधान सुरू ठेवा

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

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

continue;

विशिष्ट परिस्थितींमध्ये लूप बॉडीची अंमलबजावणी 'वगळायची' असल्यास विधान continueलूपमध्ये अतिशय सोयीचे आहे.

कार्य: आम्हाला असा प्रोग्राम लिहायचा आहे जो वरून अंक मुद्रित करतो 1परंतु 20संख्या वगळतो ज्याने भाग जातो 7. हा कोड असा दिसतो.

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

वास्तविक, हा कोड कार्य करणार नाही , कारण 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);
}