حلقه for-each
حلقه for-each (enhanced for) برای پیمایش آرایهها و کالکشنها.
for-each چیست؟
شکل سادهشده for برای پیمایش آرایهها و کالکشنها — بدون مدیریت ایندکس:
for (type item : collection) {
// با item کار کنید
}
// مثال
String[] fruits = {"سیب", "موز", "پرتقال"};
for (String fruit : fruits) {
System.out.println(fruit);
}
for در مقابل for-each
String[] fruits = {"سیب", "موز", "پرتقال"};
// for کلاسیک
for (int i = 0; i < fruits.length; i++) {
System.out.println(fruits[i]);
}
// for-each (تمیزتر!)
for (String fruit : fruits) {
System.out.println(fruit);
}
مثال: جمع اعداد آرایه
int[] numbers = {10, 20, 30, 40, 50};
int total = 0;
for (int n : numbers) {
total += n;
}
System.out.println(total); ← 150
مثال: پیدا کردن بزرگترین
int[] nums = {4, 8, 15, 16, 23, 42};
int max = nums[0];
for (int n : nums) {
if (n > max) {
max = n;
}
}
System.out.println(max); ← 42
محدودیتهای for-each
- ایندکس را نمیدهد (اگر ایندکس لازم است از for کلاسیک استفاده کنید)
- عناصر آرایه را نمیتوان تغییر داد (مقدار کپی میشود)
- فقط رو به جلو پیمایش میکند
قانون ساده: اگر فقط میخواهید همه عناصر را بخوانید، for-each؛ اگر ایندکس یا تغییر لازم دارید، for کلاسیک.
این مبحث بخشی از دوره آموزش کامل جاوا است.