1. आपल्या जीवनातील पळवाट

बर्‍याचदा आपल्या जीवनात आपल्याला अनेक वेळा समान क्रिया करण्याची आवश्यकता असते. उदाहरणार्थ, समजा मला अनेक पृष्ठांचा समावेश असलेला दस्तऐवज स्कॅन करायचा आहे. आम्ही तीच प्रक्रिया पुन्हा पुन्हा पुन्हा करतो:

  • स्कॅनरवर पहिले पृष्ठ ठेवा
  • स्कॅन बटण दाबा
  • पुढील पृष्ठ स्कॅनरवर ठेवा

हे हाताने करणे कठीण आहे. ही प्रक्रिया कशीतरी स्वयंचलित करता आली तर छान होईल.

किंवा दुसरे उदाहरण विचारात घ्या: समजा मला माझ्या इनबॉक्समधील सर्व न वाचलेले ईमेल स्पॅम म्हणून चिन्हांकित करायचे आहेत. एके काळी मला प्रत्येक ईमेल एका वेळी एक निवडावा लागेल आणि स्पॅम म्हणून चिन्हांकित करावे लागेल.

परंतु प्रोग्रामर आळशी आहेत, म्हणून त्यांनी ही प्रक्रिया खूप पूर्वी स्वयंचलित केली आहे: आता तुम्ही अक्षरांची कोणतीही सूची निवडा आणि "स्पॅम म्हणून चिन्हांकित करा" क्लिक करा आणि नंतर तुमचा ईमेल क्लायंट सूचीमधून जातो आणि प्रत्येक ईमेल स्पॅम फोल्डरमध्ये हलवतो.

आम्ही येथे काय म्हणू शकतो? संगणक किंवा प्रोग्राम एका क्लिकवर शेकडो किंवा हजारो नीरस ऑपरेशन्स करू शकतात तेव्हा हे अतिशय सोयीचे असते. आणि आता आपण हे कसे करायचे ते देखील शिकाल.


2. whileपळवाट

if-else विधानाने आमच्या प्रोग्रामिंग क्षमतांचा लक्षणीय विस्तार केला आहे, ज्यामुळे विविध परिस्थितींमध्ये भिन्न क्रिया करणारे प्रोग्राम लिहिणे शक्य झाले आहे. पण आणखी एक गोष्ट आहे जी आमच्या प्रोग्राम्सना अधिक शक्तिशाली बनवेल - लूप .

Java मध्ये 4 प्रकारचे loops आहेत: while, for, for-eachआणि do-while. आता आपण यापैकी पहिल्या गोष्टींचा शोध घेऊ.

एक whileलूप खूप सोपे आहे. यात फक्त दोन भाग असतात: एक कंडिशन आणि लूप बॉडी . जोपर्यंत स्थिती आहे तोपर्यंत लूप बॉडी पुन्हा पुन्हा कार्यान्वित केली जाते true. सर्वसाधारणपणे, whileलूप असे दिसते:

while (condition)
   statement;
whileएका विधानासह लूपसाठी नोटेशन
while (condition)
{
   block of statements
}
whileस्टेटमेंटच्या ब्लॉकसह लूपसाठी नोटेशन

हे खूप सोपे आहे. जोपर्यंत लूप कंडिशन समान असते तोपर्यंत स्टेटमेंट किंवा स्टेटमेंटचे ब्लॉक पुन्हा पुन्हा कार्यान्वित केले जातात .true

हे कसे कार्य करते: प्रथम, स्थिती तपासली जाते. जर ते खरे असेल, तर लूप बॉडी कार्यान्वित केली जाते ( विधान किंवा विधानांचा ब्लॉक ). नंतर स्थिती पुन्हा तपासली जाते आणि लूप बॉडी पुन्हा कार्यान्वित केली जाते. आणि अशीच स्थिती खोटी होईपर्यंत.

जर स्थिती नेहमी सत्य असेल , तर प्रोग्राम कधीही चालू होणार नाही. ते कायमचे लूपमध्ये अडकले जाईल.

पहिल्याच वेळी तपासणी केली असता अट चुकीची असल्यास , लूपचा मुख्य भाग एकदाही कार्यान्वित केला जाणार नाही.


3. लूपची उदाहरणे

कृतीतील लूपची येथे काही व्यावहारिक उदाहरणे आहेत.

कोड स्पष्टीकरण
int n = 5;
while (n > 0)
{
   System.out.println(n);
   n--;
}
स्क्रीनवर 5 ओळी प्रदर्शित केल्या जातील:
5
4
3
2
1
कोड स्पष्टीकरण
int  n = 0;
while (n < 10)
{
   System.out.println(n);
   n++;
}
स्क्रीनवर 10 ओळी प्रदर्शित केल्या जातील:
0
1
...
8
9
कोड स्पष्टीकरण
Scanner console = new Scanner(System.in);
while(console.hasNextInt())
{
   int x = console.nextInt();
} 
जोपर्यंत क्रमांक प्रविष्ट केले जातात तोपर्यंत प्रोग्राम कीबोर्डवरून संख्या वाचतो.
कोड स्पष्टीकरण
while (true)
   System.out.println("C");
कार्यक्रम अविरतपणेC स्क्रीनवर अक्षर मुद्रित करेल.
कोड स्पष्टीकरण
Scanner console = new Scanner(System.in);
boolean isExit = false;
while (!isExit)
{
   String s = console.nextLine();
   isExit = s.equals("exit");
}
प्रोग्राम कीबोर्डवरील ओळी वाचेल

प्रविष्ट होईपर्यंत exit.

मागील उदाहरणामध्ये, equals()पद्धत स्ट्रिंगची तुलना करण्यासाठी वापरली जाते. स्ट्रिंग्स समान असल्यास, फंक्शन परत येईल true. जर स्ट्रिंग समान नसतील, तर ते परत येईल false.



