الفكرة ببساطة
switch تختار نقطة بدء من عدة حالات حسب قيمة واحدة. نسميها Multiway Branching. القيمة داخل القوسين هي controlling expression.
switch Statement
switch تختار نقطة بدء من عدة حالات حسب قيمة واحدة. نسميها Multiway Branching. القيمة داخل القوسين هي controlling expression.
تكتب case ثم قيمة ثابتة ثم :. إذا كانت قيمة choice تساوي 2، نبدأ عند case 2:. ليست case سؤالًا من نوع أكبر من؛ هنا نبحث عن قيمة مطابقة.
نستخدم default لمعالجة القيمة التي لا تطابق أي case. في مثالنا، 1 تطبع One، و2 تطبع Two، وأي قيمة أخرى تبدأ من default وتطبع Other.
عند الوصول إلى break نخرج من switch ونكمل ما بعدها. حذفها مسموح في الصيغة التقليدية، لكنه قد يجعل التنفيذ يكمل إلى تعليمات الحالات التالية؛ سنجرّب ذلك في المرحلة القادمة.
ملاحظة عن إصدار Java: الشريحة تذكر char وint وshort وbyte، لكنها قائمة قديمة غير شاملة. يوجد أيضًا دعم لـ String وenum والأنواع المغلفة المناسبة، وتوسّع الدعم للأنواع المرجعية في Java 21. أمثلتنا هنا تلتزم بالصيغة التقليدية للمحاضرة.
int choice = 2;
switch (choice) {
case 1:
System.out.println("One");
break;
case 2:
System.out.println("Two");
break;
default:
System.out.println("Other");
}choice = 2، ثم تقرأ switch هذه القيمة.case 2: لأنها المطابقة، ونطبع Two.break فنخرج من switch؛ لا نطبع Other.default ونطبع Other.لا تخلط بين اختيار نقطة الدخول والخروج: case تحدد أين نبدأ، وbreak تحدد أين نخرج. الشريحة توصي بها بعد الفروع، لكنها ليست شرطًا نحويًا لكل case.
غيّر choice إلى 1 ثم 2 ثم 9. لاحظ أي case تُنفّذ ومتى نصل إلى default.
محاكاة لهذا المثال المحدد، وليست تشغيلًا لكود Java عشوائي.