11.07.2015 Views

كتاب الجافا العربي Java

كتاب الجافا العربي Java

كتاب الجافا العربي Java

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

تم تحميل الملف من موقعالبوصلة التقنيةwww.boosla.com


الدرس الاول:‏مقدمة<strong>Java</strong> <strong>الجافا</strong> هى احدى لغات البرمجة التى اصبحت شائعة الاستخدام فى الآونة الاخيرة وذلكلميزاتها العديدة وهى من تطوير شركة سن مايكروسيستمولكن عزيزى القارئ قبل ان نبدأ فى التحدث عن <strong>الجافا</strong> تعالى اولا نقوم بتقسيم لغات البرمجة.‏تنقسم لغات البرمجة الى ثلاث مستويات:‏الاولوهى ابسط لغات البرمجة ولاتحتاج الى مترجم الذى سيقوم بتحويل البرنامج الى مايسمى لغة الاله وهو ما يفهمة الكمبيوتر وهى تكون لغة بسيطة فى اوامرها فى تعلمها ومنامثلتهاالثانىوهى اللغات التى تعتمد فى اوامرها على لغات اخرى اساسية ومن امثلتهاوهى تعتمد على فجول بيسك و فى بى سكريبت وهى تعتمد على <strong>الجافا</strong>).‏الثالثسى++‏ و فجول بيسك ووهذه هى اللغات الاساسية ومن امثلتها<strong>الجافا</strong>.‏ASP). Sun MicrosystemsJSP ) ((c++ ,VB,<strong>Java</strong>)Programming LangueSimple Language.(HTML)Base Programming Language :Full Programming Language::Simple Langue Base Programming Langue Full Programming Langueاذن سنقوم هنا بشرح لغه اساسية وهى من اهم لغات البرمجة .الدرس الثانى :اهم مزايا <strong>الجافا</strong>:لكن عزيزى القارئ تعالى نتعرفلماذا <strong>الجافا</strong> من اهم لغات البرمجة وما الذى ميزها عن غيرها من اللغات؟اولا تنتمى الى لغات اوبجكت اورينتيدوهو عبارة عن ارتباط بين الطرق والخصائص لكائن وتقوم الوظائف باداء وظيفةمعينة ويتم فيها تقسيم المشاكل الكبيرة الى عدة مشاكل صغيرة وحل اى مشكله ينقسم الىثلاث مراحل ا-‏ تحليل المشكلة وتحديد طريقة حل هذه المشكلة وماذا تحتاج لحلها.‏(Object Oriented Programming)


.-2تصميم عملية التحليل السابقة بصورة تستطيع معها فهم المشكلة وطريقةحلها فى خطوات متسلسلة وواضحة3- اخيرا <strong>كتاب</strong>ة كود البرنامج باللغة التى اخترتهاثانيا يمكن باستخدام <strong>الجافا</strong> تنفيذ عمليات مختلفة فى نفس الوقت ذاتهمن الطبيعى ان يتم تنفيذ خطوات اى برنامج بطريقة متسلسلة اى بعد تنفيذ خطوةينتقل الى تنفيذ الخطوة التالية لكن فى <strong>الجافا</strong> يمكن تنفيذ خطوات مختلفة فى نفس الوقتثالثا ادارة العمليات فى الذاكرة تلقائيافى اللغات الاخرى مثل سى++‏ مثلا يتم التعامل مع المتغيرات والكائن يدويا اى منخلال البرنامج و المبرمج لكن فى الجاف التعامل مع الذاكرة يتم تلقائيا دون تدخل منالمبرمج وبذلك تكون اكثر امانا من اللغات الاخرىرابعا الامان التامعندما تقوم بتحميل اى برنامج من على شبكة فانه يمكن لاحد القراصنة ان يقومبالتحكم فى جهازك من خلال كود البرنامج الذى تقوم بتحميلة لانه يمكنة التحكم فى المتغيراتوالكائن الموجودين فى الذاكرة ولكن فى <strong>الجافا</strong> هذا مستحيل ان يحدث كما ذاكرنا فىالميزةالسابقة ايضا فى حالة وجود فيروس فى جهازك فنه اثناء تشغيل اى برنامج فى الذاكرة يتمانتقال الفيروس اليه وكن فى <strong>الجافا</strong> لن ينتقل اليه لانه لايستطيع التحكم فى الذاكرة فىهذهالحاله ايضا لان الملف الذى يتم تحميله فى الذاكرة من النوع class وكما سنعرف فى الميزهالتالية هذا الملف لايمكن التغير فيه.‏خامسا لاتعتمد على نظام التشغيلتعالى عزيزى القارئ ناخذ اولا مثال على لغه اخرى مثل سى++‏ بعد <strong>كتاب</strong>ة البرنامج‏(كود)‏ يتم استخدام ما يسمى المترجم (compiler) لتحويل البرنامج الى لغة الالةوهذا الملف الجديد الناتج عن الترجمة لايعمل الى على نظام التشغيل الذى ترجم فيهبمعنى اذا تم عمل الترجمة لبرنامج كتب بلغة سى++‏ تحت نظام تشغيل ويندوز فان الملفالناتج الذى بلغة الاله لايعمل الا تحت الويندوز واذا اردنا تشغيله تحت نظام تشغيل يونكسيلزم اعادة الترجمة تحت هذا النظام.machine )C++ Compiler.Machine code::::(codeاما فى <strong>الجافا</strong> فيتحول البرنامج ‏(كود)‏ الى ملف لايمكن قراءته يسمى ملف class ثم يتحول هذايمكن تشغيله تحت اى نظام تشغيل دون عملوالملف الملف الى ملف بلغة الاله ترجمة للبرنامج مره اخرى<strong>Java</strong> file JDK Class file JVMclass هذاMachine fileهو المترجم الذى يستخدم لتحويل البرنامج المكتوب بلغة <strong>الجافا</strong> الى ملف امتدادهوهذا الملف هو الذى يمكن تشغيله على اى نظام تشغيلJVM هو المترجم الذى يحول ملف الى ملف بلغة الالهسادسا يمكن استخدام <strong>الجافا</strong> فى الانترنتيمكن عمل التطبيق او البرنامج على الانترنت وفى هذه الحاله يسمى جافا ابليتapplet)عزيزى القارئ اذا وجدت هذه الميزات مجتمعه فى لغة برمجة فاعلم انها <strong>الجافا</strong>class(javaclass:JDK


الدرس الثالث:‏اعداد الكمبيوتر لتشغيل <strong>الجافا</strong>مجانا منعزيزى القارئ تحتاج الى تحميل مايسمىقم عزيزى القارئ بتحميل احدى الاصدارات التى تتناسب مع نظام التشغيلالذى تستخدمة وسنقوم هنا بشرح عمل اعدادتحميله من الموقع الذى ذكرناه كمثال سيكون مثالنا خلال نظام التشغيل ويندوزPlatform) (<strong>Java</strong> 2 ويمكنك تحميله<strong>Java</strong> 2 Platform, Standard Edition 1.3 بعدjava.sun.com-1بعد تحميل الملف من الموقع ستظهر هذه الايقونةاضغط مرتين عليها2- ستظهر هذه النافذة(Double Click)انتظر قليلا بعد ظهورها3- ستظهر النافذه التاليه انتظر ايضا بعدها قليلا


4- ستظهر هذه النافذة اضغط على Next فيها-5تظهر النافذه التالية وهى عبارة عن اتفاقية بينك وبين شركة سن ميكروسيستيماضغط Yes لكى تستطيع الاستمرار


-6تظهر نافذة تخبرك باسم المجلد الذى سيتم تجميل الملفات به ومكان هذا المجلدفاذا اردت تغير اسم المجلد او مكانه اضغط Browse ولكن يفضل ان تدعه كما هو واضغطNextNext-7تظهر نافذه تخبرك بالملفات والمجموعات التى سيتم انزالها على الجهاز اضغطللاستمرار8- ستظهر النافذه التالية التى توضح عملية انزال الملفات انتظر حتى تصل العملية الى%100


9- تظهر نافذه تخبرك ان تنتظر قليلا حتى يتم الانتهاء من عملية الاعداداضغط اخيراFinish لانهاء عملية الاعداد-10الان اهنئك بانهاء الخطوة الاولى نحو احتراف <strong>الجافا</strong> بنجاح


الدرس الرابع:‏البرنامجلاشك عزيزى القارئ ان اى برنامج يمر بعدد من المراحل منذ ان كان فكرة او مشكلة لدىاحد مستخدمىالكمبيوتر الى ان يكتب ثم يوضع محل التنفيذ ويسمى البرنامج فى هذه الحالةتطبيق (application) والتطبيق هو عبارة عن برنامج كتب لحل مشكلة محددة.‏ول<strong>كتاب</strong>ة البرنامج بلغة <strong>الجافا</strong> يكتب داخل اى محرر نصوص مثل المفكرة مثلاويحفظ الملف بامتداد .java ويسمى هذا الملف بملف المصدرويمكن بدل <strong>كتاب</strong>ة البرنامج داخل معالج نصوص ان يكتب باستخدام محرر خاص بلغة <strong>الجافا</strong>ويسمى وهو عبارة عن اداة مساعدة تيسر للمبرمج <strong>كتاب</strong>ة البرنامج وتخزين ما كتبفى ملف وتسهيل استرجاعة وتعديله ونسخة ايضا ويوجد بعض المحررات يمكن ان تقومبعملية الترجمة ايضا ويمكنك عزيزئ القارئ اثناء تعلمك معنا <strong>كتاب</strong>ة البرنامج داخل المفكرةاو الاستعانه باحد محررات <strong>الجافا</strong>والخطوة التالية ل<strong>كتاب</strong>ة البرنامج ‏(ملف المصدر)‏ هى عملية الترجمة التى يتم تحويل ملفالمصدر فيها الى ملف بامتداد كما شرحنا فى الدرس السابق.‏(notepad). (source file)...class(editor)ولغة <strong>الجافا</strong> تتكون من مجموعة من الحزم (Packages) وهذه الحزم تتكون من مجموعة منالكائن هذا الكائن يتكون من مجموعة من الدوال (Methods) وهذه الدوال هىاوامر <strong>الجافا</strong> التى تستخدم فى <strong>كتاب</strong>ة البرنامجاى ان البرنامج بلغة <strong>الجافا</strong> عبارة عن دالة رئيسية تنادى مجموعة من الدوال الاخرى وكلداله هى مجموعة من الاوامر.‏(Opjects)الدرس الخامس:‏الدالة الرئيسيةوهناك دالة رئيسية هى الدالة main() وهى الدالة التنفيذية فى البرنامج ولا يمكن تشغيل اىبرنامج دون وجود الدالة الرئيسية فيه اذن فاى برنامج يتكون من دالة واحدة على الاقل هىmain() ويمكن ان يكون هناك دوال اخرى تعرف قبل او بعد main() وهذه الدوال لتنفيذها يتماستدعائها داخل الدالة main() كما سنرى فيما بعدتتكون الدالة عامة بما فى ذلك الدالة الرئيسيةالاعلام عن الدالة وهو بمثابة عنوان الدالة ويحتوى على اسم الدالة وقائمة المتغيرات التىستدخل الى الدالة او ستخرج منها2- تعريف الدالة وهو يشمل اساسا جسم الدالة ويوضع بين قوسي فئة ويحوى هذاالجسم العبارات التى تشمل الاوامر وسنفصلها فيما بعدويكون شكل الدالة الرئيسية هكذا{ }public static void main(String []arg){العبارات..main().-1


}وسنعرف فيما بعد ماهى الكلمات قبل .mainZ وكذلكA من (Capital letters)الدرس السادس:‏حروف <strong>الجافا</strong>تتالف حروف الجاف مما يلى1- الحروف الابجدية (letters) وهى الحروف الكبيرةمنالحروف الصغيرةالىz الى a:(Small letters)0 الى 9الارقام العددية(Digits) وهى الارقام من-2+-/*=%!\"'.,;)(][?:3- الحروفالخاصة Characters) (Special وهى تلك الحروف التى ليست باعداد او بحروفابجدية ولكن تكون علامات رمزية ومنهاالمعنىالعلامةالرمزيةالجمعالطرحالقسمةالضرباشارة المساواهعلامة النسبةعلامة التعجبشرطة مائلة للخلفعلامة تنصيصعلامة تنصيص مفردةالنقطةفاصلةفاصلة منقوطةقوس دائرى يمينىقوس دائرى يسارىقوس مربع يمينىقوس مربع يسارىعلامة اصغر منعلامة اكبر منعلامة استفهامالشارحةكما يمكن استخدام خليط من هذه الرموز فعلى سبيل المثال n\يعنى سطر جديد


ويعرف مثل هذا الخلط للرموز بتسلسلات او تتابعات الهروب sequences) (escape وسناقشهالاحقا ولكن ببساطة بالرغم من ان الرمز السابق يتكون من رمزين ولكنه يعتبر رمزواحد.‏\ و nالدرس السابع:‏الكلمات المحجوزةالكلمات المحجوزة words) (reserved او الكلمات الرئيسية words) (main وهى ذات معانىنمطية او قياسية سابقة التعريف فى <strong>الجافا</strong> ويمكن استخدامها للغرض المحدد لها فقط ولايمكناستخدامها كمعرفات يعرفها المبرمج كما لا يمكن استخدامها كمتغيرات وذلك حتى لايحدثبسببها ارتباك اثناء عملية الترجمة وهىauto , extern , sizeof , break , iffloat , static , case , struct , forchar , goto , switch , const , inttypeof , continue , union , default , dolong , register , void , double , elsereturn , volatile , short , while , forwhile , enum , signed , near , asmentry , fortran , huge , pascal , ada::الدرس الثامنالمعرفاتالمعرفات (identifiers) هى تلك الاسماء التى تعطى لعناصر البرنامج المختلفة مثلالمتغيرات الدوال المنظوماتاما شروط المعرفان يحتوى على حروف ابجدية وارقام وعلامة الشرطة التحتيةترتيب2- من الضرورى ان يكون اول رمز فى المعرف حرفا ابجديا ويسمح باستخدام الحروفالصغيرة او الكبيرة ‏(الاستخدام الشائع يفضل استخدام حروف صغيرة لمعظم انواع المعرفات)‏يمكن كذلك استخدام الشرطة التحتية وتعتبر مثل الحرف فى بداية المعرف ولكن يندرحدوث هذا3- يجب ان يكون المعرف خاليا من الرموز الخاصة ماعدالا تستخدم الحروف الصغيرة والحروف الكبيرة بالتبادل ‏(اى ان الحروف الكبيرة ليستمكافئة للحروف الصغيرة المناظره لها)‏ اى value ليست هى نفسهايفضل ان يكون للمعرف الطول المناسب وان يكون واضحا وذا معنى ومدلول6- يفضل ان يكون اسم اى داله او متغير يبدأ بحرف صغير واذا كان مكون من كلمتين تبدأالاولى بحرف صغير والثانية تبدأ بجرف كبير7- اسم الكائن يبدأ بحرف كبير واذا كان مكون من كلمتين تكون بداية كلا منهما حرف كبير:(_) score) (under باىVALUE(_)(_),:,-1-4-5


امثله صحيحة للمعرفات:‏X , area10 , Y15 , tax_rateSum_4 , total_value , REAL , Name_temperatureامثلة على اسماء معرفات غير صحيحة&address , 5 th , last name , order-no ,char , "a"*/./*.الدرس التاسع:‏التعليقاتالتعليقات (comments) هى عبارة عن بعض الاوامر الايضاحية ولا يكون لها اى تأثير لانهالاتعتبر جزء من البرنامجوتوضع التعليقات فى اى مكان داخل البرنامج وممكن ان يخلو البرنامج منها ويبدا التعليق انوجد بالعلامة وينتهى بالعلامة الرمزية وهذا يعنى ان ما يقع من سطور بين العلامتينانما هو مخصص للملاحظات وهذا شأنه ان يفيد فى تعريف السمات الاساسية للبرنامج اوفىتوضيح المنطق المشمول فى السمات المختلفة للبرنامج كما يفيد فى اعادة قراءة البرنامجوتعديلهوللمبرمج ان يكتب ما يشاء من ملاحظات بين العلامتين قد تذكره بمضمون البرنامجوالغرض منه او بعض الخطوات كما تفيد ايضا فى الشرحوقد يحتوى البرنامج على اى عدد من سطور الملاحظات فهى لا تهم المترجمواذا كان التعليق سطر واحد فقط يمكن ان تكون علامة التعليق هى.. //.الدرس العاشر :تسلسلات الهروبهناك بعض رموز الحروف الخاصة عزيزئ القارئ ويطلق عليها احيانا حروف الهروفcharacter) (escape وحرف الهروب هو حرف يستخدم للدلالة على ان الحروف التالية له لهامعنى خاص باختصار حروف الهروب هى حروف لها هدف معين وتبدأ دائما \ شرطة مائلةالى الخلف وبعدها ياتى الحرف او الرمز والاثنين معا يمثلان رمز واحد فقطنورد فيما يلى تسلسلات الهروب الشائعة الاستخدامالرمزالوظيفةالعودة مسافة للخلفسطر جديدالبدء من اول السطرالتقدمل<strong>كتاب</strong>ة علامة التنصيصل<strong>كتاب</strong>ة علامة التنصيص الفرديةل<strong>كتاب</strong>ة علامة الاستفهامل<strong>كتاب</strong>ة شرطة مائلة للخلف.\b\n\r\t\"\'\?\\7 مسافات


الدرس الحادى عشر:‏الثوابتيوجد فى لغة <strong>الجافا</strong> العديد من انواع الثوابت وسنتناول عزيزى القارئ هذه الانواع بشئ منالتفصيل.‏1- ثوابت صحيحةهى تللك الاعداد ذات القيم الصحيحة التى تحوى تسلسلا من الارقام سواء كانت اعدادسالبة او اعداد موجبة او صفر.‏ويجبالا يحتوى الثابت الصحيح على نقطة عشرية او اسية.‏يسبق العدد السالب باشارة – لبيان انه عدد سالبلايتكون العدد الصحيح من اى رمز خاص او حرف ابجدىلا يكون الرقم الاول صفرثوابت متحركة النقطةالثابت المتحرك النقطة هو عدد للاساس 10 يحتوى على علامة عشرية او على اساو على كل منهما ولا يحتوى على اى رمز او حرف وقد يكون العدد موجبا او سالباويمكن ان يكون الاس سالب او موجب ولكن يجب الاويرمز للاساسيحتوى على علامة عشريةفمثلا الرقم 40000 يمكن ان يكتبقد يخضع احيانا ثابت النقطة المتحركة الى عمليات تقريب فمثلا العددنجد انه يتم تقريبه الىولايمكن استخدام قيم متحركة النقطة فى اغراض العد او الفهرسة3- ثوابت حرفيةفيما يلى امثله لبعض الثوابت الحرفية(0.9999999999999)'a' , '5' , '\n' , 65..integer constantfloating point4e510 بحرف e او E1character constants-2اى ان الثوابت الحرفية يمكن ان تكون رقم او حرف او رمز من متسلسلات الهروباما الرقم الاخير‎65‎ فهو عبارة عن الحرف 'A' اى ان الثابت الحرفى يمكن ان يكون رقم وهذاالرقم سيتم تحويله الى الرقم المناظر له فى ASCII اى الاسكى كود وهو ان الحرف يتم تمثيلهبرقم مكون من4- ثوابت السلسلةيحتوى ثابت السلسلة على اى عدد من الرموز او الفرغات وتكون محصورة بينعلامتى تنصيص7 بتstring constant. " "


الدرس الثانى عشر :المتغيراتعزيزى القارئ ان <strong>الجافا</strong> غنية بالمتغيرات من الانواع المختلفةوالمتغيرات هى معرفات او اسماء رمزية يخصص لها اماكن تخزين فى الذاكرة والتى تتحولقيمتها وتتغير من قيمة الى اخرى حيث يمكن الرجوع الى القيمة عن طريق الاسم المعطى لهاوذلك اثناء تنفيذ البرنامج دون ان يتغير نوع البيانات ‏(سيتم شرح فيما بعد نوع البيانات)‏ ويلزمالاعلان عن نوع المتغير صراحة قبل استخدامه فى البرنامجوفى الغالب ما يتم الاعلان عن المتغيرات وتوضيح نوعها فى مستهل البرنامجنتناول الان بشئ من التفصيل المتغيرات1- المتغيرات الصحيحة وهى تلك التى يخزن فيها اللاعداد الصحيحة السالبة او الموجبةيوجد منها نوعان اعداد صحيحة صغيرة او عدد طويل صحيح والاخيرة مخصصة للارقامالكبيرة جدا2- المتغيرات متحركة النقطة وهى تلك التى تحتوى على علامة عشرية او العدد الذى بهقيمة كسرية او بمعنى ادق الاعداد الحقيقية3- المتغيرات مزدوجة الدقة وهى نفس متحركة النقطة ولكن القيم الممثلة للمتغيراتمزدوجة الدقة مداها يكون اكبر من متحركة النقطة4- المتغيرات من النوع الحرفى وتتضمن الاعلان عن الحروف او الرموز كما شرحنا فىالدرس السابق...::::::الدرس الثالث عشرنوع البيانات ‏(المتغيرات)‏Data Type وهى الانواع التى ستستخدم فى تعريف المتغيرات.‏لتعريف المتغير يكتب اولا نوع المتغير ثم اسم المتغير بعد ذلك ويمكن الاعلان عن اكثرمن متغير بنفس النوع فى سطر واحد ب<strong>كتاب</strong>ة النوع ثم اسماء المتغيراتوسيتم توضيح ذللك فى امثله بعد ذلك.‏لكن تعالى الان عزيزى القارئ نتعرف على انواع المتغيراتوهو يأخذ القيم صفر او واحد ويكون حجمة فى الذاكرة ويستخدم فىحالة المتغيرات تكون احدى قيمتين معلومتين مثلا ‏(نعم و لا)‏ وبمعنى ادق تكون قيم هذا النوعfalse) (true or والقيمة الافتراضية فى حالة الاعلان عن متغير وعدم إعطاؤه قيمة اى انالقيمة الافتراضية تكون.1 bitfalseboolean-1


128- كحد(100-,6-,10,20)byte -2وهو التى تكون قيامها اعداد صحيحة سالبة او موجبة محصورة بينمثلاادنى و 127 كحد اقصى وحجمها فى الذاكرةوهى التى تكون قيمها عبارة عن حرف واحد او قيمة لاحدى متسلسلات الهروب اورقم وهذا الرقم يعبر عن حرف ولكن بنظام الاسكى كود حيث فى هذا النظام كل حرف يمثلبرقم معين وحجمها فى الذاكرةshort وتكون قيمها اعداد صحيحة موجبة او سالبة محصورة بين 32768- كحد ادنى و32767 كحد اقصى وحجمها فى الذاكرة يكونint وهى تمثل بقيم صحيحة موجبة او سالبة محصورة بين 2147483648- كحد ادنى و2147483647 كحد اقصى وتستغل من الذاكرة حجم( 1 byte) اى 8 bitchar -3(a , n , \t , 56 , 126) ( مثلا 2 byte) اى 16 bit-416 bit-5‎32‎اى bit 4 byte مثلا(218888-,20000,50000)-638+3.40282347E-/+ و, 222.357 , 2.555) 32 bit10 مثلا 5e2) ( هى الرقم (500)-78 byte اى 64 bit1.8e308-/+ و-8float وهى تمثل بقيم الاعداد حقيقية اى اعداد بها علامة عشرية او عداد كسرية او اعداد45-1.40239846E-/+ وحجمها فىاسية وتنحصر هذه القيم بين88.65) وكما ذكرنا من قبل ان الحرفالذاكرة يكون مثلاصغير او كبير يمثل الاساسdouble هى تمثل ايضا مثل float ولكن الفرق ان double القيم تكون اكبر بكثير وهى324-4.9e-/+ وحجم الذاكرة المستغل يكونتنحصر بينlong وهى تمثل الاعداد الصحيحة السالبة او الموجبة ولكن تكون اعداد كبيرة جدا جداeTypeContainsDefaultvalueSize(bits)والجدول الاتى ملخص الشرح السابقMin and Max valuesbooleancharbyteshortintlongfloatdoubletrue or falseUnicode charactersigned integersigned integersigned integersigned integerIEEE754 flt. pt.IEEE754 flt. pt.false\u0000000-0.00.011681632643264Not Applicable\u0000 to \uFFFF-128 to 127-32768 to 32767-2147483648 to 2147483647-9223372036854775808 to 9223372036854775807+/-3.40282347E+38 to +/-1.40239846E-45+/-1.79769313486231570E+308 to+/-4.94065645841246544E-324.الدرس الرابع عشر :المؤثرات الحسابية الثنائيةالمؤثرات هى تلك الاشارات الخاصة بالعمليات الحسابيةوالبيانات التى يتم اداء عمليات حسابية عليها بواسطة المؤثرات تسمى عوامل او عناصروتتطلب بعض المؤثرات عاملين لذلك سميت المؤثرات الحسابية الثنائيةوهى عبارة عن خمسة مؤثرات حسابية ثنائية وهىوالغرض منها عملية الجمع بين العواملوالغرض منها عملية الطرح بين العواملوالغرض منها ضرب العوامل..operators:::+-*


:/والغرض منها القسمة بين العوامل وعند استخدام هذا المؤثر نحترس حيث يمكن انيكون العاملين المستخدمين اعداد صحيحة وينتج عن العملية عدد عشرىمثالa/b=3.75 هذه هى الاجابة المتوقعة ولن الناتج سيكون غير ذلك حيث ان العاملانصحيحة فيكون الناتج عدد صحيح فيكون الناتج 3 فقط دون العدد الكسرى او العشرى ولكنماذا لو ارادنا القسمة الصحيحة فى هذه الحالة يجب ان يكون احد العاملين عدد عشرى بمعنىان تكون 4.0=b وهى نفس القيم القديمة ولكن اختلف نوعها وفى هذه الحالة يكونالناتج 3.75 لذلك احترس عزيزى القارئ عند استخدامك هذا المؤثر.‏ويكون ناتج هذه العملية هو باقى القسمة ونلاحظ هنا انه يجب ان تكون العوامل اعدادصحيحة لضمان صحة الناتج وتكون اشارة الناتج هى نفس اشارة العامل الايسرمثالa,b اعدادa=15 , b=415.0=a او:%a=11 , b=2– a%b = ولكن -1 ايضا a%-b=1 a%b = 1عزيزئ القارئ يجب الاخذ فى الاعتبار لكل هذه الملاحظات عند استخدامك المؤثراتالحسابية الثنائية .الدرس الخامس عشر :المؤثرات الاحاديةهى تللك المؤثرات التى تعمل على عامل واحد ويكون الناتج قيمة جديدهواكثر هذه المؤثرات شيوعا واستخداما اشارة السالب التى تحدد اشارة المتغير او الرقمويستخدم لزيادة قيمة المتغيرويسمى هذا المؤثر مؤثر الزيادةبواحد مثلا a=a+1 ناتج هذه العملية هو نفسه ناتج ++a يعنى اذا كانت5=a اذن ++a تجعل(-)increment operatora=5: ++a=6ويمكن وضع الموثر قبل العامل او بعده ولكن بالتاكيد هناك فرق بينهملاحظ معى اذا كانتb=(a++)*3 يكون ناتج العملية ان 15=b هنا لم تتم الزيادة ولكن اذا استخدمنا المتغيرعملية حسابية بعد ذلك ستكون قيمتهاما b=(++a)*3 يكون ناتج هذه العملية 18=b هنا لان الزيادة تمت على المتغيراذن اذا كان المؤثر قبل العامل فتتم الزيادة فى نفس السطر او فى نفس الخطوة فى البرنامجلكن اذا كان المؤثر بعد العامل فتتم الزيادة بعد الانتهاء من هذه الخطوةa فىa6:--يسمى هذا المؤثر مؤثر النقصان decrement operator ويستخدام لانقاص قيمة المتغيربواحد a=a-1 ناتج هذه العملية هو نفسه ناتج --a يعنى اذا كانتويمكن وضع الموثر قبل العامل او بعده ولكن بالتاكيد هناك فرق بينهم وتم شرح الفرق منقبل فى المؤثر السابقتجعل a=4 a-- اذن a=5الدرس السادس عشر :المؤثرات العلاقية او المنطقية


هى عبارة عن اشارات المقارنة وتستخدم للمقانة بين عاملين (وهذه المؤثرات هى كما يلىالعملية هىوهى تمثل اقل مناقل من او يساوىاكبر مناكبر من او يساوىمثلاz=a


ويمكن تلخيص الشرح فى الجدول الاتى:‏ناتج التعبير الاول المؤثرناتج التعبير الثانىالنتيجه النهائيةصحصحصحخطأ( true )( true )( true )( false )صحيح(‏ ( trueصحيح(‏ ( true( false )( false )||||||||صحيح(‏ ( true( false )( true )( false )خطأصحيحخطأخطأخطأ: not!هذا المؤثر احادى اى ينفى قيمة التعبير المنطقى باختصار اذا كان التعبير صحيحايجعله خطأ واذا كان خطأ يكون صحيحاويمكن تلخيص الشرح فى الجدول الاتى:‏ناتج التعبير المؤثرالنتيجه النهائيةخطأصح( false )( true )!!صحيح(‏ ( trueخطأ ) false (الدرس الثامن عشر :مؤثر التحديد ومؤثرات التحديد المركبةتضم <strong>الجافا</strong> عدة مؤثرات تحديد مختلفة تستخدم جميعها فى عمل تعبيرات تحديدexpression تحدد فيه تعبير لاحد المعرفات وعادة ما يشار الى تعبيرات التحديد بانها عباراتتحديداولا مؤثر التحديدحيث يمثل الطرفتكون الصيغة العامة لتعبيرات التحديد هكذاالايسر اسم المتغير بينما يمثل الطرف الايمن ثابت او متغير او تعبير واذا كان تعبير فانهينتج عن تنفيذ التعبير السابق حساب قيمة التعبير الموجود على الطرف الايمن من مؤثرالتحديد وتخزين الناتج فى المتغير المعرف الموجود على اليسارويسمح فى <strong>الجافا</strong> بالتحديدات المتعددة وتنفيذ التحديد يكون من اليمين الى اليسار مثلافان هذا التعبير يعنى ان قيمة المتغير 6 ثم بعد ذلك قيمة المتغيرتذكر عزيزى القارئ الفرق بين وثانيا مؤثرات التحديد المركبةان استخدام مؤثرات التحديد المركبة هو عبارة عن طريقة مختصر لتعبيرات التحديد اوالتخصيص وهذه المؤثرات هىassignmentj = k =6j تصبح . 6identifier = expression..(k ستصبح==)=. assignment ststment( = ):+ = , - = , * = , / = , % =ونلاحظ ان هذه المؤثرات عبارة عن المؤثرات الحسابية وبجوارها مؤثر التحديد يساوىولكن ماذا تمثل هذه الاختصارات ؟y = 6 ,x = x + y هنا xx اى ان = 11 x هى = 5 + 6 xx + = y بهذه الصورة x = x + yx = 5فما هى قيمةتكون قيمةيمكن <strong>كتاب</strong>ة التعبير


وهكذا بالنسبة لباقى هذه المؤثرات والجدول التالى يوضح الشرحيكافئ التعبيرالتعبيرx += yx = x + yx -= yx = x - yx *= yx = x * yx /= yx = x / yx %= yx = x % y)الدرس التاسع عشر :اولويات تنفيذ المؤثراتاذا اجتمع اكثر من مؤثر فى عملية واحد فلاى المؤثرات الاسبقية فى التنفيذ ومن اى اتجاهيبدأ تنفيذ هذا المؤثر ؟يوضح الجدول الاتى الاسبقية والمصاحبة اتجاة تنفيذ المؤثر على العملية وذلك من الاعلىالى الاسفل اى ان الاسبقيه لما فى بداية الجدولالمصاحبهالمؤثرفئة المؤثرمن اليمين الى اليسارمؤثرات احاديةمن اليسار الى اليمينضرب وقسمة وباقى القسمةمن اليسار الى اليمينجمع وطرحمن اليسار الى اليمينمؤثرات علاقية منطقيةمن اليسار الى اليمينمؤثرات التساوىمن اليسار الى اليمينمن اليسار الى اليمينمن اليمين الى اليسارمؤثرات التحديد(! , - , ++ , --% , / , *+ , ->= , > ,


ايضا يمكن تحويل من النوع char الى float مثلافان قيمة المتغير 65.0 وهنا نلاحظ الفرق بين,float f الان اذا وضعناالمثالين حيث ان float تمثل الارقامf=cchar c='A'f تصبحالعشرية او الكسرية .ايضا يمكن تحويل الاعداد الصحيحة بانوعها الى الاعداد العشرية بمعنى يمكن تحويلfloat , double الى byte,int,short,longالدرس الحادى والعشرون :التعبيرات والعباراتالتعبير expression يمثل عنصر بيانات مفرد مثل الرقم او الحرف ويمكن ان يحتوى علىمحتوى مفرد مثل الثابت او المتغير كذلك يمكن بعض الخليط بين هذه المحتويات متصلةبعضها ببعض بمؤثر او اكثر ويمكن ايضا ان يمثل التعبير شروطا منطقيةاما العبارة او الجملة فانها تتسبب فى اجراء الكمبيوتر الى نشاط معين لذا فهىالامر الموجه الى الكمبيوتر لادى شئ معين المطلوب القيام به وتوجد ثلاث فئات منالعبارات1- عبارات او جمل تعبيرات وتحتوى على تعبير ويتسبب تنفيذ عبارة التعبير فى تقويمالتعبير2- عبارات او جمل مركبة وهى تلك التى تتكون من اكثر من جملة او عبارة مفردة يمكن انتكون عبارات تعبير او عبارات مركبة او عبارات تحكم وعلى هذا تقدم العبارة المركبةامكانية ادخال عبارات داخل عبارات اخرى وتكون جميع هذه العبارات محصورة بين زجيناقواس الفئة3- عبارات التحكم وتستخدم فى انتاج سمات برنامج خاصة مثل الاختبارات المنطقيةوالدورات والتفريعات ويتطلب من عبارات التحكم وجود عبارات داخل عبارات اخرىوسيتم عزيزى القارئ شرح هذه العبارات بالتفصيل فى دروسة لاحقة.(:)(statement){ }:)الدرس الثانى والعشرون :تشغيل مترجم <strong>الجافا</strong>عزيزىالقارئ ذكرنا فى دروس سابقة المسار الذى يسلكة البرنامج بداية من <strong>كتاب</strong>ته حتىتشغيله الان تعالى نتعرف على طريقة الحصول على ملف class وتشغيل هذا الملف.‏اولا بعد <strong>كتاب</strong>ة البرنامج يتم حفظ الملف ملف المصدر فى هذا المسارحيث ان هذا المجلد يتم إنشاؤه على الجزء سى من الهارد بعدتنصيب j2sdk الذى تم تحميله من الانترنت من موقع سن ويتم حفظ الملف بامتداد.javac:(c:\jdk1.3.0_02\bin


dos( filename.java)ثانيا نقوم بتشغيل محث الدوس وتختلف طريقة تشغيله على حسب نظام تشغيل الويندوزفاذا كان الويندوز المستخدم 98 او ميلينيوم نتبع الاتى:-1 اضغط start-2 اختر programs-3 اضغط على Ms-Dos Promptنجد نافذة الدوس ظهرت امامنااما اذا كان نظام التشغيل ويندوز اكس بى او2000 اتبع الخطوات الاتية-1 اضغط start-2 اضغط Run3- اكتبcmd ثم اضغطتجد انه تم فتح نافذه الدوسokثالثا وفى جميع الحالات يكون محث الدوس عند مجلد نظام التشغيل للويندوز فاتبع الخطواتالاتية للوقف عند المحثcd.. ثم اضغط مفتاح ادخال فى لوحة المفاتيحjdk1.3.0_02 cd ثم اضغط مفتاح ادخال فى لوحة المفاتيحcd bin ثم اضغط مفتاح ادخال فى لوحة المفاتيحc:\jdk1.3.0_02\bin1- اكتب2- اكتب3- اكتب


..رابعا الان سنقوم بترجمة ملف المصدر الى ملف .classاكتب الان javac filename.java ثم اضغط مفتاح ادخال اى نقوم ب<strong>كتاب</strong>ة javac وبعدها نكتباسم ملف المصدر بامتداده الان اذا قمت بفتح المسار السابق ستجد انه تم انشاء ملف جديدبامتداد filename.class وهذا هو الملف الذى يمكنك تشغيله تحت اى نظام تشغيل دون التقيدبالنظام الذى تمت الترجمة تحتهخامسا فى النهاية لتشغيل البرنامج الذى قمت ب<strong>كتاب</strong>ته اى ملف المصدر اكتباى اكتب java ثم اكتب اسم الملف الذى امتداده class دون <strong>كتاب</strong>ة الامتدادالدرس الثالث والعشروناول برنامج جافاالان تعالى عزيزى القارئ نقوم بعمل اول برنامج لك بلغة <strong>الجافا</strong> وسيكون برنامج بسيط جدايقوم بطباعة كلمةقم بفتح اى محرر نصوص وليكن مثلا الدفتر notepad وقم ب<strong>كتاب</strong>ة هذا البرنامجjava filename.class Hello{public static void main(String []arg){System.out.println("Hello");:Hello}}اكتب الحروف كما هى اى لاتغير فى حالة الحروف كبيره او صغيره ولن اكتبها كما هىامامكقم الان بحفظ هذا الملف فى المجلد bin الموجود داخل المجلد jdk1.3.0_02 وهذا المجلدستجد فى الجزء :c من الهارد ديسك الخاص بك.‏احفظ الملف باسم ولاتنسى الامتدادقم الان عزيزى القارئ باتباع الخطوات الموجوده فى الدرس السابق تجد انه تم طباعة كلمة.Hello.javaHello


تعالى الان عزيزى القارئ نفسر البرنامج خطوه خطوهاولا class Hello اى برنامج للجافا يجب ان يكتب داخل زمره او مجموعة او فصل تسمىclass فيلزم اولا <strong>كتاب</strong>ة كلمة class وبعدها الاسم الذى سيعطى لهذا ويفضل دائما انيكون اول حرف فى هذا الاسم كبير ويتم بعد ذلك <strong>كتاب</strong>ة باقى البرنامج داخل اقواسالفئةثانيا بعد ذلك الدالة الاساسية للتشغيل وهى main وقد تم شرح اهميتها فى درس سابقثالثا الجملة التى هى محور البرنامج الان كما اتفقنا من قبل ان <strong>الجافا</strong> تتكون من مجموعة منالحزم package ويوجد حزمة تستدعى ذاتيا دون ان تقوم باستدعائها بخطوه فى البرنامج كماسنتعلم بعد ذلك هذه الحزمة هى java.lang ويوجد بداخلها مجموعة من الدوال او الطرقmethod ومنها التى استخدمنها الان System.out.println بين القوسين كتبنا الجملة المرادطباعتها بين علامات تنصيص حتى تطبع كما هى System هذا اسم الفصلmethod داله اسمها out وداخلها دالهنلاحظ ان اول حرف كتب كبيراخرى اسمها println ومن هنا نفهم ان class يتكون من عدد و الان تتكون هى الاخرى من method وفى النهاية الحزمة او package تتكون من عددةوالان نحن نستخدم الحزم التى تتكون منها <strong>الجافا</strong>.‏باختصارالحزمة java.lang تتكون من عدة class ومن هذه الclass Systemوداخل System توجد دوال ومنهاوداخل الدالة println التى هى خاصة بالطباعة.‏ولاتنسى ان الجمل والعبارات تنتهى دائما ; فاصله منقوطهclass لذلكmethod يمكنclassclassmethod. وcapitalcapital وبداخلهoutout توجد:{ }الدرس الرابع والعشرون:


الاعلان عن المتغيراتتعالى الان عزيزى القارئ نضع انواع البيانات التى ذكرناها ونعلن بها عن متغيرات داخلبرنامج ب<strong>الجافا</strong>.‏اذا كان لدينا متغير اسمه b وقيمة هذا المتغير 5 كيف يمكن ان نعلن عنهاولا ننظر الى القيمة التى سيشير اليها b نجدها رقم صحيح موجب صغير جدا اذن يكون نوعالمتغير b احدى انواع البيانات الخاصة بالاعداد الصحيحة ولن نفض ان يكونفضلت هذا النوع عن باقى الانواع ؟ لان هذا المتغير يشير الى قيمة صغيرة فلا داعىلتعريف نوع يستغل مساحة كبيرة فى الذاكرة .byte فلماذاbyte b = 5 ;ولللاعلان عن هذا المتغير يكون هكذاسنكتب الان برنامج نعلن فيه عن هذا المتغير ونطبعهclass DataType{public static void main(String []arg){byte b=5;System.out.println("byte b ="+b);}}قم الان عزيزى القارئ بتشيغل هذا البرنامج ولاحظ النتيجة!


+.وهو استخدام لهذهنستنتج ايضا انه لطباعة جمله بجوار رقم يتم الربط بينهم بعلامة زائد الاشارة لم نذكره من قبلقم الان عزيزى القارئ بعمل برنامج تعلن فيه عن المتغيرات الاتية وتطبعها هذا كتدريب لكs=100 , i=10000 , L=1000000000 , d=105.55 , c='G'state=falseالدرس الخامس والعشرون :مثال على استخدام متسلسلات الهروبفى نهاية الدرس السابق كان هناك تدريب لعمل برنامج لللاعلان عن متغيرات وطباعتهاs=100 , i=10000 , L=1000000000 , d=105.55 , c='G'state=false.تعالى عزيزئ القارئ نقوم معا بعمل هذا البرنامج بحيث يتم طباعة فى السطر الواحدمتغيران بينهم مسافةكما شرحنا سيكون شكل البرنامج هكذاclass DataType{public static void main(String []arg){short s=100 ;int i=10000 ;long L=1000000000;float d=105.55f ;char c='G';boolean state=false;System.out.println("s ="+s+"System.out.println("L ="+L+"System.out.println("c ="+c+""+"i="+i);"+"d="+d);"+"state="+state);}}


لكن هناك تكرار لعبارة الطباعة ويمكن ان تكون المسافات غير متساوية فتعالى نستخدممتسلسلات الهروب فيكون شكل البرنامج.‏class DataType{public static void main(String []arg){short s=100 ;int i=10000 ;long L=1000000000;float d=105.55f ;char c='G';boolean state=false;System.out.println("s="+s+"\t"+"i="+i+"\n"+"L="+L+"\t"+"d="+d+"\n"+"c="c+"\t"+"state="+state);}}راجع الدرس العاشر وستكون شكل المخرجات هكذا


f.لاحظ فى هذا البرنامج عند تعريف النوع float تم وضع حرف بعد قيمة المتغير اما فىحالة تعريف double لايتم وضع اى حروف بعد القيمةالان بالتأكيد تعرف اهمية استخدام متسلسلات الهروب اكتب برنامج واستخدم فية المتسلسلاتالاخرى لمعرفة اهميتهاالدرس السادس والعشرون :مثال على استخدام المؤثرات الحسابيةتعالى عزيزى القارئ نقوم بعمل برنامج يوضح استخدام المؤثرات الحسابية المختلفةلدينا متغيران وقيمهم هى 4=b قم بطباعة التعبيرات الحسابية المختلفة ونتيجتها.class ArithOper{public static void main(String []arg){,a=15a,bint a=15;int b=4;int x,y,z,v,u;float f,c=4.0f;x=a+b;y=a-b;z=a*b;v=a/b;f=a/c;u=a%b;System.out.println("a+b="+x);System.out.println("a-b="+y);System.out.println("a*b="+z);System.out.println("a/b="+v+"\t"+"a/b="+f);System.out.println("a%b="+u);}}قمنا عزيزى القارئ بطباعة كل تعبير بعبارة جديدة لتوضيح المثال فقط.


.اولا تم الاعلان عن المتغيرات ونلاحظ انه يمكن الاعلان عن المتغيرات من نوع واحد فىنفس الخطوةثانيا تم <strong>كتاب</strong>ة التعبيرات ونلاحظ هنا انه يكتب على اليسار اسم المتغير وعلى اليمين العمليةالحسابية وناتج العملية يكون هو قيمة هذا المتغيراخيرا تم طباعة العملية وناتجها لتكزن النتيجة على الشكل التالى:‏.لكن لاحظ عزيزى القارئ اننا قمنا بعملية القسمة مرتين وهذا لاننا اردنا توضيح الفرق بينقسمة عدد صحيح على عدد صحيح وعدد صحيح مع عدد عشرى كما ترى ان هناك فرق فىالنتيجة فعندما قسمنا 15/4 كان الناتج 3 لان العددين صحيحين اما عندما قسمناالناتج 3.75 لان احى الرقمين عشرى انتبه عند استخدامك مؤثر القسمة.‏15/4.0 كان.,a=12.5تعالى عزيزى القارئ ناخذ مثال اخر اذا كان لديك متغيران2.5=b قم بطباعة التعبيرات الحسابية المختلفة ونتيجتهاa,b وقيمهم هىclass ArithOper1{public static void main(String []arg){float a=12.5f , b=2.5f;float x,y,z,v,u;x=a+b;y=a-b;z=a*b;v=a/b;u=a%b;System.out.println("a+b="+x+"\n"+"ab="+y+"\n"+"a*b="+z+"\n"+"a/b="+v+"\n"+"a%b="+u);


}}فيكون الناتج على الصورةقمنا بوضع جملة واحدة للطباعة للمقارنها بينها وبين استخدام خمس جمل ومتروك لكعزيزى القارئ حرية الاختيار فى اى منهم تستخدم ولكن الهدف ان تستوعب الفكرةنلاحظ فى النواتج ان جميعها فى صورة رقم عشرى وذلك حسب تعريفنا لنواع هذهالمتغيرات ايضا نلاحظ ان ناتج باقى القسمة صفر وذلك لانه لايوجد باقى من قسمة الرقمينوانتبه حتى الصفر كتب فى صورة رقم عشرى.‏..الدرس السابع والعشرون :مثال على استخدام المؤثرات الاحاديةتعالى الان عزيزى القارئ نقوم بعمل برنامج يوضح عمل المؤثرات الاحاديةاذا كان لدينا متغير i,j قيمته كل منهما تساوى5class UnaryOper{public static void main(String []arg){int a,b,i,j;i=j=5;a=i++ * 3;b=++j *3;System.out.println("a = "+a+"\n"+"b = "+b);}


}فيكون شكل النتائج هكذاوبالتاكيد كانت النتائج متوقعة من الشرح السابق لعمل هذا المؤثر لكن تعالى معى نوضح اكثرعمل المؤثرات الاحادية فى هذا المثالclass UnaryOper1{public static void main(String []arg){int x1,x2,z=10;x1=z--;System.out.println("x1 = "+x1);x2=--z;System.out.println("x2 = "+x2);}}قبل عرض النتائج ماذا تتوقع ان تكون ؟اولا x1 حسب المؤثر تم انقاص منها 1 اذن قيمتها اصبحت 9 هذه اجابه خطأ لان قيمةهذه الخطوة لازالت تساوى 10 ولا يتم انقاص منها الواحد الا بعد الخروج من هذه الخطوةوتصبح القيمة الجديدثانيا لذلك 8=x2 وهذه الاجابة صحيحةتعالى الان عزيزى القارئ نعرض النتائج ونرىz فى.z=9


الدرس الثامن والعشرون :مثال على استخدام المؤثرات العلاقية والمنطقيةتعالى الان عزيزى القارئ نقوم بعمل برنامج يوضح عمل المؤثرات العلاقية والمنطقيةقم بعمل برنامج يوجد نتائجاذا كان لدينا هذه المتغيراتالعلاقات الاتية.(i>=6)&&(c==119)(i>6)||(c='w')(f100)(c!='p')||((i+f)=6)&&(c==119);b2= (i>6)||(c=='w');b3=(f100);b4=(c!='p')||((i+f)


}}وتكون نتيجة البرنامج هكذاSystem.out.println("(f100) is "+b3);System.out.println("(c!='p')||((i+f)


{public static void main(String []arg){}}int i=6,j=8;float f=6.5f,k=-4.25f;System.out.println("i=i+6 -> i="+(i+=6));System.out.println("f=f-k -> f= "+(f-=k));System.out.println("j=j*(i-4) -> j="+(j*=(i-4)));System.out.println("f=f/4 -> f="+(f/=4));System.out.println("i=i%(j-2) -> i="+(i%=(j-2)));وتكوننتيجة البرنامج هكذا:‏من اهم الملاحظات فى هذا البرنامج انه عند اجراء عملية على متغير تكون قيمته هى القيمةالجديد اذا كان قد تغيرت قيمته .الدرس الثلاثون:‏عبارة بينماهى احدى عبارات التحكم التى تم ذكرها فى الفصل الحادى والعشرون وهى من عباراتالتكرار وتستخدم فى تنفيذ عبارة او عدة عبارت عددا من المرات المتتابعة وذلك تحت شرطمعينالصيغة العامةعبارة ‏(جملة شرطية)‏ whileوتكون بهذا الشكل فى حالة ان تكون الجملة الشرطية صحيحة تنفذ عبارة واحدة او امر واحد.‏‏(جملة شرطية)‏ whilewhile statement:.


{عبار اتوتكون بهذا الشكل فى حالة ان تكون الجملة الشرطية صحيحة يتم تنفيذ اكثر من جملة حيثالجملة الشرطية فاذا كانتانه يتوقف تنفيذ العبارات الموجودة داخل القوسيننتيجتها true يتم تنفيذ العبارات ويتكرر تنفيذ العبارات مادامت نتيجة الجملة الشرطيةفاذا تغيرت النتيجة الى flae فسوف تهمل العبارات وينتقل التحكم لتنفيذ العبارة التى تلىالقوستعالى الان عزيزى القارئ نقوم بعمل برنامج بسيط لطباعة الاقام من}true0 الى 7} { على نتيجة. }class WhileSt{public static void main(String []arg){int i=0;while (i


class WhileSt1{public static void main(String []arg){ويمكن <strong>كتاب</strong>ة البرنامج كما يلىint i=0;while (i


}}while (++i


}}}وتكون شكل المخرجات عند تنفيذ البرنامجولكن ماذا يحدث فى هذا البرنامج فى البداية تكون قيمة a تساوى الصفر ويبدا بتنفيذ جملةwhile الاولى الجملة الشرطية صحيحة لانة فبجد اول عبارة بعد جملةالاولى ان تكون قيمة 1=b ثم ناتى الى جملة while الثانية وهنا الجملة الشرطية غيرصحيحة لان 0=a فلا يتم تنفيذ عبارت الثانية ثم بعد ذلك يجد عبارة تنفيذيةالى جملة while الاولى فيجدلينزل سطر جديد ثم يزيد مقدار قيمة المتغيرالشرط متحقق وتكون قيمة 1=b فنجد ان شرط while الثانية متحقق فيبدا بطباعة النجمةولكن الجملة هنا ستتكرر مرة واحدة وهكذا يتم تكرار شكل النجمة حسب قيمة المتغيرwhilea0


}System.out.print(a);++b;}System.out.print("\n");++a;}}وتكون شكل المخرجاتوللخروج من هذه الحلقة اللانهائية اضغط مفتاحى ctrl+c:do whileالدرس الثانى والثلاثونعبارة اعمل بينمافى عبارة while يتم اختبار الجملة الشرطية اولا قبل الدخول فى تنفيذ عبارات الموجوده بعدwhile ويتم اختبارها كل دوره ولكن فى do-while فان الاختبار يتم فى نهاية التكرار.‏وتكون الصيغة العامة هى


لاحظ هنا انه تم وضع فاصلة منقوطة بعدتعالى عزيزى القائ نقوم بتنفيذ هذا البرنامج لنعرف الفرقDo{العبارات}‏;(جملة شرطية)‏whilewhileclass DoWhileSt4{public static void main(String []arg){int i=0;do{System.out.println("HI");++i;}while(i>7);}}قبل عرض النتائج تعالى نستنتجها اولاهنا الجملة الشرطية بعد while غير متحققة اذا المفروض عدم تنفيذ الخطوات الموجودةداخل قوسى المجموعة تعالى نرى النتائجولكن ماحدث غير المتوقع لقد نفذ العباره مره واحدة نعم هذا صحيح حسب الشرح فان عبارةاعمل بينما ينفذ العبارات اولا ثم يختبر الشرطيعنى باختصار الفرق بين while,do-while انه فى while اذا كان الشرط غير متحقق لايتم تنفيذ العبارت نهائيا اما do-while يتم تنفيذ العبارت على الاقل مرة واحدة.‏.الدرس الثالث والثلاثون:


عبارة لاجل for statementهى احدى عبارات التحكم وربما تكون اكثرها استخداما وهى تستخدم لاداء عملية ما عدةمرات متتابعة ويعتمد تنفيذ حلقة التكرار على عداد يضبط على قيمة ابتدائية معينة وتزدادقيمته بخطوة معلومة بعد كل تكرار حتى تصل الى القيمة النهائيةوتكون صيغتهىالعامةfor(ex1;ex2;ex3){العبارات}ex1 التعبير الذى يحدد القيمة الابتدائية لمتغير يكون بمثابة عداد يتحكم فى اجراء الدورةوعادة ما يكون هذا هو تعبير التحديد الذى يحدد بداية العدادex2 يمثل الشرط الذى يحدد استمرار الدورة من عدمه وذلك تبعا لنتيجة اختبار الشرط بمعنىان هذا التعبير هو الذى يحدد نهاية العداد وعادة ما يكون تعبيرا منطقياex3 هو التعبير الذى يحدد الزيادة او النقصان فى دليل الدورة وذلك فى نهاية كل تكراروعادة ما يكون تعبيرا احاديا او تعبير تحديدونجد ان for لاتختلف كثيرا عن while فانظر الى عبارةex1 ;while(ex2){العباراتex3;}.while.forتعالى الان عزيزى القارئ نوضح شرحنا بمثال عملى يقوم بطباعة باستخدام رقم العداد فىلايجاد حاصل ضربه فىclass ForSt{public static void main(String []arg){}int i;for(i=0;ii وهى تختبر قيمة i فاذا كانت اقلمن 10 يتم تنفيذ عبارات واخيرا مقدار الزيادة الحاصل للمتغير i وهو زيادة بمقدار واحد


وهنا فى حالة ما اذا كان الشرط صحيح يتم ضرب قيمة المتغيروطباعة الناتج وتكون المخرجات على هذا الشكلi فى ‎10‎و‎100‎و‎1000‎

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!