الأحد، 11 أغسطس 2019

الجافا : انسياب التحكم

إن البرنامج الذي يتألف من لائحة من العبارات المتتابعة مفيد بما أنه يتم تنفيذ العبارات بالترتيب الذي تم كتابتها فيه. لكن القدرة على التحكم بالترتيب الذي يتم فيه تنفيذ العبارات : أي أن تختبر الشروط وتنفيذ عبارات مختلفة بالاعتماد على نتائج الاختبارات - يضيف قيمة كبيرة إلى طقم الأدوات البرمجية.

العبارات والكتل :
إن العبارات الأساسية هي عبارات التعابير وعبارات التصريح التي رأيت الكثير منها ، عبارات التعابير مثل ++i أو استدعاءات المناهج هي تعابير مع فاصلة منقوطة في النهاية. تنتهي الفاصلة المنقوطة العبارة. وبالفعل فإن الفاصلة المنقوطة بحد ذاتها هي عبارة لا تنفيذ شيء - عبارة فارغة. ولا يمكن أن تصبح جميع التعابير عبارات ، بما أنه ، على سبيل المثال لا يوجد معنى لوجود تعبير مثل x <= y لوحده كعبارة. يمكن تحويل الأنواع التالية من التعابير فقط إلى عبارات بإضافة فاصلة منقوطة :

  • تعابير الاسناد : تلك التي تحتوي على = أو أحد أنواع العوامل =op.
  • النماذج السابقة أو اللاحقة من ++ و -- .
  • استدعاءات المناهج (سواء كانت تعيد قيمة أم لا).
  • تعابير إنشاء الكائنات - تلك التي تستخدم new لإنشاء كائن.




إن تعابير التصريح (تدعى رسمياً بعبارات التصريح عن المتغيرات المحلية) تصرح عن متغيرة وتمهدها إلى قيمة، وبمكن أن تظهر في أي مكان ضمن الكتلة ، وليس في البداية فقط ، وتبقى المتغيرات المحلية حية فقط في الفترة التي يتم فيها تنفيذ الكتلة التي تحتوي على التصريح عنها ، كما يجب أن يتم تمهيد المتغيرات المحلية قبل استخدامها ، إما بالتمهيد عن التصريح عنها أو بالإسناد ، وإذا استخدمت أي متغيرة محلية قبل أن يتم تمهيدها ، فلن يتم تصريف الشيفرة.

تصريح عبارات تصريح الفئة المحلية عن فئة داخلية محلية يمكن أن تستخدم ضمن الكتلة التي تم فيها التصريح عنها.

بالإضافة إلى عبارات التعبير المذكورة ، فإن العديد من الأنواع الأخرى من العبارات ، مثل العباراتين if و for ، تؤثر على انسياب التحكم عبر البرنامج.

تجمع القوسان الحاصرتان {and} العبارات ضمن الكتلة ، ويمكن استخدام الكتلة في أي مكان تستخدم فيه عبارة واحدة بما أن الكتلة هي عبارة ، ولو أنها عبارة مركبة.

ليست هناك تعليقات:

إرسال تعليق

? What about Visual basic

Visual basic is hardly even a good idea to use at all today, so the best language of your code modern alternatives Like C#, PHP, Python,...