منتدى برامج نت | برامج نت | دليل المواقع | العاب فلاش | برامج | عيادة الطب | Free software
العاب افلام موقع منتديات

المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : الدرس الرابع في دورة الجافا (الجمل الشرطية)


loayy
10-15-2005, 08:12 AM
بسم الله الرحمن الرحيم



هذا الدرس ليس من تأليفي وإنما من تأليف أخ كريم لي أسمه huss2us (حسين) من منتدى برامج العرب www.arab-soft.com

لذا أرجو بعد إذنكم الدعاء لي وله

وإليكم الدرس كما هو دون تغيير



* * * * * * * *



بسم الله الرحمن الرحيم

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



نبدأ اليوم بشرح الجمل الشرطية وسنعتمد على ما قام الأخ لؤى بشرحه فى درس المتغيرات

ولنبدأ بإذن الله

الجمل الشرطية "Conditional Statements" لها نوعان

• الجمل الشرطية الإختيارية "Conditional Selection Statements"

وهى تضم " IF ----- IF Else ----- Switch"

• الجمل الشرطية التكرارية "Repetition "

وهى تضم " FOR ----- While ----- Do While "



و سنتحدث إن شاء الله فى درس اليوم عن النوع الأول وهو الجمل الشرطية الإختيارية أما النوع الثانى فسنتحدث عنه لاحقا فى الدرس القادم إن شاء الله



أولا: جملة IF



وتكتب هكذا



if (الشرط)

{

// الأوامر التى ستنفذ عند تحقق الشرط

}



ولنأخذ مثال بسيط نشرح فيه ال IF



package courseexampels;

import javax.swing.JOptionPane;



public class IFexample

{

 public static void main(String args[])

 {

   int x,y,z;

   String operation;

   x = Integer.parseInt(JOptionPane.showInputDialog("Enter X Please"));

   y = Integer.parseInt(JOptionPane.showInputDialog("Enter Y Please"));

   operation =  JOptionPane.showInputDialog("Enter ADD For Addition OR SUB For subtraction");

   if (operation.equalsIgnoreCase("ADD"))

   {

     z=x+y;

     JOptionPane.showMessageDialog(null,"Result OF Addition"+z);

   }

   if (operation.equalsIgnoreCase("SUB"))

   {

     z=x-y;

     JOptionPane.showMessageDialog(null,"Results Of Subtraction"+z);

   }

   System.exit(0);

 }

}





شرح المثال :

أولا قمنا بعمل import للملف javax.swing.JOptionPane

حتى نتمكن من إظهار الرسائل على الشاشه لإدخال البيانات وإخراجها لإظهار النتيجة

وبعد ذلك قمنا بتعريف ال class والدالة main ثم قمنا بتعريف 4 متغيرات هى x , y , z , operation

ال x,y,z من النوع int و operation من النوع string

إستخدمنا x و y للحصول على رقمين من المستخدم ولكن لآن الرساله تقوم بإرجاع كائن "OBJECT" إضطررت لإستخدام مفهوم ال parsing وهو تحويل متغير من نوع لنوع أخر و للعلم فإن ليس كل أنواع المتغيرات يمكن تحويلها إلى نوع أخر ولذا نجد الأمر مكتوب بهذه الطريقة



x = Integer.parseInt(JOptionPane.showInputDialog("Enter X Please"));





حيث



JOptionPane.showInputDialog("Enter X Please")  





هو المسئول عن إظهار رسالة الإدخال والحصول على الرقم فى شكل كائن و Integer.parseInt هو المسئول عن تحويل الكائن إلى رقم صحيح

وبالمثل حصلنا على رقم أخر وضعناه فى ال y

ثم بعد ذلك نطلب من المستخدم إدخال نوع العملية سواء كان جمع "ADD" أو طرح "SUB" ونخزنه فى operation

بعد ذلك عن طريق ال IF نختار بين تنفيذ عملية الجمع و الطرح

فإذا كان العملية المختارة هى الجمع ننفذ عملية الجمع ونطبع النتيجة وإذا كانت العملية هى الطرح فإننا ننفذ عملية الطرح ونطبع النتيجة

ولمقارنة متغير من النوع String بأخر أو كلمة مدخلة من المستخدم فإننا نستخدم الكود



operation.equalsIgnoreCase("SUB")



و الدالة equalsIgnoreCase تختبر المساواة مع عدم الإهتمام بحالة الحروف



ويمكنك أن تجرب المثال براحتك



والخلاصة : أن ال IF يطلق عليها أحادية الإختيار Single Selection حيث تختار بين تنفيذ مجموعة أوامر أو عدم تنفيذها









ثانيا:جملة IF Else

وتكتب كالتالى



If (الشرط)

{

 // مجموعة الأوامر التى ستنفذ فى حالة تحقق الشرط

}

Else

{

 // مجموعة الأوامر التى ستنفذ فى حالة عدم تحقق الشرط

}





ولنأخذ مثال :





package courseexampels;

import javax.swing.JOptionPane;



public class IFElse

{

public static void main(String args[])

 {

   int x,y,z;

   String operation;

   x = Integer.parseInt(JOptionPane.showInputDialog("Enter X Please"));

   y = Integer.parseInt(JOptionPane.showInputDialog("Enter Y Please"));

   operation =  JOptionPane.showInputDialog("Enter ADD For Addition");

   if (operation.equalsIgnoreCase("ADD"))

   {

     z=x+y;

     JOptionPane.showMessageDialog(null,"Result OF Addition"+z);

   }

   else

   {

     z=x-y;

     JOptionPane.showMessageDialog(null,"Results Of Subtraction"+z);

   }

   System.exit(0);

 }

}





سنجد أنه تقريبا نفس المثال السابق تقريبا ولكن مع تغيير فى إستخدام ال if else بدلا من ال if

