منتدي حضن الغريب
أهلا وسهلا بك ضيفنا الكريم، إذا كانت هذه زيارتك الأولى للمنتدى، فيرجى التكرم
بالتسجيل ،أما إذا رغبت بقراءة المواضيع والإطلاع فتفضل بزيارة القسم الذي ترغب أدناه.
وجميع الروابط بالمنتدى متاحة اليك حتى لانضغط على احد بالتسجيل واذا اعجبك منتدنا
فانضم الينا وشكرا لكم جمعيا زورنا الكرام
منتدي حضن الغريب
أهلا وسهلا بك ضيفنا الكريم، إذا كانت هذه زيارتك الأولى للمنتدى، فيرجى التكرم
بالتسجيل ،أما إذا رغبت بقراءة المواضيع والإطلاع فتفضل بزيارة القسم الذي ترغب أدناه.
وجميع الروابط بالمنتدى متاحة اليك حتى لانضغط على احد بالتسجيل واذا اعجبك منتدنا
فانضم الينا وشكرا لكم جمعيا زورنا الكرام
منتدي حضن الغريب
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

منتدي حضن الغريب


 

التسجيلالتسجيل  الرئيسيةالرئيسية  أحدث الصورأحدث الصور  دخولدخول  

 

 سلسلة دروس الجافا الدرس السابع عشر

اذهب الى الأسفل 
كاتب الموضوعرسالة
nsrbulhmd
المدير العام
المدير العام
nsrbulhmd


الجنس : ذكر
عدد الرسائل : 1282
تعاليق : عندما تنتقد أحداً فبعين النحل تعود أن تـُبصـِر
ولا تنظـُر للناس
بعين الذباب فتقع على ماهو مُستقذِر
و سأحكي لك قصه العنزة والذئب حتى لا
تأمن من يـُمكِر
وحينما يثق بك أحد فإياك ثم إياك أن تـُغدِر


تاريخ التسجيل : 09/02/2009

الاضافات
منتدنا على الفيس بوك:

سلسلة دروس الجافا      الدرس السابع عشر Empty
مُساهمةموضوع: سلسلة دروس الجافا الدرس السابع عشر   سلسلة دروس الجافا      الدرس السابع عشر Icon_minitime1الثلاثاء 24 مارس 2009, 9:41 pm

السلام عليكم ورحمة الله وبركاته..



درسنا اليوم من الدروس المهمّة جداً. ليس في
الجافا فقط بل في البرمجة بشكل عام. فنحن سنتحدّث اليوم عن بعض الأساليب البرمجية
باستخدام الجمل الشرطية،
و كيفية تطبيقها في الجافا. و هذا الدرس مهم جدًا. لأنه يمهّد الأرض لك كمبرمج، و
يفتح المجال أمامنا في كتابة الوظائف في الدروس القادمة إن شاء الله.


سلسلة دروس الجافا      الدرس السابع عشر Title_right سلسلة دروس الجافا      الدرس السابع عشر SpaceIf Statement: سلسلة دروس الجافا      الدرس السابع عشر Title_left







لنتصوّر أننا نكتب برنامجاً صغيراً جداً. يخزّن رقماً في متغير،
ثم يقارن هذا المتغير بالرقم عشرة، فإذا كان المتغير أصغر نعرض على الشاشة جملة
معينة. و إذا كان أقل من عشرة، سنعرض على الشاشة جملة أخرى.

لننظر لل
شكل التالي:



سلسلة دروس الجافا      الدرس السابع عشر L17_decision




إن هذا الشكل يمثل حالة اتخاذ قرار. لو نظرت للشكل المعيّن في
وسط الصورة ستجد أن لدينا فيه سؤالاً له جواباً من اثنين إما أن يكون نعم (صح)، أو
لا (خطأ). و في الشكل السابق، كان السؤال عن قيمة رقم محدد (هل
قيمة الرقم أكبر من 10؟
) و هذا هو السؤال. فإذا كانت الإجابة نعم فإننا
سنفعل شيئاً. و ننفذ ما في الدائرة الخضراء على اليمين، أما إذا كانت الإجابة لا،
فسنقوم بفعل شيء آخر و تنفيذ ما في الدائرة الوردية على اليسار.




و لتطبيق ذلك في البرمجة، لننظر للشكل التالي:



سلسلة دروس الجافا      الدرس السابع عشر L17_if_struct




حيث نبدأ بالكلمة (if) و بعدها نفتح
قوسين دائريين نضع في داخلها شرطاً تكون قيمته إما true
أو false. بعدها نفتح قوس مجموعة نضع في داخله ما نريد
تنفيذه في حال كانت الجملة الشرطية صحيحة (true). و هذا
ما نسميه (جملة إذا) أو (If
Statement
). و هي أول نوع من الجمل الشرطية.


و الآن لنتأمّل معاً الكود التالي:



سلسلة دروس الجافا      الدرس السابع عشر L17_Test10_1



لقد قمنا باشهار المتغيّر number و
أعطيناه القيمة 5 كما في السطر 4.



و الآن لننظر إلى الكود من السطر 8 إلى 12:



سلسلة دروس الجافا      الدرس السابع عشر L17_if




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




نقطة توقف..



  • يمكن الاستغناء عن
    أقواس المجموعة في حالة كانت الجملة المراد تنفيذها جملة واحدة فقط. كما
    في المثال نفسه. و لكن إذا أردت تنفيذ مجموعة من الجمل، فيجب أن تحصرها
    بين قوسي مجموعة حتى تضمن أن يتم تنفيذها حسب ما تشاء.
  • يمكنك الاستغناء
    عن القسم else إذا أردت عمل شيء في
    حالة كان الجملة المنطقية صحيحة، و لا ترغب بعمل شيء إذا كانت الجملة
    المنطقية خاطئة.




اكتب البرنامج و قم بتشغيله، و حاول تغيير الشرط
حسب ما ترى. جرّب أن تضع شروطاً منطقية أخرى.


سلسلة دروس الجافا      الدرس السابع عشر Title_right سلسلة دروس الجافا      الدرس السابع عشر SpaceSwitch Statement: سلسلة دروس الجافا      الدرس السابع عشر Title_left






لنفرض أننا نريد أن نكتب برنامجاً يقوم بعدة عمليات مختلفة حسب
قيمة متغير. و لنفترض أن لدينا متغيراً اسمه grade
نخزّن فيه درجة




الطالب. فإذا كانت الدرجة (A) نطبع كلمة
(Excellent) أما إذا كانت (B)
نطبع كلمة (Very Good)، أما إذا كانت (C)
نطبع كلمة (Good)، أما إذا كانت (D)
نطبع كلمة (Poor) و لو كانت أي شيء آخر نطبع كلمة (You
Failed).



طبعاً يمكننا القيام بذلك بسلسلة من جمل if
الشرطية هكذا:




نقطة توقف..
عند المقارنة بين
المتغير
grade و الحرف 'A'
استخدمنا بينهما علامتي يساوي لا علامة واحدة. فعلامة = الواحدة تعني أننا
نريد أن نضع قيمة في هذا المتغير. و العلامتين (==) تعني أننا نقارن ما بين
الموجود على طرفي العلامتين. و لنا حديث مفصّل عن الجمل المنطقية و أدواتها
في ملحق منفصل ان شاء الله.






نسمي هذا النوع من If الشرطية:
nested If أي وجود if داخل
if و هكذا. و تقدّم لنا معظم لغات
البرمجة و منها لغة الجافا جملة switch الشرطية. التي
تسهّل كتابة البرنامج إذا كنت تعتمد فيه على عمل بعض الخطوات بحسب قيمة متغير محدد.
والآن لنتعرّف على الهيكل العام لجملة switch، أثناء
حل البرنامج الذي تحدّثنا عنه في
المثال:



سلسلة دروس الجافا      الدرس السابع عشر L17_TestGradeSwitch



أول ذي بدء. نلاحظ أننا قمنا بتعريف متغير من
نوع char اسمه grade. ثم
بدأنا جملة switch و التي تكتب هكذا: switch
ثم نفتح قوسين دائريين يتضمنان مفتاح. و مفتاح جملة switch
هو المتغير الذي على اساس قيمته سنعرّف الحالات cases
المختلفة. المفتاح في حالتنا هو grade وقد تم تعليمه
بدائرة خضراء في الشكل السابق.



ثم نفتح قوس مجموعة. و نلاحظ أن القومس محدد
بالخط الأصفر. و لابد أن يتضمن هيكل switch في داخله كل
ما يتعلّق بهذه الجملة.



داخل جملة switch سنقوم بتحديد القيم. و نكتبها هكذا case ثم نضع القيمة
تليها نقطتان رأسيتان (:) بعدها نفتح قوس مجموعة نضع في داخله الجمل و الأوامر التي
نريد تنفيذها إذا كانت قيمة المفتاح تساوي القيمة التي تلي case.



و هكذا حتى تنتهي كل الحالات. و يمكن
(اختيارياً) استخدام الحالة default في حالة لم تتساوى
قيمة المفتاح مع أي من القيم المذكورة.



إن جملة switch تختلف
في طريقة تسلسل الأوامر. فبمجرّد أن يتم الدخول في أي حالة من الحالات، يتم في
الواقع تنفيذ جميع الحالات التي تليها. لننظر للشكل التالي:



سلسلة دروس الجافا      الدرس السابع عشر L17_switch_struct



نلاحظ أنه لدينا المفتاح key وأننا قمنا بتحديد القيم value1 و value2 و.. هكذا.



والآن لنتابع السيناريو. لنفترض أن قيمة key كانت تساوي فعلياً value2. في
الواقع سيتم تنفيذ statement2. ومن ثم statement3 ومن ثم statement4.


أما إذا ساوت قيمة Key الـ value1 فسيتم تنفيذ statement1. و من ثم
نجد كلمة break و هي تعني الخروج نهائياً من جملة switch كاملة. و هكذا لن
يتم تنفيذ أي شيء آخر.



إذا ساوت قيمة key الـ value3، فسيتم تنفيذ الجملة statement3 و من بعدها statement4.


و هكذا فإن ترتيب الاختيارات مهم للغاية اذ يعتمد تنفيذها على هذا
الترتيب. و لهذا وضعنا في المثال السابقة كلمة break في نهاية كل اختيار،
حتى نضمن عدم تنفيذ أي جملة أخرى في داخل اقواس switch.




نقطة توقف..



  • يمكن أن يكون مفتاح الـ
    switch من نوع int
    أو char و لا يمكن عمل
    switch على نوع من الـ aggregate data
    types التي يقوم المبرمج بتعريفها.
  • استخدام كلمة
    break بعد كل اختيار ليس اجبارياً و لا
    ضرورياً و يتحكّم في ذلك طبيعة الاوامر التي تريد تنفيذها و البرنامج
    الذي تريده.





أرجو أن يكون الدرس واضحاً.



وفوق كل ذي علم عليم
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://nasserstar.ahlamontada.com
 
سلسلة دروس الجافا الدرس السابع عشر
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» سلسلة دروس الجافا الدرس السابع
» سلسلة دروس الجافا الدرس السادس
» سلسلة دروس الجافا الدرس الثامن
» سلسلة دروس الجافا الدرس التاسع
» سلسلة دروس الجافا الدرس العاشر

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدي حضن الغريب :: منتدى البرامج والكمبيوتر والحماية والماسنجر :: قسم الكمبيوتر والحماية والهواتف والشفرات-
انتقل الى: