"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > فهم السقوط في بيانات حالة تبديل Java

فهم السقوط في بيانات حالة تبديل Java

تم النشر بتاريخ 2024-07-31
تصفح:269

Understanding Fall-Through in Java Switch-Case Statements

في برمجة Java، عبارة حالة التبديل هي بنية تحكم تستخدم لتنفيذ كتلة واحدة من التعليمات البرمجية من بين العديد من التعليمات البرمجية بناءً على قيمة المتغير. يمكن أن يكون أكثر كفاءة وقابلية للقراءة من استخدام عبارات if-else المتعددة. أحد المفاهيم المهمة التي يجب فهمها عند التعامل مع عبارات حالة التبديل هو "السقوط".

ما هو السقوط من خلال؟

يحدث السقوط عندما يستمر تنفيذ التعليمات البرمجية من حالة إلى أخرى دون مواجهة عبارة فاصل. افتراضيًا، بعد تنفيذ كتلة حالة مطابقة، سينتقل تدفق التحكم إلى كتل الحالة اللاحقة حتى تتم مواجهة عبارة فاصل أو ينتهي بيان التبديل.

بناء جملة بيان حالة التبديل

إليك الصيغة الأساسية لبيان حالة التبديل في Java:

switch (expression) {
    case value1:
        // code block
        break;
    case value2:
        // code block
        break;
    default:
        // default code block
}

مثال على السقوط

دعونا نلقي نظرة على مثال لفهم كيفية عمل التدرج:

int day = 2;
switch (day) {
    case 1:
        System.out.println("Monday");
    case 2:
        System.out.println("Tuesday");
    case 3:
        System.out.println("Wednesday");
    default:
        System.out.println("Other day");
}

في هذا المثال، سيكون الإخراج:

Tuesday
Wednesday
Other day

توضيح

عندما يساوي اليوم 2، يتم تنفيذ كتلة الحالة 2، وطباعة "الثلاثاء." نظرًا لعدم وجود بيان فاصل بعد الحالة 2، يستمر التنفيذ إلى الحالة 3 ثم إلى الحالة الافتراضية، مع طباعة "الأربعاء" و"يوم آخر" على التوالي. هذا مثال كلاسيكي على السلوك الخاطئ.

منع السقوط

لمنع الأخطاء، يجب عليك إنهاء كل حالة ببيان فاصل:

int day = 2;
switch (day) {
    case 1:
        System.out.println("Monday");
        break;
    case 2:
        System.out.println("Tuesday");
        break;
    case 3:
        System.out.println("Wednesday");
        break;
    default:
        System.out.println("Other day");
        break;
}

الآن، سيكون الإخراج:

Tuesday

السقوط المتعمد

في بعض الأحيان، يمكن استخدام التراجع عمدا لتنفيذ حالات متعددة بنفس كتلة التعليمات البرمجية:

int day = 2;
switch (day) {
    case 1:
    case 2:
    case 3:
    case 4:
    case 5:
        System.out.println("It's a weekday");
        break;
    case 6:
    case 7:
        System.out.println("It's a weekend");
        break;
    default:
        System.out.println("Invalid day");
}

في هذا المثال، ستؤدي قيم اليوم من 1 إلى 5 إلى طباعة عبارة "إنه يوم من أيام الأسبوع".

خاتمة

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

ملاحظة: على عكس Java، فإن الحالة عند البناء في روبي لا تظهر سلوكًا خاطئًا. كل جملة مستقلة، ولا يستمر التنفيذ تلقائيًا إلى الجمل اللاحقة بدون تعليمات صريحة.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/thierrychau/understanding-fall-through-in-java-switch-case-statements-17gb?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] للحذف هو - هي
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3