وسنجد لو أن المستخدم لم يقوم بإدخال كلمة add لإختيار عملية الجمع فستنفذ عملية الطرح عكس المثال الأول إذا لم نختار الجمع أو الطرح فلن ينفذ أى شئ

ويمكنك إختبار هذا المثال أيضا وتجريبه



والخلاصة: أن ال IF ELSE يطلق عليها ثنائية "زوجية" الإختيار Double Selection حيث تختار بين تنفيذ مجموعة أوامر حين تحقق الشرط و مجموعة أخرى عند عدم تحقق الشرط





ملحوظة هامه و مفيدة:

من أهم خصائص ال IF أو ال IF ELSE هو ما يطلق عليه التداخل "Nested" وهو أن تكون هناك if else أو if داخل if أو if else



ولننظر المثال



package courseexampels;

import javax.swing.JOptionPane;



public class NestedIfElse

{

 public static void main(String args[])

 {

   int x,y,z;

   String operation;

   x = Integer.parseInt(JOptionPane.showInputDialog("Enter X Please"));

   y = Integer.parseInt(JOptionPane.showInputDialog("Enter Y Please"));

   operation =  JOptionPane.showInputDialog("Enter ADD For Addition OR SUB For subtraction OR MUL For Multiplication OR Div For Division");

   if (operation.equalsIgnoreCase("ADD"))

   {

     z=x+y;

     JOptionPane.showMessageDialog(null,"Result OF Addition"+z);

   }

   else

   {

     if (operation.equalsIgnoreCase("SUB"))

     {

      z=x-y;

      JOptionPane.showMessageDialog(null,"Results Of Subtraction"+z);

     }

     else

     {

      if(operation.equalsIgnoreCase("MUL"))

      {

       z=x*y;

       JOptionPane.showMessageDialog(null,"Results Of Subtraction"+z);

      }

      else

      {

        if(operation.equalsIgnoreCase("DIV"))

        {

         z=x/y;

         JOptionPane.showMessageDialog(null,"Results Of Subtraction"+z);

        }

        else

        {

         JOptionPane.showMessageDialog(null,"You Did Not Choose Any Correct Operation");

        }

      }

     }

   }

   System.exit(0);

 }



}





سنجد أنه نفس المثال و لكننا نجمع ونطرح ونضرب و نقسم



الواجب :

•أن تحاول معرفة ناتج هذا المثال فى خمسة حالات مختلفة هى إختيار الجمع مرة والضرب مرة والقسمة مرة و الطرح مرة ومرة أخرى تدخل إختيار ليس موجودا

•أن تقوم بعمل برناج يطلب مثلا من المستخدم إدخال درجة طالب

إذا كانت درجته من 85 إلى 100 فهو Excellent

إذا كانت درجته من 75 إلى 85 فهو VGOOD

إذا كانت درجته من 65 إلى 75 فهو GOOD

إذا كانت درجته من 55 إلى 65 فهو ACCEPTED

إذا كانت أقل من 55 إلى 0 فهو Failed



وإن شاء الله هنكمل مع ال switch و ال loops فى الدرس القادم

ويا ريت كل واحد يورينا الواجب بتاعة

هزيم
10-15-2005, 11:48 AM
الف شكر اخوي للافادة
واذا بغيت اي مساعدة في الجافا تراني خبير :biggrincl
لاتتردد في مراسلتي :bye:

loayy
10-16-2005, 10:00 AM
بسم الله الرحمن الرحيم

بارك الله فيك أخي الكريم وجزاك الله كل خير على العرض الجميل وإن شاء الله إن وجدت أي مشكلة لن أتردد

ما رأيك أخي الكريم في الشرح

أخوك / لؤي (أبو العبد)

snipermezo
10-16-2005, 12:45 PM
مـشكـور
مــشكــور
مـــشكـــور
مــــشكــــور
مـــــشكـــــور
مــــــشكــــــور
مـــــــشكـــــــور
مــــــــشكــــــــور
مـــــــــشكـــــــــور
مــــــــــشكــــــــــور
مـــــــــــشكـــــــــــور
مــــــــــــشكــــــــــــور
مـــــــــــــشكـــــــــــــور
مــــــــــــــشكــــــــــــــور
مـــــــــــــــشكـــــــــــــــور
مــــــــــــــــشكــــــــــــــــور
مـــــــــــــــــشكـــــــــــــــــور
مـــــــــــــــــشكـــــــــــــــــور
مــــــــــــــــشكــــــــــــــــور
مـــــــــــــــشكـــــــــــــــور
مــــــــــــــشكــــــــــــــور
مـــــــــــــشكـــــــــــــور
مــــــــــــشكــــــــــــور
مـــــــــــشكـــــــــــور
مــــــــــشكــــــــــور
مـــــــــشكـــــــــور
مــــــــشكــــــــور
مـــــــشكـــــــور
مــــــشكــــــور
مـــــشكـــــور
مــــشكــــور
مـــشكـــور
مــشكــور
مـشكـور
مشكور

loayy
10-17-2005, 06:39 AM
بسم الله الرحمن الرحيم

لا شكر على واجب أخي الكريم والرجاء الدعاء لي ولأخي حسين صاحب الدرس

وجزاك الله كل خير على حسن الرد

أخوكم / لؤي (أبو العبد)

aladeenh
10-19-2005, 01:52 PM
شكرا اخي لكريم على هذا المجهود الطيب وجزاك الله خيرا انت والاخ حسين

loayy
10-20-2005, 05:50 AM
بسم الله الرحمن الرحيم

جزاك الله كل خير أخي الكريم على حسن الرد والدعاء

وإن شاء الله الدرس الخامس اليوم

أخوك / لؤي (أبو العبد)