switch
عبارة switch switch
switch تقارن قيمة واحدة مع عدة حالات محددة بدل كتلة if-else طويلة.
switch تفحص قيمة (رقم، نص، أو enum) وتنفّذ الكود المقابل للحالة المطابقة. case يحدد كل حالة، و break يمنع السقوط للحالة التالية. default ي处理 الحالات غير المطابقة.
منذ Java 14، تعابير switch الجديدة برموز -> تلغي الحاجة لـ break.
الصياغة
switch (قيمة) {
case قيمة1:
// كود
break;
default:
// كود افتراضي
}📄 مثال
int day = 3;
switch (day) {
case 1: System.out.println("الأحد"); break;
case 2: System.out.println("الاثنين"); break;
case 3: System.out.println("الثلاثاء"); break;
default: System.out.println("أيام أخرى");
}أهم النقاط
| العنصر | الوظيفة |
|---|---|
| case قيمة: | حالة مطابقة — يُنفّذ الكود حتى يصل break |
| break | يخرج من switch — بدونه يسقط للحالة التالية (fall-through) |
| default: | 处理 الحالات غير المطابقة لأي case |
| -> (Java 14+) | صيغة سهمية تمنع fall-through تلقائيًا |
💡 نصائح عملية
- استخدم الصيغة السهمية (->) في الكود الحديث — أقصر وأأمن
- switch تعمل مع الأرقام و char و String و enum فقط — لا تعمل مع double أو boolean
⚠️ أخطاء شائعة
- نسيان break في الصيغة القديمة يسبب fall-through غير مقصود
- استخدام switch مع أنواع غير مدعومة مثل double أو Object
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار JAVA الكامل بالعربي.