for-each लूप किसी संग्रह के हर एलिमेंट के लिए कोड का एक ब्लॉक चलाने का तरीका देता है। कुछ दस्तावेज़ों में (जैसे Oracle के दस्तावेज़ों में) इन्हें enhanced for लूप कहा जाता है।
इसका सामान्य सिंटैक्स ऐसा है:
for(declaration: collection) {
body;
}
declaration उस वेरिएबल की घोषणा करता है जिसमें संग्रह से ली गई वैल्यू रखी जाती हैं।
collection एक ऐरे या संग्रह है जिसमें वे वैल्यू होती हैं जो लूप वेरिएबल को असाइन की जाती हैं।
body में वे स्टेटमेंट होते हैं जो संग्रह की हर वैल्यू के लिए एक बार चलते हैं।
उदाहरण:
char[] vowels = {'a', 'e', 'i', 'o', 'u'};
for(char vowel: vowels) {
System.out.println(vowel);
}
इसका आउटपुट:
a
e
i
o
u
आम तौर पर for लूप की तुलना में for-each लूप बेहतर होता है, क्योंकि:
for-each लूप सभी वैल्यू पर इटरेशन करता है, इसकी गारंटी रहती है।for-each लूप ज़्यादा घोषणात्मक होता है, यानी कोड बताता है कि वह क्या कर रहा है, न कि कैसे कर रहा है।for-each लूप में गलती की गुंजाइश नहीं रहती, जबकि for लूप में एक कम या एक ज़्यादा की गलती हो जाना आसान है (< और <= के इस्तेमाल के बारे में सोचिए)।for-each लूप हर तरह के संग्रह पर काम करता है, उन संग्रहों पर भी जो इंडेक्स से एलिमेंट निकालने की सुविधा नहीं देते (जैसे Set).