Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

جملة If - Else المتداخلة

جزء من قسم Fundamentals في رحلة Java على Coddy — الدرس 32 من 73.

يمكننا تضمين عبارات if-else if-else داخل بعضها البعض. يتيح لنا ذلك إنشاء هياكل هرمية لاتخاذ القرار.


ضع في اعتبارك أن عبارات if المتداخلة بشكل عميق يمكن أن تجعل قراءة الكود وصيانته أكثر صعوبة.

على سبيل المثال:

if (age > 18) {
    if (hasLicense) {
        System.out.println("You can drive");
    } else {
        System.out.println("Get a license first");
    }
} else {
    System.out.println("Too young to drive");
}

يمكن أن تكون متداخلة بشكل لا نهائي:

if (condition1) {
	if (condition2) {
		if (condition3) {
		    // يتم التشغيل فقط عندما تكون condition1 و condition2 و condition3 جميعها صحيحة
		    ...
		}
	}
}
challenge icon

التحدي

مبتدئ

قم بإنشاء برنامج يتحقق مما إذا كان بإمكان شخص ما ركوب الأفعوانية. المتطلبات هي:

  • يجب أن يكون العمر 12 عاماً على الأقل
  • يجب أن يكون الطول أكثر من 150 سم
  • إذا استوفوا كلا الشرطين ولكن كان عمرهم أقل من 15 عاماً، فهم بحاجة إلى إشراف شخص بالغ

اطبع هذه الرسائل تماماً لكل حالة:

  • إذا كان صغيراً جداً: Sorry, you're too young
  • إذا لم يكن طويلاً بما يكفي: Sorry, you're not tall enough
  • إذا كان أقل من 15 عاماً ولا يوجد شخص بالغ: Sorry, you need an adult with you
  • إذا كان أقل من 15 عاماً مع وجود شخص بالغ: You can ride with adult supervision!
  • إذا كان يبلغ من العمر 15 عاماً أو أكثر وطويلاً بما يكفي: You can ride by yourself!

ورقة مرجعية

يمكنك تضمين جمل if-else if-else داخل بعضها البعض لإنشاء هياكل اتخاذ قرار هرمية:

if (age > 18) {
    if (hasLicense) {
        System.out.println("You can drive");
    } else {
        System.out.println("Get a license first");
    }
} else {
    System.out.println("Too young to drive");
}

يمكن إجراء التضمين بشكل لا نهائي:

if (condition1) {
    if (condition2) {
        if (condition3) {
            // إذا كانت condition1 و condition2 و condition3 صحيحة
            ...
        }
    }
}

ملاحظة: جمل if المتداخلة بعمق يمكن أن تجعل الكود أصعب في القراءة والصيانة.

جرّب بنفسك

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int age = scanner.nextInt(); // لا تغير هذا السطر
        int height = scanner.nextInt(); // لا تغير هذا السطر
        boolean hasAdult = scanner.nextBoolean(); // لا تغير هذا السطر

        // اكتب كودك أدناه
        
        scanner.close();
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals