foreach در جاوا یکی از ساختارهای کنترلی پرکاربرد است که برای پیمایش مجموعه ای از داده ها مانند آرایه ها و لیست ها استفاده می شود. این حلقه با ساده تر کردن فرآیند تکرار بر روی عناصر مجموعه ها، باعث خوانایی بیشتر کد و کاهش احتمال بروز خطاهای رایج می شود. به کمک foreach می توان بدون نیاز به مدیریت اندیس ها به تمام عناصر یک مجموعه دسترسی داشت و عملیات مورد نظر را روی آنها انجام داد.
در این مقاله قصد داریم به طور کامل به آموزش برنامه نویسی حلقه foreach در جاوا بپردازیم.
پیشنهاد ویژه: با شرکت در دوره آموزش جاوا می توانید برنامه نویسی با زبان جاوا و کاربرد تمام حلقه ها، آرایه ها و … را به صورت پروژه محور همراه با مدرک بین المللی فرا بگیرید. جهت کسب اطلاعات بیشتر به صفحه آموزش جاوا آریا تهران مراجعه کنید.
علاوه بر آموزش جاوا، آریا تهران یکی از بهترین موسساتی است که انواع پروژه های جاوا را با بهترین کیفیت، توسط تیم حرفه ای و متخصص در برنامه نویسی با مناسب ترین قیمت انجام می دهد. شما می توانید با خیال راحت انجام پروژه های جاوا را به آریا تهران بسپارید. برای کسب اطلاعات بیشتر می توانید به صفحه انجام پروژه جاوا مراجعه کنید و یا با شماره ۰۲۱۹۱۰۹۸۵۰۰ تماس بگیرید.
در این قسمت به زودی فیلم آموزش حلقه foreach در جاوا قرار می گیرد.

