الوحدة 4: التكرار · الموضوع 12 من 13
الموضوع 12

التحكّم في الحلقات: break و continue

كلمتان تتحكّمان في سير الحلقة من الداخل: واحدة تخرج منها، وأخرى تتخطّى دورة واحدة.

12345 continue 12345 STOPbreak
بعد هذا الدرس ستستطيع أن:
  • استخدام break للخروج الفوري من الحلقة.
  • استخدام continue لتخطّي الدورة الحالية فقط.
  • توقّع ناتج حلقة تحتوي على break أو continue.

١الفرق في جملة واحدة

breakتُنهي الحلقة كلّها وتخرج منها فورًا، ويكمل البرنامج ما بعدها.
continueتتخطّى بقية الدورة الحالية فقط، وتقفز إلى الدورة التالية. الحلقة مستمرّة.

وتأتي كلتاهما غالبًا داخل شرط if يتحقّق من حالة معيّنة.

٢الحلقة نفسها بالكلمتين

🔎 مع break
Main.java
for (int i = 1; i <= 5; i++){    if (i == 3)        break;    System.out.println(i);}System.out.println("انتهت الحلقة");
Variables · المتغيّرات في الذاكرة
Output×

🔎 مع continue
Main.java
for (int i = 1; i <= 5; i++){    if (i == 3)        continue;    System.out.println(i);}System.out.println("انتهت الحلقة");
Variables · المتغيّرات في الذاكرة
Output×

breakcontinue
ماذا يفعل؟يُنهي الحلقة كلّهايتخطّى الدورة الحالية فقط
ثم ماذا؟يخرج من الحلقة نهائيًّايعود لأعلى الحلقة للدورة التالية
ناتج المثال1 21 2 4 5

٣أمثلة تطبيقية

break: ابحث ثم توقّف

Main.java
int target = 7; for (int i = 1; i <= 10; i++){    if (i == target)    {        System.out.println("وجدته عند: " + i);        break;   // لا داعي لإكمال باقي الأرقام    }}
Output – JavaApplication (run)×
run:
وجدته عند: 7
BUILD SUCCESSFUL (total time: 0 seconds)

continue: اطبع الفردي فقط

Main.java
for (int i = 1; i <= 6; i++){    if (i % 2 == 0)        continue;            // تخطَّ الزوجي    System.out.println(i);   // اطبع الفردي فقط}
Output – JavaApplication (run)×
run:
1
3
5
BUILD SUCCESSFUL (total time: 0 seconds)

٤نقاط مهمة

توقّع وتحقّق

أجب قبل أن تنظر إلى الشرح. التصحيح فوري، وإجاباتك تُحفظ.

ما الناتج؟

snippet
for (int i = 1; i <= 6; i++){    if (i == 4) break;    System.out.print(i + " ");}
عند i = 4 تخرج الحلقة قبل الطباعة.

ما الناتج؟

snippet
for (int i = 1; i <= 6; i++){    if (i == 4) continue;    System.out.print(i + " ");}
تُتخطّى الدورة التي فيها i = 4 فقط.

أي كلمة تناسب: «عندما تجد الرقم المطلوب توقّف عن البحث»؟

الخلاصة

تحدٍّ برمجي: مُصفّي الأرقام

متوسط

مرّ على الأرقام من 1 إلى 20: تخطَّ مضاعفات 3، وتوقّف تمامًا عندما يتجاوز الرقم 15.

المطلوب:
  • استخدم continue لتخطّي مضاعفات 3.
  • استخدم break للتوقّف بعد 15.
  • اطبع الأرقام في سطر واحد بينها مسافات.

ابدأ من هذا الكود، واضغط ▶ شغّل هنا لتكتب حلّك وتجرّبه مباشرة:

Filter.java
public class Filter{    public static void main(String[] args)    {        for (int i = 1; i <= 20; i++)        {            // continue و break هنا         }    }}
Output – المطلوب×
1 2 4 5 7 8 10 11 13 14
💡 تلميح 1
مضاعف 3: i % 3 == 0
💡 تلميح 2
ضع شرط break قبل الطباعة: if (i > 15) break;

حاول بنفسك أولًا؛ للمسألة أكثر من حلّ صحيح.

Filter.java
public class Filter{    public static void main(String[] args)    {        for (int i = 1; i <= 20; i++)        {            if (i % 3 == 0) continue;   // تخطَّ مضاعفات 3            if (i > 15) break;          // توقّف بعد 15            System.out.print(i + " ");        }    }}

أسئلة التقييم

ورقة العمل: التحكّم في الحلقات: break و continue. إجاباتك تُحفظ تلقائيًّا على هذا الجهاز؛ أجب ثم اضغط «صحّح ورقتي».

1السؤال الأول: اختر الإجابة الصحيحة

1) break داخل الحلقة:

2) continue:

3) break يعمل أيضًا في:

4) بعد continue يعود التنفيذ إلى:

2السؤال الثاني: صح أم خطأ

1) break يوقف الحلقة نهائيًّا.
الصواب: صح
2) continue يوقف الحلقة.
الصواب: خطأ
3) break يُستخدم في switch أيضًا.
الصواب: صح
4) continue يتخطّى دورة واحدة فقط.
الصواب: صح
5) الإكثار منهما يجعل الكود أوضح.
الصواب: خطأ

3السؤال الثالث: أكمل الفراغات

1) يُنهي الحلقة كلّها.

💡 تعني «اكسر/اخرج».

الإجابة: break

2) يتخطّى الدورة الحالية.

💡 تعني «استمر».

الإجابة: continue

3) عند إيجاد الهدف نستخدم للخروج.

💡 هل تكمل البحث أم تخرج؟

الإجابة: break

4) لطباعة الفردي فقط نتخطّى الزوجي بـ .

💡 تخطَّ الدورة فقط.

الإجابة: continue

5) break يعمل في switch وفي .

💡 for و while من …

الإجابة: الحلقات

4السؤال الرابع: التوصيل

طابِق كل عنصر في العمود (أ) بما يناسبه في العمود (ب):

  1. 1) وجدتُ ما أبحث عنه فأخرج
  2. 2) تخطّي الأرقام الزوجية
  3. 3) break
  4. 4) continue
  5. 5) switch
  1. أ. يُنهي الحلقة.
  2. ب. يتخطّى الدورة.
  3. ج. break.
  4. د. continue.
  5. هـ. يُستخدم فيه break أيضًا.
المفتاح: (1) ج (2) د (3) أ (4) ب (5) هـ

5السؤال الخامس: أسئلة عملية

1) تتبّع الناتج:

snippet
for (int i = 1; i <= 5; i++) {    if (i == 3) break;    System.out.print(i + " ");}
الناتج الصحيح:
Output×
1 2

2) تتبّع الناتج:

snippet
for (int i = 1; i <= 5; i++) {    if (i == 3) continue;    System.out.print(i + " ");}
الناتج الصحيح:
Output×
1 2 4 5

3) أيّهما تستخدم للخروج فور إيجاد القيمة؟

أجب عن الأسئلة ثم اضغط «صحّح ورقتي».
أنهيت وحدة «التكرار»ثبّت ما تعلّمته بمراجعة تراكمية تخلط مواضيع الوحدة.ابدأ المراجعة ←