CodeGym /Java Blog /अनियमित /जावा में प्रत्येक लूप के लिए
John Squirrels
स्तर 41
San Francisco

जावा में प्रत्येक लूप के लिए

अनियमित ग्रुप में प्रकाशित

प्रत्येक लूप के लिए क्या है?

प्रत्येक के लिए एक प्रकार का लूप है जिसका उपयोग आप तब करते हैं जब आपको किसी सरणी या संग्रह के सभी तत्वों को संसाधित करने की आवश्यकता होती है। उस ने कहा, इस लूप में वास्तव में प्रत्येक के लिए वाक्यांश का उपयोग नहीं किया जाता है। इसका सिंटैक्स इस प्रकार है:

for (type itVar : array) 
{ 
    // Operations
}
जहां टाइप इटरेटर वेरिएबल का प्रकार है (जो सरणी में तत्वों के डेटाटाइप से मेल खाता है!), itVar इसका नाम है, और सरणी एक सरणी है (अन्य डेटा संरचनाओं की भी अनुमति है, उदाहरण के लिए, कुछ प्रकार का संग्रह, जैसे ArrayList ), यानी वह वस्तु जिस पर लूप निष्पादित किया जाता है। जैसा कि आप देख सकते हैं, यह निर्माण काउंटर का उपयोग नहीं करता है: इटरेटर चर केवल सरणी या संग्रह के तत्वों पर पुनरावृत्त करता है। जब इस तरह के लूप को निष्पादित किया जाता है, तो पुनरावर्तक चर को क्रमिक रूप से सरणी या संग्रह के प्रत्येक तत्व का मान दिया जाता है, जिसके बाद निर्दिष्ट कथन (या कथन) का ब्लॉक निष्पादित किया जाता है।

for-प्रत्येक लूप के अलावा, Java में forEach() मेथड भी है। आप इसके बारे में "स्टॉप राइटिंग लूप्स!" शीर्षक वाले लेख में पढ़ सकते हैं। जावा 8 में संग्रह के साथ काम करने के लिए शीर्ष 10 सर्वोत्तम अभ्यास

टिप्पणी:प्रत्येक लूप के लिए सरणियों और Java.lang.Iterable इंटरफ़ेस को लागू करने वाले किसी भी वर्ग पर लागू किया जा सकता है। लूप के लिए निम्नलिखित उपरोक्त कोड के बराबर होगा:

for (int i=0; i < array.length; i++) 
{ 
    
    // Statements 
}

for-प्रत्येक लूप का उदाहरण

हम छात्र स्कोर की एक सरणी बनाते हैं। फिर हम सभी अनुमानों को प्रिंट करने, औसत स्कोर की गणना करने और शीर्ष स्कोर खोजने के लिए प्रत्येक लूप का उपयोग करते हैं।

public class ForEachTest {
    
// A method that prints all scores     
public static void printAllScores(int[] scores) {
        System.out.print("|");
        for (int num : scores) {

            System.out.print(num + "|");
        }
        System.out.println();
    }

// A method that displays the average score 
    
public static double getAverageScore(int[] numbers) {
        int totalScore = 0;

        for (int num : numbers) {
            totalScore = num + totalScore;
        }
        return ((double) totalScore / numbers.length);

    }
// A method that determines the best (maximum) score 
    public static int getBestScore(int[] numbers) {
        int maxScore = numbers[0];

        for (int num : numbers) {
            if (num > maxScore) {
                maxScore = num;
            }
        }
        return maxScore;
    }

public static void main(String[] args) {
      
// Array of scores 
int[] scores = {5, 10, 7, 8, 9, 9, 10, 12};

        
  int bestScore = getBestScore(scores);
        System.out.print("All the scores: ");
        printAllScores(scores);
        System.out.println("The highest score is " + bestScore);
        System.out.println("The average score is " + getAverageScore(scores));
    }

}
प्रोग्राम आउटपुट:

All the scores: |5|10|7|8|9|9|10|12|
The highest score is 12
The average score is 8.75
अब, देखते हैं कि सभी स्कोर को प्रिंट करने की विधि कैसी दिखेगी यदि हम सामान्य for लूप का उपयोग करते हैं:

public static void printAllScores(int[] scores) {
        System.out.print("|");
        for (int i = 0; i < scores.length; i++) {

            System.out.print(scores[i] + "|");
        }
        System.out.println();
    }
यदि हम इस विधि को मुख्य विधि से कहते हैं, तो हमें यह परिणाम मिलता है:

All the scores: |5|10|7|8|9|9|10|12|

संग्रह के साथ प्रत्येक लूप का उदाहरण

हम नामों का संग्रह बनाते हैं और सभी नामों को स्क्रीन पर प्रदर्शित करते हैं।

List<String> names = new ArrayList<>();
        names.add("Snoopy");
        names.add("Charlie");
        names.add("Linus");
        names.add("Shroeder");
        names.add("Woodstock");

        for(String name : names){
            System.out.println(name);
        }

for-प्रत्येक लूप की सीमाएं

फॉर - लूप के कॉम्पैक्ट फॉर्म को फॉर लूप की तुलना में पढ़ना आसान माना जाता है , और जहां भी संभव हो , फॉर-प्रत्येक लूप का उपयोग करना सबसे अच्छा अभ्यास माना जाता है। हालाँकि, प्रत्येक लूप के लिए लूप के लिए सामान्य की तुलना में कम सार्वभौमिक निर्माण होता है । यहां कुछ सरल मामले हैं जहां प्रत्येक लूप के लिए या तो काम नहीं करेगा या काम करेगा, लेकिन केवल कठिनाई के साथ।
  1. यदि आप अंत से शुरुआत तक लूप के माध्यम से दौड़ना चाहते हैं। अर्थात्, प्रत्येक लूप के लिए कोई ऐसा नहीं है जो निम्नलिखित कोड का प्रत्यक्ष एनालॉग हो:

    
    for (int i= array.length-1; i>0; i--) 
    {
          System.out.println(array[i]);
    }
    
  2. यदि आप किसी सरणी में परिवर्तन करना चाहते हैं तो For-प्रत्येक उपयुक्त नहीं है। उदाहरण के लिए, आप किसी सरणी को उसके तत्वों के स्थान को बदले बिना सॉर्ट नहीं कर सकते। इसके अतिरिक्त, निम्नलिखित कोड में, केवल इटरेटर चर बदलेगा, सरणी का तत्व नहीं:

    
    for (int itVar : array) 
    {
        itVar = itVar++; 
    }
    
  3. यदि आप किसी सरणी में किसी तत्व की तलाश कर रहे हैं और आपको उस तत्व की अनुक्रमणिका वापस करने (या पास करने) की आवश्यकता है, तो लूप के लिए सामान्य उपयोग करना बेहतर है।

प्रत्येक लूप के बारे में उपयोगी वीडियो

CodeGym कोर्स में लूप्स

CodeGym पर, हम जावा सिंटैक्स खोज के स्तर 4 पर लूप का उपयोग करने का अभ्यास शुरू करते हैं । उस स्तर के कई पाठ, साथ ही साथ विभिन्न स्तरों के कई कार्य, उनके साथ काम करने में आपके कौशल को सुदृढ़ करने के लिए लूप के लिए समर्पित हैं। असल में, उनसे बचने का कोई तरीका नहीं है — लूप प्रोग्रामिंग में सबसे महत्वपूर्ण निर्माणों में से एक हैं।

for-प्रत्येक और अन्य लूप के बारे में अधिक जानकारी

  1. जबकि बयान । यह लेख सबसे सरल प्रकार के लूप के बारे में है: whileलूप, जिसका उपयोग CodeGym छात्रों को लूप से परिचित कराने के लिए करता है।
  2. लूप लिखना बंद करो! जावा 8 में संग्रह के साथ काम करने के लिए शीर्ष 10 सर्वोत्तम अभ्यास । यह लेख CodeGym के उन छात्रों की मदद करेगा जो कम से कम आधा कोर्स पूरा कर चुके हैं और संग्रह के साथ काम करने के बारे में कई दिलचस्प बातें सीखते हैं।
टिप्पणियां
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION