الجمل الشرطية

الجمل الشرطية تسمح لك بتنفيذ أكواد مختلفة بناءً على شروط مختلفة. في هذا الدرس، سنتعلم if، else if، else، وswitch.

جملة if

JAVA
if (شرط) {
    // يتم تنفيذ هذا الكود إذا كان الشرط صحيحًا
}

مثال

JAVA
int age = 20;

if (age >= 18) {
    System.out.println("أنت بالغ");
}
▶ جرّب الكود

جملة if-else

JAVA
if (شرط) {
    // يتم تنفيذ هذا الكود إذا كان الشرط صحيحًا
} else {
    // يتم تنفيذ هذا الكود إذا كان الشرط خاطئًا
}

مثال

JAVA
int age = 15;

if (age >= 18) {
    System.out.println("أنت بالغ");
} else {
    System.out.println("أنت قاصر");
}
▶ جرّب الكود

جملة if-else if-else

JAVA
if (شرط1) {
    // يتم تنفيذ هذا الكود إذا كان الشرط1 صحيحًا
} else if (شرط2) {
    // يتم تنفيذ هذا الكود إذا كان الشرط2 صحيحًا
} else {
    // يتم تنفيذ هذا الكود إذا لم يتحقق أي شرط
}

مثال: تحديد الدرجة

JAVA
int score = 85;

if (score >= 90) {
    System.out.println("ممتاز");
} else if (score >= 80) {
    System.out.println("جيد جداً");
} else if (score >= 70) {
    System.out.println("جيد");
} else if (score >= 60) {
    System.out.println("مقبول");
} else {
    System.out.println("راسب");
}
▶ جرّب الكود

الجمل الشرطية المتداخلة

JAVA
int age = 25;
boolean hasID = true;

if (age >= 18) {
    if (hasID) {
        System.out.println("يمكنك الدخول");
    } else {
        System.out.println("يرجى إحضار بطاقة الهوية");
    }
} else {
    System.out.println("لا يمكنك الدخول — قاصر");
}

جملة switch

JAVA
switch (التعبير) {
    case قيمة1:
        // يتم تنفيذ هذا الكود إذا كان التعبير = قيمة1
        break;
    case قيمة2:
        // يتم تنفيذ هذا الكود إذا كان التعبير = قيمة2
        break;
    default:
        // يتم تنفيذ هذا الكود إذا لم يتطابق أي حالة
}

مثال: يوم الأسبوع

JAVA
int day = 3;

switch (day) {
    case 1:
        System.out.println("الإثنين");
        break;
    case 2:
        System.out.println("الثلاثاء");
        break;
    case 3:
        System.out.println("الأربعاء");
        break;
    case 4:
        System.out.println("الخميس");
        break;
    case 5:
        System.out.println("الجمعة");
        break;
    case 6:
        System.out.println("السبت");
        break;
    case 7:
        System.out.println("الأحد");
        break;
    default:
        System.out.println("يوم غير صالح");
}
▶ جرّب الكود

switch بدون break (Fall-through)

JAVA
int month = 2;

switch (month) {
    case 12: case 1: case 2:
        System.out.println("شتاء");
        break;
    case 3: case 4: case 5:
        System.out.println("ربيع");
        break;
    case 6: case 7: case 8:
        System.out.println("صيف");
        break;
    case 9: case 10: case 11:
        System.out.println("خريف");
        break;
}

switch المتقدم (Java 14+)

JAVA
String day = "الإثنين";

String type = switch (day) {
    case "الجمعة", "السبت" -> "عطلة نهاية الأسبوع";
    case "الأحد" -> "بداية الأسبوع";
    default -> "يوم عمل";
};

System.out.println(type);  // "يوم عمل"

❓ أسئلة شائعة

س ما الفرق بين if و switch؟
ج if مناسب للشروط المعقدة (Ranges، منطق معقد). switch مناسب للمقارنة مع قيم ثابتة.
س لماذا نحتاج break في switch؟
ج بدون break، يستمر البرنامج في تنفيذ الحالات التالية (Fall-through). break يوقف التنفيذ بعد إيجاد التطابق.
س هل يمكن استخدام String في switch؟
ج نعم، منذ Java 7. يمكنك استخدام switch مع String.

📖 ملخص

📝 تمارين

  1. آلة حاسبة: اكتب برنامج يطلب رقمين وعملية (+، -، *، /) وينفذ العملية باستخدام switch
  2. تصنيف الأعمار: اكتب برنامج يصنف المستخدم إلى طفل (أقل من 13)، مراهق (13-17)، بالغ (18-64)، كبير السن (65+)
  3. شهور السنة: اكتب برنامج يأخذ رقم الشهر (1-12) ويطبع اسم الشهر وعدد أيامه

الدرس التالي

في الدرس التالي، سنتعلم الحلقات — تكرار العمليات.

100%