حل

حلقات `for` في Java

32 تمرينًا

نبذة عن حلقات `for`

توفّر حلقة for آليةً لتنفيذ مجموعة من العبارات بشكل متكرر حتى يتحقق شرط ما. تتكوّن الحلقة من أربعة أجزاء:

for (initialization; test; update) {
    body;
}

تُحدّد initialization حالةً ابتدائية للحلقة، وتُنفَّذ مرة واحدة بالضبط عند بداية الحلقة. وعادةً ما تُعلن متغيرًا وتُسند إليه قيمةً يُستخدم في تعبير الاختبار وعبارة التحديث. على سبيل المثال:

int i = 1

يختبر تعبير test ما إذا كان ينبغي أن تنتهي الحلقة. إذا كانت نتيجة تقييمه صحيحًا، فسيُنفَّذ جسم الحلقة ثم تعبير التحديث. وإذا كانت النتيجة خطأ، فلن يُنفَّذ جسم الحلقة ولا عبارة التحديث، ويستأنف التنفيذ بعد الأقواس المعقوفة المُغلِقة للحلقة. وعادةً ما يتحقق من المتغير المُسنَد في قسم التهيئة. على سبيل المثال:

i <= 10

بعد تنفيذ جسم الحلقة، يُنفَّذ تعبير update. وعادةً ما يزيد متغير الحلقة أو ينقص بمقدار معيّن. على سبيل المثال:

i++

قد تبدو حلقة for التي تطبع أول أربعة مربعات هكذا:

for (int i = 1; i <= 4; i++) {
    System.out.println(i * i);
}

/* =>
1
4
9
16
*/

إذا كنت تمرّ على كل عنصر في مجموعة، فيُفضَّل استخدام حلقة for-each، لكن يمكن فعل ذلك بحلقة for هكذا:

for (int i = 0; i < array.length; i++) {
    System.out.print(array[i]);
}

لحلقة for بعض المزايا على حلقة for-each:

  • يمكنك أن تبدأ أو تتوقف عند الفهرس الذي تريده.
  • يمكنك استخدام أي شرط إنهاء (منطقي) تريده.
  • يمكنك تخطّي عناصر بتخصيص كيفية زيادة متغير الحلقة.
  • يمكنك معالجة المجموعات من الخلف إلى الأمام بالعدّ التنازلي.
  • يمكنك استخدام حلقات for في حالات لا تتضمن مجموعات.
تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة

تعلّم حلقات `for`