حلقه foreach در جاوا
حلقه for each در جاوا که با نام enhanced for loop نیز شناخته می شود، حلقه ای پرکاربرد برای پیمایش عناصر موجود در آرایه ها و مجموعه ها به شمار می رود. این حلقه از جاوا نسخه ۵ معرفی شد تا روند دسترسی به عناصر مجموعه ها را ساده تر و خوانا تر کند. اگر نمی دانید جاوا چیست، پیشنهاد می کنیم مقاله جاوا چیست و چه کاربردی دارد را مطالعه کنید.
کاربرد حلقه فور ایچ در جاوا شامل موارد زیر است:
- پیمایش و پردازش عناصر آرایه ها
- پیمایش مجموعه های داده مانند لیست ها و مجموعه ها
- اجرای عملیات روی تمام عناصر بدون نیاز به دانستن اندیس برخلاف سایر حلقه ها
- ساده سازی کد هنگام خواندن یا نمایش داده ها
- پردازش گروهی داده ها در ساختارهای تکرار شونده
در واقع، در ساختارهایی مانند آرایه ها یا لیست ها، اندیس هر عنصر یک عدد است که موقعیت دقیق آن عنصر را در مجموعه مشخص می کند. در بسیاری از حلقه ها مانند حلقه for، برنامه نویس باید با استفاده از اندیس ها به عناصر دسترسی پیدا کند و عملیات مورد نظر را انجام دهد. برای یادگیری حلقه for و انواع آن می توانید به صفحه آموزش حلقه for در جاوا مراجعه کنید.
اما، در حلقه foreach نیازی به دانستن یا استفاده از اندیس هر عنصر نیست. این حلقه به گونه ای طراحی شده است که به طور خودکار عنصر به عنصر مجموعه را دریافت می کند و شما فقط باید مشخص کنید که چه عملی روی هر عنصر انجام شود.
انواع حلقه foreach در جاوا
حلقه foreach در جاوا انواع مختلفی دارد که در ادامه قصد داریم هر کدام را همراه با ساختار کدنویسی آن معرفی کنیم.
اما، قبل از شروع برنامه نویسی باید بدانید که برای برنامه نویسی با جاوا باید در نرم افزار مربوطه این کار را انجام دهید. اگر نمی دانید چگونه باید نرم افزار جاوا را نصب و از آن استفاده کرد، پیشنهاد می کنیم مقاله اموزش نصب جاوا را مطالعه کنید.
به طور کلی ساختار اصلی حلقه foreach به صورت زیر است:
for ( نوع_داده متغیر : آرایه یا لیست ) {
// دستورات مورد نظر روی هر عنصر
}
حلقه foreach برای آرایه ها
آرایه یک ساختار داده ای خطی است که تعدادی مقدار از یک نوع داده را پشت سر هم و با اندازه ثابت نگهداری می کند. وقتی می خواهید روی همه عناصر آرایه عملی مانند چاپ، جمع، جستجو و…) انجام دهید، استفاده از حلقه foreach برای آرایه ها بسیار مناسب است. چون دیگر نیاز به اندیس ندارید و کد شما کوتاه تر می شود.
for (نوع_داده متغیر : نام_آرایه) {
// دستورات مورد نظر برای هر عنصر آرایه
}
در این ساختار، element Type نوع داده ای است که آرایه ذخیره می کند که به عنوان مثال می تواند int یا string باشد. علاوه بر این، element یک متغیر موقتی است که مقدار هر عنصر آرایه را در هر تکرار نگه می دارد. همچنین، Array آرایه ای است که می خواهید روی عناصر آن تکرار انجام دهید.
حلقه foreach برای مجموعه ها
این نوع حلقه برای پیمایش مجموعه هایی مانند لیست ها، مجموعه ها و مپ ها در جاوا به کار می رود. اگرچه، این حلقه بیشتر حلقه آرایه ها عمل می کند. اما در پس زمینه از رابط Iterator برای پیمایش مجموعه ها استفاده می کند.این حلقه برای خواندن آسان و دسترسی به مقادیر مناسب است.
for (ElementType element : collection) {
// عملیات روی هر عنصر
}
حلقه foreach برای map
در جاوا یک ساختار داده ای است که map مقادیر را به یک کلید مرتبط می کند. به بیان دیگر، هر عنصر در یک Key-value به صورت جفت ذخیره می شود. ساختار زیر به شما این امکان را می دهد که به راحتی روی جفت های کلید مقدار پیمایش کنید. برای پیمایش جفت های کلید-مقدار از متد entrySet استفاده می شود. این متد یک مجموعه از جفت های کلید مقدار را بر می گرداند.
for (Map.Entry<KeyType, ValueType> entry : map.entrySet()) {
KeyType key = entry.getKey();
ValueType value = entry.getValue();
// عملیات روی کلید و مقدار

آموزش برنامه نویسی حلقه foreach در جاوا
همانطور که گفته شد، حلقه foreach در جاوا یا enhanced for loop برای پیمایش آسان عناصر آرایه ها و مجموعه ها استفاده می شود. ساختار کلی این حلقه به صورت زیر است:
for ( نوع_داده متغیر : آرایه یا لیست ) {
// دستورات مورد نظر روی هر عنصر
}
در این ساختار، در قسمت “آرایه یا لیست” نام آرایه یا لیست را وارد می کنیم. در قسمت نوع داده، نوع داده ای که آرایه یا لیست نگهداری می کند مثلا int یا string را وارد می کنیم. در قسمت متغیر، متغیری که در هر تکرار، مقدار یکی از عناصر آرایه یا لیست را می گیرد را وارد می کنیم.
نمونه برنامه نویسی حلقه foreach در جاوا
کد پیمایش و چاپ آرایه اعداد صحیح با حلقه foreach یک تمرین خوب برای یادگیری این حلقه می باشد که به صورت زیر است:
public class ForeachEasyExample {
public static void main(String[] args) {
int[] numbers = {1, 2, 3, 4, 5};
// پیمایش آرایه با حلقه foreach
for (int num : numbers) {
System.out.println(num);
}
}
}
در این قسمت قصد داریم این تمرین آسان را برای یادگیری موثر حلقه foreach به صورت خط به خط بررسی کنیم:
- خط اول کد یک کلاس جاوا است با نام دلخواه که در اینجا نام آن ForeachEasyExample می باشد. لازم به ذکر است که همه کدها باید درون یک کلاس در جاوا نوشته شوند.
- خط بعدی کلاس main شروع می شود و اجرای برنامه از این قسمت ادامه می یابد.
- خط بعدی یک آرایه از اعداد صحیح به نام numbers تعریف می کند که شامل اعداد از یک تا پنج است. علامت {} برای مقداردهی اولیه آرایه استفاده شده است.
- خط بعدی یک کامنت برای توضیح بیشتر این کد است. لازم به ذکر است که کامنت ها اجرا نمی شوند و فقط برای فهم بهتر کد هستند.
- در خط بعدی قسمت for (int num : numbers) شروع حلقه foreach است. معنای این حلقه به این صورت است که برای هر مقدار (عدد) از آرایه numbers، مقدار فعلی را در متغیر num بریز. هربار که حلقه اجرا می شود، یکی از اعداد آرایه را به متغیر num می دهد.
- در نهایت خط بعدی دستور چاپ مقدار فعلی متغیر num می باشد. بنابراین، در هر دور حلقه یکی از اعداد آرایه روی صفحه نمایش داده می شود.
سوالات متداول
حلقه foreach در جاوا یک ساختار کنترلی است که برای تکرار بر روی عناصر مجموعه ها مانند آرایه ها و لیست ها استفاده می شود. این حلقه به شما این امکان را می دهد که بدون نیاز به مدیریت اندیس ها به هر عنصری دسترسی پیدا کنید.
حلقه های foreach انواع مختلف دارند. حلقه foreach برای پیمابش آرایه ها و حلقه foreach برای پیمایش مجموعه ها نمونه هایی از انواع این حلقه در جاوا هستند.
کاربرد اصلی حلقه foreach در جاوا، ساده سازی کد، افزایش خوانایی آن و در نتیجه کاهش خطای برنامه نویسی می باشد.
source