4. लूपमध्ये लूप

तुम्ही कंडिशनल स्टेटमेंट्सबद्दल शिकल्याप्रमाणे, तुम्ही अनेक कंडिशनल स्टेटमेंट्स एकत्र करून जटिल लॉजिक लागू करण्यासाठी त्यांचा वापर करू शकता हे तुम्ही पाहिले आहे. ifदुसऱ्या शब्दांत, विधानाच्या आत विधान वापरून if.

आपण लूपसह समान गोष्ट करू शकता. लूपमध्ये लूप लिहिण्यासाठी, तुम्हाला पहिल्या लूपच्या मुख्य भागामध्ये दुसरा लूप लिहावा लागेल. हे असे काहीतरी दिसेल:

while (condition for outer loop)
{
   while (condition for inner loop)
   {
     block of statements
   }
}
whileदुसऱ्या लूपच्या आत लूप ( स्टेटमेंटच्या ब्लॉकसह ).while

चला तीन कार्ये पाहू.

कार्य 1 . समजा आम्हाला एक प्रोग्राम लिहायचा आहे जो Momस्क्रीनवर 4 वेळा शब्द प्रदर्शित करतो. लूप म्हणजे आपल्याला नेमके काय हवे आहे. आणि आमचा कोड असे काहीतरी दिसेल:

कोड स्पष्टीकरण
int  n = 0;
while (n < 4)
{
   System.out.println("Mom");
   n++;
}
स्क्रीनवर 4 ओळी प्रदर्शित केल्या जातील:
Mom
Mom
Mom
Mom

कार्य 2 आम्हाला एक प्रोग्राम लिहायचा आहे जो Aएका ओळीवर 5 अक्षरे दाखवतो. हे करण्यासाठी, आम्हाला पुन्हा एकदा लूप आवश्यक आहे. हा कोड कसा दिसेल:

कोड स्पष्टीकरण
int n = 0;
while (n < 5)
{
   System.out.print("A");
   n++;
}
त्याऐवजी println(), आम्ही वापरू print(). अन्यथा, प्रत्येक अक्षर A वेगळ्या ओळीवर संपेल.

स्क्रीन आउटपुट असेल:
AAAAA

कार्य 3 . आम्हाला s अक्षरांचा समावेश असलेला आयत प्रदर्शित करायचा आहे A. आयतामध्ये 4 पंक्ती आणि 5 स्तंभ असावेत. हे पूर्ण करण्यासाठी, आम्हाला आता नेस्टेड लूपची आवश्यकता आहे. आम्ही फक्त आमचे पहिले उदाहरण घेऊ (ज्यामध्ये आम्ही 4 ओळी आउटपुट करतो) आणि दुसर्‍या उदाहरणातील कोडसह एका ओळीचा आउटपुट करण्यासाठी कोड बदलू.

कोड स्पष्टीकरण
int n = 0;

while (n < 4) { int m = 0;
while (m < 5) { System.out.print("A"); m++; }
System.out.println(); n++; }
 
बाहेरील लूप जांभळा आहे. nलूपच्या पुनरावृत्तीची संख्या मोजण्यासाठी ते व्हेरिएबल वापरते .

आतील लूप हिरवा आहे. हे mलूप पुनरावृत्तीची संख्या मोजण्यासाठी व्हेरिएबल वापरते.

आतील लूप पूर्ण झाल्यानंतर आपल्याला कर्सर स्पष्टपणे पुढील ओळीवर हलवावा लागेल. अन्यथा, प्रोग्राम मुद्रित केलेली सर्व अक्षरे एका ओळीवर संपतील.

स्क्रीन आउटपुट असेल:
AAAAA
AAAAA
AAAAA
AAAAA

लूप पुनरावृत्तीची संख्या मोजण्यासाठी बाह्य आणि आतील लूपने भिन्न व्हेरिएबल्स वापरणे आवश्यक आहे. आम्हाला आतील लूप नंतर कमांड देखील जोडायची होती System.out.println(), कारण तो लूप Aसमान ओळीवर s दर्शवितो. एकदा रेषेवरील अक्षरे प्रदर्शित झाल्यानंतर, एखाद्याला कर्सर नवीन ओळीवर हलवावा लागतो.



5. जावा वि पास्कल लूपची तुलना करणे

तुमच्यापैकी अनेकांनी हायस्कूलमध्ये पास्कलचा अभ्यास केला आहे. whileतुमच्यासाठी इथली सामग्री समजून घेणे सोपे करण्यासाठी, पास्कल आणि जावामध्ये लिहिलेल्या लूपची तुलना पहा . जर तुम्हाला पास्कल माहित नसेल, तर हा भाग वगळा.

पास्कल जावा
i := 3;
While i >= 0 Do
   Begin
      WriteLn(i);
      i := i - 1;
   End;
int i = 3;
while (i >= 0)
{
   System.out.println(i);
   i--;
}
i := 0;
While i < 3 Do
   Begin
      WriteLn(i);
      i := i + 1;
   End;
int i = 0;
while (i < 3)
{
   System.out.println(i);
   i++;
}
IsExit := False;
While Not isExit Do
   Begin
      ReadLn(s);
      isExit :=  (s = 'exit');
   End;
boolean isExit = false;
while (!isExit)
{
   String s = console.nextLine();
   isExit = s.equals("exit");
}
While True Do
   WriteLn('C');
while (true)
   System.out.println("C");
While True Do
   Begin
     ReadLn(s);
     If s = 'exit' Then
       Break;
   End;
while (true)
{
   String s = console.nextLine();
   if (s.equals("exit"))
     break;
}