في لغة جافا، تُستخدم الكلمتان المفتاحيتان break و continue للتحكم في تدفق تنفيذ الحلقات (for، while، do-while) وتعليمات switch. تسمحان بتغيير التسلسل الطبيعي للتنفيذ إما عن طريق الخروج من الحلقة أو تخطي التكرار الحالي. إليك شرح مفصل لكل منهما:

1. break (الخروج من الحلقة):

  • يُستخدم break لإنهاء الحلقة بشكل فوري. عندما يُصادف break داخل حلقة، يتوقف تنفيذ الحلقة تمامًا، وينتقل التحكم إلى العبارة الأولى التي تلي الحلقة مباشرة.
  • يمكن استخدام break أيضًا مع تعليمة switch للخروج من حالة معينة.

مثال على break مع حلقة for:

Java
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break; // الخروج من الحلقة عندما يصبح i يساوي 5
}
System.out.println(i);
}
// سيتم طباعة الأرقام من 1 إلى 4 فقط

في هذا المثال، عندما يصل i إلى القيمة 5، يتم تنفيذ break، مما يؤدي إلى الخروج من الحلقة فورًا، ولن يتم طباعة الأرقام 5 إلى 10.

مثال على break مع تعليمة switch:

Java
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "الاثنين";
break;
case 2:
dayName = "الثلاثاء";
break;
case 3:
dayName = "الأربعاء";
break;
default:
dayName = "يوم غير صالح";
}
System.out.println(dayName); // سيتم طباعة "الأربعاء"

في هذا المثال، عندما تكون قيمة day هي 3، يتم تنفيذ الحالة case 3، ويتم تعيين قيمة dayName إلى "الأربعاء"، ثم يتم تنفيذ break للخروج من تعليمة switch.

2. continue (تخطي التكرار الحالي):

  • يُستخدم continue لتخطي التكرار الحالي في الحلقة والانتقال مباشرة إلى التكرار التالي. بمعنى آخر، عندما يُصادف continue داخل حلقة، يتم تخطي بقية التعليمات داخل الحلقة في هذا التكرار المحدد، ويبدأ التكرار التالي على الفور.

مثال على continue مع حلقة for:

Java
for (int i = 1; i <= 10; i++) {
if (i == 5) {
continue; // تخطي التكرار عندما يصبح i يساوي 5
}
System.out.println(i);
}
// سيتم طباعة الأرقام من 1 إلى 10 باستثناء الرقم 5

في هذا المثال، عندما يصل i إلى القيمة 5، يتم تنفيذ continue، مما يؤدي إلى تخطي بقية التعليمات داخل الحلقة في هذا التكرار (أي عدم طباعة الرقم 5)، ثم يبدأ التكرار التالي حيث i تساوي 6.

الفرق الرئيسي بين break و continue:

  • break يُنهي الحلقة تمامًا.
  • continue يتخطى التكرار الحالي وينتقل إلى التكرار التالي.

نصائح وممارسات جيدة:

  • استخدم continue لتخطي التكرارات غير الضرورية، خاصة في الحلقات التي تتطلب تجاوز شروط معينة.
  • في الحلقات المتداخلة، ينطبق break و continue على الحلقة الداخلية. استخدم عبارات مُعلَّمة (labeled statements) لكسر أو متابعة الحلقات الخارجية إذا لزم الأمر.

أتمنى أن يكون هذا الشرح واضحًا ومفيدًا. إذا كان لديك أي أسئلة أخرى، فلا تتردد في طرحها.