عبارة التبديل عبارة عن عبارة تبديل بشرط واحد وفروع متعددة، ويكون تنسيق الجملة كما يلي:
التبديل (التعبير) {قيمة الحالة الثابتة 1: العبارة 1؛ قيمة الحالة الثابتة 2: العبارة 2؛ البيان ن+1؛}
يمكن أن تكون قيمة "التعبير" في عبارة التبديل من النوع بايت، أو قصير، أو int، أو char. "القيمة الثابتة 1" إلى "القيمة الثابتة n" هي أيضًا من النوع byte، أو short، أو int، أو char، ويجب أن تكون كذلك. تكون مختلفة عن بعضها البعض.
تقوم عبارة التبديل أولاً بحساب قيمة التعبير، إذا كانت قيمة التعبير تساوي القيمة الثابتة بعد حالة معينة، فسيتم تنفيذ العبارات في الحالة حتى يتم مواجهة عبارة Break. إذا لم يتم استخدام عبارة Break في حالة ما، بمجرد أن تصبح قيمة التعبير مساوية للقيمة الثابتة خلف الحالة، فلن يقوم البرنامج بتنفيذ العبارات في الحالة فحسب، بل سيستمر أيضًا في تنفيذ العبارات في الحالات اللاحقة حتى يتم تنفيذ العبارات في الحالة. تمت مصادفة بيان الاستراحة. إذا كانت قيمة التعبير في عبارة التبديل لا تساوي القيمة الثابتة لأي حالة، فسيتم تنفيذ العبارة التالية الافتراضية. الافتراضي في عبارة التبديل اختياري. إذا لم يكن موجودًا، وكانت قيمة التعبير في عبارة التبديل لا تساوي القيمة الثابتة لأي حالة، فلن تقوم عبارة التبديل بأي معالجة.
السمة المشتركة لعبارات if الشرطية التي تعلمناها سابقًا هي اختيار إجراء عملية فرعية بناءً على شرط واحد أو أكثر، بدلاً من اختيار إجراء عمليات فرعية متعددة. في عبارة التبديل، باستخدام عبارة Break بطريقة عقلانية، يمكنك تحقيق نتيجة تنفيذ فرع واحد أو عمليات فرعية متعددة بناءً على الشرط.
مثال:
publicclassMain{publicstaticvoidmain(Stringargs[]){chargrade='B';switch(grade){case'A':System.out.println(excellent);break;case'B':System.out.println(good); استراحة؛الحالة 'C':System.out.println(passed);break;default:System.out.println(unknown);}}}
نتائج التشغيل هي كما يلي:
جيد