حلقه foreach

حلقه foreach، یکی دیگر از ساختارهای تکرار در جاوا می‌باشد که، مخصوصاً برای آرایه‌ها، لیست‌ها و مجموعه‌ها طراحی شده است. حلقه foreach با هر بار گردش در بین اجزاء، مقادیر هر یک از آنها را در داخل یک متغیر موقتی قرار می‌دهد و شما می‌توانید بواسطه این متغیر به مقادیر دسترسی پیدا کنید. در زیر نحوه استفاده از حلقه foreach آمده است :

for (datatype temporaryVar : array)
{
    code to execute;
}

temporaryVar متغیری است که مقادیر اجزای آرایه را در خود نگهداری می‌کند.temporaryVar باید دارای نوع باشد تا بتواند مقادیر آرایه را در خود ذخیره کند. به عنوان مثال آرایه شما دارای اعدادی از نوع صحیح باشد باید نوع متغیر موقتی از نوع اعداد صحیح باشد یا هر نوع دیگری که بتواند اعداد صحیح را در خود ذخیره کند مانند double یا long. سپس علامت دو نقطه (:) و بعد از آن نام آرایه را می‌نویسیم. در زیر نحوه استفاده از حلقه foreach آمده است :

   1: package myfirstprogram;
   2: 
   3: public class MyFirstProgram 
   4: {
   5:     public static void main(String[] args) 
   6:     {  
   7:         int[] numbers = { 1, 2, 3, 4, 5 };
   8:         
   9:         for (int n : numbers) 
  10:         {
  11:             System.out.println(n);
  12:         }
  13:     }   
  14: }
1
2
3
4
5

در برنامه آرایه‌ای با 5 جزء تعریف شده و مقادیر 1 تا 5 در آنها قرار داده شده است (خط 7). در خط 9 حلقه foreach شروع می‌شود. ما یک متغیر موقتی تعریف کرده‌ایم که اعداد آرایه را در خود ذخیره می‌کند. در هر بار تکرار از حلقه foreach متغیر موقتی n ، مقادیر عددی را از آرایه استخراج می‌کند. حلقه foreach مقادیر اولین تا آخرین جزء آرایه را در اختیار ما قرار می‌دهد.

حلقه foreach برای دریافت هر یک از مقادیر آرایه کاربرد دارد. بعد از گرفتن مقدار یکی از اجزای آرایه، مقدار متغیر موقتی را چاپ می‌کنیم. حلقه foreach ما را قادر می‌سازد که به داده‌ها دسترسی یابیم و یا آنها را بخوانیم و اصلاح کنیم. برای درک این مطلب در مثال زیر مقدار هر یک از اجزا آرایه افزایش یافته است :

int[] numbers = { 1, 2, 3, 4, 5 };

for(int n : numbers)
{
   n++;
   System.out.println(n);
}
2
3
4
5
6