تعرّف على الجملة الشرطية “إذا” – If Statement

إدارة المخاطر أحد أهم العلوم التي تُنقذنا مما قد يحدث أو حدث لنا من أخطار تعتمد على هذه الجملة البسيطة .. ماذا إذا if statement؟؟؟

في منطق البشر، لا يمكن التخلي عن إستخدام العبارة المنطقة “إذا ما حدث هذا” و التفكير في عواقبه “ماذا سأفعل”.

حاول حل أي مشكلة تقابلها الآن ستجد أنها تعتمد على “إذا حدث هذا فسأفعل هذا”.

و البرمجة هي تطبيق لخوارزمية تماثل المنطق العقلي لبني البشر، لذا فإنك ستحتاج لاستخدام الجملة الشرطية 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 مفتاح أساسي و أداة مهمة جداً في البرمجة يجب أن تُتقن التعامل معها فكرياً وبرمجياً كأحد أهم الأساسيات التي تدعمك في طريقك لتعلّم البرمجة.

مصطفى الطيب

صديقٌ لنُظمِ المعلُومات و عُلومِ الحَاسِب و مُختصٌ بهما، مُحبٌ للعِلمِ و نَشرِه.
أُشاركُ معارفي و تَجاربي و خِبراتي في تَدويناتٍ و دوراتٍ من خلال مُدونةِ عُلوم.

مقالات ذات صلة

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *