🚦 Break & Continue في جافا: تحكم ذكي في حلقاتك البرمجية

اليوم سنتعلم أداتين قويتين للتحكم في تدفق الحلقات التكرارية في جافا، وهما break و continue. هاتان الكلمتان المفتاحيتان ستساعدانك على جعل برامجك أكثر كفاءة وذكاءً.


🔍 ما الفرق بين break و continue؟

  • break: تستخدم لإنهاء الحلقة التكرارية بالكامل والخروج منها فوراً
  • continue: تستخدم لتخطي التكرار الحالي فقط والانتقال إلى التكرار التالي

⚡ أمر break في الممارسة

لنفترض أنك تبحث عن رقم معين في مصفوفة. بمجرد أن تجد هذا الرقم، لا داعي لمواصلة البحث في باقي العناصر. هنا يأتي دور break:

public class BreakExample {
    public static void main(String[] args) {
        int[] numbers = {5, 12, 8, 3, 25, 9};
        int searchFor = 3;
        boolean found = false;
        
        for (int i = 0; i < numbers.length; i++) {
            System.out.println("التحقق من الرقم: " + numbers[i]);
            
            if (numbers[i] == searchFor) {
                found = true;
                System.out.println("✅ تم العثور على الرقم!");
                break; // الخروج من الحلقة فوراً
            }
        }
        
        if (found) {
            System.out.println("الرقم " + searchFor + " موجود في المصفوفة");
        } else {
            System.out.println("الرقم " + searchFor + " غير موجود");
        }
    }
}

في هذا المثال، بمجرد العثور على الرقم 3، يتم تنفيذ break ويتم إنهاء الحلقة فوراً دون التحقق من الأرقام المتبقية.


⏭️ أمر continue في الممارسة

أما continue فتستخدم عندما تريد تخطي تكرار معين ولكن مواصلة الحلقة مع التكرارات التالية:

public class ContinueExample {
    public static void main(String[] args) {
        // طباعة الأرقام الزوجية فقط من 1 إلى 10
        for (int i = 1; i <= 10; i++) {
            if (i % 2 != 0) { // إذا كان الرقم فردياً
                continue; // تخطي هذا التكرار
            }
            System.out.println("رقم زوجي: " + i);
        }
    }
}

هنا يتم تخطي جميع الأرقام الفردية وطباعة الزوجية فقط، مع الاستمرار في الحلقة حتى النهاية.


🎯 استخدام break و continue مع الحلقات المتداخلة

عند استخدام break أو continue في حلقات متداخلة، فإنها تؤثر فقط على الحلقة الداخلية التي توجد فيها:

public class NestedLoops {
    public static void main(String[] args) {
        for (int i = 1; i <= 3; i++) {
            System.out.println("الحلقة الخارجية: " + i);
            
            for (int j = 1; j <= 3; j++) {
                if (j == 2) {
                    continue; // تؤثر على الحلقة الداخلية فقط
                }
                System.out.println("  الحلقة الداخلية: " + j);
            }
        }
    }
}

💡 نصائح مهمة للاستخدام

  1. استخدم break عندما تريد إنهاء الحلقة بالكامل لتوفير الوقت والموارد
  2. استخدم continue عندما تريد تخطي حالة معينة ولكن مواصلة الحلقة
  3. تأكد من وضع شرط مناسب مع break و continue لتجنب التوقف أو التخطي غير المقصود
  4. استخدمها بحكمة لتحسين أداء برامجك وجعلها أكثر كفاءة

🧪 جرب بنفسك

قم بتجربة هذه الأمثلة بنفسك في بيئة التطوير الخاصة بك. جرب تعديل الشروط لترى كيف يتغير سلوك البرنامج. حاول أيضاً دمج break و continue في برامجك الخاصة لتحسين كفاءتها.