آموزش حلقه for … each در جاوا (به زبان کاملا ساده)
در جاوا ، شکل دیگری برای حلقه (علاوه بر حلقه استاندارد for ) برای کار با آرایه ها و مجموعه ها وجود دارد.
اگر در حال کار با آرایه ها و مجموعه ها هستید ، می توانید از ساختار دیگر حلقه for (فرم پیشرفته ی حلقه for ) برای تکرار آیتم های آن ها استفاده کنید. این نوع حلقه for-each نامیده می شود زیرا حلقه از طریق هر عنصر آرایه / مجموعه تکرار می شود.
در اینجا مثالی برای تکرار عناصر یک آرایه با استفاده از حلقه استاندارد for آورده شده است:
- class ForLoop {
- public static void main(String[] args) {
- char[] vowels = {‘a’, ‘e’, ‘i’, ‘o’, ‘u’};
- for (int i = 0; i < vowels.length; ++ i) {
- System.out.println(vowels[i]);
- }
- }
- }
می توانید کد بالا را با استفاده از حلقه for-each هم بنویسید:
- class AssignmentOperator {
- public static void main(String[] args) {
- char[] vowels = {‘a’, ‘e’, ‘i’, ‘o’, ‘u’};
- // foreach loop
- for (char item: vowels) {
- System.out.println(item);
- }
- }
- }
خروجی هر دو کد شبیه و برابر است با:
- a
- e
- i
- o
- u
استفاده از حلقه for پیشرفته برای نوشتن آسان تر است و باعث می شود کد خوانا تر باشد. از این رو معمولا بیش از فرم استاندارد توصیه می شود.
ساختار حلقه ی for-each
در ابتدا به ساختار حلقه for-each نگاه کنیم:
for(data_type item : collection) {
جاوا، جاوا اسکریپت رو قورت بده! بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، پولسازی عالی با توسعه وب، ماشین لرنینگ و ... کتابخانه های پیشرفته جاوا اسکریپت و ... دانلود:
…
}
در ساختار بالا ،
- collection یک مجموعه یا آرایه ای است که قصد نوشتن حلقه بر روی آن را دارید.
- item یک عنصر واحد از collection است.
حلقه ی for-each چگونه کار می کند؟
در اینجا چگونگی عملکرد حلقه for-each آورده شده است.
- تکرار از طریق هر عنصر در آرایه یا مجموعه داده شده (collection) ،
- هر مورد را در یک متغیر (item) ذخیره می کند.
- و بدنه ی حلقه را اجرا می کند.
مثال: حلقه ی for-each
برنامه زیر مجموع تمام عناصر یک آرایه اعداد صحیح را محاسبه می کند.
- class EnhancedForLoop {
- public static void main(String[] args) {
- int[] numbers = {3, 4, 5, -5, 0, 12};
- int sum = 0;
- for (int number: numbers) {
- sum += number;
- }
- System.out.println(“Sum = ” + sum);
- }
- }
خروجی
Sum = 19
در برنامه بالا ، اجرای حلقه for-each به شرح زیر است:
تکرار حلقه for-each را مشاهده می کنید
- همه ی عناصر numbers تکرار می شوند.
- هر عنصر در متغیر number ذخیره می شود.
- بدنه حلقه اجرا می شود ، یعنی number به sum اضافه می شود.
اصلا دوست ندارم حلقه تا بینهایت تکرار بشه و نشه جلوش رو گرفت و مثل یه ویروس حافظه رو پر کنه اگه واضح تر بنویسید ممنون میشم
پاسخ