توفّر حلقة 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 في حالات لا تتضمن مجموعات.