جملة 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 جميعها صحيحة
...
}
}
}التحدي
مبتدئقم بإنشاء برنامج يتحقق مما إذا كان بإمكان شخص ما ركوب الأفعوانية. المتطلبات هي:
- يجب أن يكون العمر 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();
}
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
دوال System.outتنسيق المخرجاتكلاس Scannerمراجعة - حتى 120مراجعة - صح أم خطأ5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع3المتغيرات - الجزء الثاني
الثوابتقواعد التسميةمراجعة - تهيئة المتغيراتتحويل الأنواع - الجزء الأولتحويل الأنواع - الجزء الثاني6اتخاذ القرار
جملة Ifجملة If - Elseجملة Switchالمعامل الثلاثيمراجعة - If Elseجملة If - Else المتداخلة