CodeGym /Java Blog /यादृच्छिक /जावा नेस्टेड लूप
John Squirrels
पातळी 41
San Francisco

जावा नेस्टेड लूप

यादृच्छिक या ग्रुपमध्ये प्रकाशित केले
जावा, इतर प्रोग्रामिंग भाषांप्रमाणे, नेस्टेड लूपला समर्थन देते. याचा अर्थ लूपमध्ये फक्त एक लूप आहे. या लेखात, आम्ही जावामध्ये नेस्टेड लूपसह कसे कार्य करावे याबद्दल जाणून घेणार आहोत.

Java नेस्टेड लूप

लूप दुसऱ्या लूपमध्ये ठेवल्यास त्याला नेस्टेड म्हणतात. पहिल्या पासवर, बाह्य लूप आतील लूपला कॉल करते, जे पूर्ण होण्यासाठी चालते, ज्यानंतर नियंत्रण बाह्य लूपच्या मुख्य भागावर हस्तांतरित केले जाते. दुसऱ्या पासवर, बाहेरील लूप आतल्याला पुन्हा कॉल करतो. आणि बाहेरील लूप संपेपर्यंत. जावामध्ये चार प्रकारचे लूप आहेत:
  • लूपसाठी _

  • पळवाट असताना

  • do...while loop

  • प्रत्येक लूपसाठी

ते सर्व नेस्टेड लूपला समर्थन देतात. नेस्टेड-लूप कन्स्ट्रक्‍ट वापरले जातात जेव्हा दोन अटी पूर्ण केल्या पाहिजेत, एक दुसऱ्यावर अवलंबून असते. उदाहरणार्थ, जर तुम्हाला द्विमितीय मॅट्रिक्स, अर्ध-पिरॅमिड किंवा गुणाकार सारणी प्रदर्शित करायची असेल.

Java नेस्टेड लूप कसे कार्य करतात

बहुधा Java मध्ये सर्वात जास्त वापरलेला लूप , मोठ्या प्रमाणात आहे कारण तो खूप अष्टपैलू आहे आणि त्याचा कोड वाचायला खूप सोपा आहे. नेस्टेड फॉर लूपसाठी येथे सामान्य वाक्यरचना आहे :

// outer loop
for (initialization; condition; increment) {
  //write here your code 

  //nested loop
  for(initialization; condition; increment) {
    //write here your code
  }
..
}
तो कसा काम करतो? बाह्य वळण सुरू होते. मग नेस्टेड फॉर लूप काम सुरू करते आणि अट पूर्ण होईपर्यंत त्याच्या इंडेक्समधून जाते, आणि पुन्हा काम बाह्य लूपकडे जाते आणि बाह्य लूपची स्थिती पूर्ण होईपर्यंत हे घडते. थोडं अवघड वाटतं, नाही का? बरं, एका विशिष्ट उदाहरणासह समजून घेणे खूप सोपे होईल, म्हणून चला त्याकडे जाऊया.

लूप कोड उदाहरणासाठी नेस्टेड

येथे एक उत्कृष्ट उदाहरण आहे. दोन फॉर लूप वापरून अर्धा पिरॅमिड प्रिंट करू . त्यापैकी एक घरटे आहे.

public class NestedLoopsDemo1 {

   public static void main(String[] args) {

       for (int i = 0; i < 10; i++) {
           for (int j = 0; j<=i;  j++)
               System.out.print("*");
           System.out.println();
       }
      
   }
}
आउटपुट आहे:
********************************************************* *****

लूप कोडचे उदाहरण असताना नेस्टेड


public class NestedLoopsDemo2 {

   public static void main(String[] args) {

       int i = 0;
       while (i < 10) {
           int j = 0;
           while (j <= i) {
               System.out.print("*");
               j++;
           }
           System.out.println();
           i++;

       }
   }
}
आउटपुट मागील उदाहरणाप्रमाणेच आहे:
********************************************************* *****
do ...while loop हे while loop सारखेच आहे . मुख्य फरक हा आहे की, एक्सप्रेशन तपासण्यापूर्वी do...while loop चा मुख्य भाग एकदा कार्यान्वित केला जातो.

नेस्टेड foreach loops कोड उदाहरण

for-each loop नेहमीप्रमाणे loop साठी नेस्टेड केले जाऊ शकते . येथे नेस्टेड फॉर-इच लूपचे उदाहरण दिले आहे जे द्विमितीय अॅरेची पुनरावृत्ती करते.

public class NestedLoops2 {

       public static void main(String[] args)
       {
           int[][] mainArray = { {5, 4, 3, 2, 1}, {7, 8, 9, 10, 11} };

           for (int[] myArray : mainArray)
           {
               for (int i : myArray)
               {
                   System.out.print(i+" ");
               }
               System.out.println("");
           }
       }
}
आउटपुट आहे:
5 4 3 2 1 7 8 9 10 11

मिश्रित for and while loop उदाहरण

कधीकधी आपण वेगवेगळ्या प्रकारच्या लूप एकमेकांच्या आत नेस्ट करू शकतो. उदाहरणार्थ , आत असताना किंवा प्रत्येकासाठी आत . _ तथापि, ही सर्वोत्तम प्रोग्रामिंग सराव नाही. अशा रचना कोडची वाचनीयता लक्षणीयरीत्या खराब करतात. त्यामुळे प्रोफेशनल प्रोग्रामर एकमेकांशी मिसळू नयेत. ठीक आहे, ते करतात, परंतु ते खरोखर आवश्यक असल्यासच. आणि आणखी एक छोटासा नियम: जर तुम्ही while आणि for दरम्यान निवडत असाल तर शक्य असेल तिथे वापरा . असे असले तरी, येथे आपण while च्या आत फॉर लूप वापरण्याचे उदाहरण घेणार आहोत . चला आपले अर्ध-पिरॅमिड पुन्हा तयार करूया.

public class NestedLoopsDemo2 {

   public static void main(String[] args) {
       int i = 0;
       while (i < 10) {
           for (int j = 0; j <= i; j++) {
               System.out.print("*");
           }
           System.out.println();
           i++;

       }
   }
}
आउटपुट आश्चर्याशिवाय आहे:
********************************************************* *****
टिप्पण्या
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION