إدارة المخاطر أحد أهم العلوم التي تُنقذنا مما قد يحدث أو حدث لنا من أخطار تعتمد على هذه الجملة البسيطة .. ماذا إذا if statement؟؟؟
في منطق البشر، لا يمكن التخلي عن إستخدام العبارة المنطقة “إذا ما حدث هذا” و التفكير في عواقبه “ماذا سأفعل”.
تحدثت عن جمل التحكم سابقاً في تدونتي جمل التحكم|هيكل التحكم Control Statements|Control Structure تحول الأفكار إلى شفرات مصدرية ولكن هنا نتخصص.
حاول حل أي مشكلة تقابلها الآن ستجد أنها تعتمد على “إذا حدث هذا فسأفعل هذا”.
و البرمجة هي تطبيق لخوارزمية تماثل المنطق العقلي لبني البشر، لذا فإنك ستحتاج لاستخدام الجملة الشرطية if تماماً كما تحتاج لاستخدامها عندما تحاول حل مشكلة ما.

وبما أن التفكير الشرطي و استخدام الجملة if لا يُمكن الاستغناء عنه في التفكير المنطقي فالجملة if من أهم الأدوات التي يحتاجها المبرمج لتحويل أفكاره و خوارزمياته إلى شفرات برمجية تؤدي أعمالاً مفيدة وحقيقية.
في هذه التدوينة تتعرف على الجملة الشرطية if و طريقة كتابتها وأشياء من هذا القبيل!
هل نتحدث عن الجملة الشرطية التي تملك سلاحاً؟
لا أتحدث هنا عن الجملة الشرطية بمفهومها العام فأنت تعلمه، ولكن أتحدث عن الجملة الشرطية if برمجياً.
الجمل الشرطية هي مجموعة من الأوامر البرمجية لا تُنفذ إلا عندما يتحقق شرط ما. جميل؟
إذاً، ما هي علاقة if بالجمل الشرطية؟!!
تُستخدم if من أجل إختبار منطقٍ ما والتحقق منه، هل هو صحيح فتُنفّذ الجملة الشرطية، أم أنّهُ خاطئ فنتجاهل هذه الجملة ويواصل البرنامج تنفيذ ما يليها.
بعبارة أخرى if هي أداة تُغير طريقة التنفيذ التسلسلية لبرنامجك، فبدلاً من أن ينفذ البرنامج سطراً تلو الآخر فإنه يتحول إلى التأكُّد من حدوث سبب ما يستدعي تنفيذ أحداث ما. و هذا تطور مهم في برامجك.

للعبارة الشرطية if شكلٌ عام كما ترى
if(Boolean){ //code to execute }
إذا أردت أن تكتب جملة if داخل شفرتك البرمجية فلا بد أن تُكتب بهذا الشكل تماماً مع وجود خيارات بسيطة للتعديل في طريقة الكتابة.
العبارة boolean تعني أنه بإمكانك كتابة أي شيء بين القوسين ما دامت القيمة النهائية ستكون من النوع boolean، و كما تعلم أن boolean تعني احدى قيمتين (ture أو false).
من الأخطاء الشائعة وضع عبارة لا تُرجع قيمة منطقية boolean مثل
if(5+3){ //code to execute }
هذه عبارة خاطئة لأن عملية الجمع الرياضية لا تُرجع قيمة منطقية .
أمثلة لإستخدام الجملة الشرطية if
public static void main(String[] args) { // example 1 int age = 45; if(age == 45){ System.out.println("You are 45"); } // example 2 boolean doIt = true; if( doIt ){ System.out.println("This will always execute"); } // example 3 if(false){ System.out.println("Will never execute"); } // example 4 int a = 10; int b = 20; if(a < b){ System.out.println("A less than b"); } }
تجربة أكثر من 70 if متداخلة Neted-if
هل فكرت في إستخدام if لأكثر من مرة؟
في حياتك الطبيعية أنت تستخدم هذا المنطق كثيراً.. إذا حدث 1 ثم حدث 2 ثم حدث 3 سأفعل 4..
أليس كذلك؟
بطريقة مماثلة بإمكانك إستخدام الجملة الشرطية if بتداخل كما بالمثال أدناه
if(age > 10 ){ if(age > 20 ){ if(age > 30 ){ if(age > 40 ){ System.out.println("You are 45"); } } } }
ولكن كسؤال بريء، لكم مرة تستطيع استخدام if متداخلة (Nested if) ، لا أدري لماذا كان في عقلي الباطن أنه يوجد سقف أعلى لإستخدام التداخل، ولكن بعد تجربة أكثر من 70 if متداخلة لم يعبر المترجم عن عدم ارتياحه لهذا العدد الكبيرة من التداخل.
لذا بإمكانك استخدام التداخل كما تريد.
مررنا على الفهم المنطقي للجملة الشرطية if واستحالة الإستغناء عنها في المنطق و في الحياة العامة، كما تعرفنا على هيكلها العام.
ولا تنسى، الجملة الشرطية if مفتاح أساسي و أداة مهمة جداً في البرمجة يجب أن تُتقن التعامل معها فكرياً وبرمجياً كأحد أهم الأساسيات التي تدعمك في طريقك لتعلّم البرمجة.
اطلع على كيف تقيّم مستوى المبرمج عبر أحجية واحدة فقط: فزبز FizzBuzz
موضوع جد مهم ومثير للغاية.
جزاكم الله خيرا.