تک دیک

واژه نامه و مجله آموزشی کامپیوتر و تکنولوژی

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Filter by Categories
A
B
C
D
E
F
G
H
I
J
K
L
M
N
Numbers
O
P
Q
R
S
T
U
V
W
Y
Z
آگهی
اپلیکیشن ها
اچ‌تی‌ام‌ال
اسکرچ
اشخاص و شرکت ها
امنیت
امنیت آنلاین
اندروید
اینترنت
پایتون
پرسش و پاسخ
جاوااسکریپت
حروف انگلیسی
خبر
دوره های آموزشی
سخت‌افزار
سی‌اس‌اس
شبکه
فنی
کنسول جستجوی گوگل
گرافیک
لینوکس
مایکروسافت اکسل
مایکروسافت پاورپوینت
مایکروسافت ورد
مبانی کامپیوتر
مجله
مجله – امنیت
مجله – بازی
مجله – برنامه نویسی
مجله – دنیای اینترنت
مجله – سخت افزار
مجله – سیستم
مجله – شبکه
مجله – شبکه های اجتماعی
مجله – عمومی
مجله – گوشی‌های هوشمند
مجله – نرم افزار
مجله – ویندوز
مقدماتی
موضوعی
نرم‌افزار
وردپرس

حلقه For each

حلقه For each چیست؟

حلقه For each (یا For-each) گونه‌ای از حلقه ها در زبان های برنامه نویسی است که برای پیمایش مجموعه ای از عناصر (نظیر عناصر موجود در یک آرایه) به کار می‌رود.

دستورات بدنه در حلقه های For each به جای اینکه به تعداد دفعات مشخصی اجرا شوند، به ازای هر عنصر موجود در مجموعه یک مرتبه تکرار می‌شوند. در این نوع حلقه ها، برخلاف حلقه های For از شمارنده خبری نیست بلکه در آن‌ها از متغیری هم نوع با عناصر مجموعه کمک گرفته می‌شود که در هر تکرار از حلقه، نمایانگر عنصر جاری در آن مجموعه خواهد بود.

در قطعه کد زیر که به زبان جاوا نوشته شده است نحوه استفاده از این نوع حلقه ها برای پیمایش عناصر موجود در یک آرایه عددی نمایش داده شده است. متغیر number در هر تکرار از حلقه معادل با یکی از عناصر آرایه numbers می‌باشد و چنانکه مشاهده می‌کنید از همان نوع عناصر آرایه (یعنی int) تعریف شده است.

حلقه For each
نمونه‌ای از یک حلقه For each در زبان جاوا – این نوع حلقه ها در زبان جاوا با نام حلقه For بهبودیافته یا Enhanced For Loop نیز شناخته می‌شوند.

مزایا و محدودیت های حلقه For each

هر چند با در نظر گرفتن تعداد اعضای موجود در مجموعه و همین طور اندیس شروع عناصر می‌توان عمل پیمایش مجموعه را با کمک یک حلقه For نیز انجام داد اما در مورد استفاده از حلقه های For each حداقل دو مزیت را می‌توان در نظر گرفت. مزیت اول اینکه به کار بردن این حلقه ها از بروز خطاهای مربوط به تعیین کران ها (که ممکن است در حلقه های For رخ دهد) جلوگیری می‌کند (به خصوص در مورد خطاهای رایجی موسوم به Off-by-one Error که در آن به اشتباه کران های حلقه یک واحد کم یا زیاد تعیین می‌شود – این نوع خطاها معمولا در اثر عواملی نظیر عدم توجه به اندیس آغازین مجموعه ها در زبان مورد استفاده و همچنین استفاده نادرست از نماد به جای < یا بالعکس اتفاق می‌افتد). علاوه بر این، حلقه های For each در مقایسه با حلقه های معادل For به بهبود خوانایی کد نهایی کمک می‌کنند.

قطعه کد زیر، پیاده سازی مثال قبلی را با کمک حلقه For استاندارد نمایش می‌دهد. متغیر i (شمارنده) در هر تکرار از حلقه به اندیس کنونی عنصر مربوطه در آرایه numbers اشاره می‌کند و در هر تکرار یک واحد به آن افزوده می‌شود. بنابراین به هنگام چاپ نتیجه در خروجی، به جای مقدار متغیر i از مقدار numbers[i] استفاده شده است. همانطور که مشاهده می‌کنید قطعه کد بالا در مقایسه با نمونه زیر نه تنها خواناتر است بلکه احتمال خطای کدنویسی را نیز کاهش می‌دهد.

حلقه For
نمونه معادل مثال فوق با کمک حلقه For معمولی

در کنار مزایایی که گفته شد لازم است تأکید کنیم حلقه های For each غالبا در مواردی مناسب هستند که قرار است تمام عناصر موجود در مجموعه مورد پیمایش قرار گیرند. به عبارت بهتر در این حلقه ها همواره طول گام همان عدد 1 رو به جلو خواهد بود. با این حال در این نوع حلقه ها هم می‌توانید از دستورات ویژه‌ای (نظیر دستور continue و break در جاوا) که برای ادامه حلقه از تکرار بعدی و خروج زودهنگام از حلقه تدارک دیده شده است استفاده کنید.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

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

ما در تک‌دیک تلاش می‌کنیم محتوایی دقیق، واضح و بدون اشتباه منتشر کنیم. به همین دلیل هر مطلب پیش از انتشار بارها بازبینی می‌شود. از طرف دیگر با توجه به حجم بالای مطالب به کمک شما هم نیاز داریم. اگر احساس می‌کنید محتوای این صفحه باید بروزرسانی، تکمیل یا تصحیح شود و یا سوالی در مورد این مطلب دارید که بدون پاسخ مانده خوشحال می‌شویم آن را در بخش دیدگاه‌های همین مطلب با ما در میان بگذارید.

دیدگاه‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نوشته‌های بیشتر

تبلیغات متنی ساده