Cs602 java programming fall2016 محاضرة 2

Page 1

‫‪Dr. Mabroka A.M‬‬

‫‪.CS602: Java Programming‬‬

‫‪Fall2016‬‬

‫‪ .4‬القواعد الساسية لبرمجة جافا‬ ‫لكمتادبععة اي دبرنامععج دبلغععة الجافععا‪ ،‬لدبععد مععن اتبععاع القواعععد الساسععية المتمثلععة فععي الشععكل العععام و‬ ‫صيغة كمتادبة الوامر و المتعليمات و اولوية ترتيبها في البرنامج‪.‬‬ ‫‪‬‬

‫جمل الرخراج ‪output statement‬‬ ‫ييعمت ععبر ‪ System.out‬ك ائن الرخرج ات القياسس ي ‪ ،standard output Object‬حي ث يس مح‬ ‫للبرنامج بعرض فئة من الرموز على الشاشة‪ .‬و ييسمترخدم مع الدوال المتالية‪:‬‬ ‫ي‬ ‫‪ :System.out.println o‬تس مترخدم لطباع ة سلس لة م ن الرم وز و القي م ف ي س طر‬ ‫واحد‪ ،‬ثم تجعل الشؤشر يقفز الى السطر المتالي‪ .‬و الشكل العام لها هو‪:‬‬ ‫سلسلة من الرموز "‪ +‬معامل"(‪System.out.println‬‬ ‫;)‬ ‫‪,‬‬ ‫ي‬ ‫‪ :System.out.print o‬تسمترخدم لطباعة سلسلة من الرموز و القيم في سطر واحد‪،‬‬ ‫مع دبقاء الشؤشر في نفس السطر‪ .‬و لها نفس الشكل العام للدالة السادبقة كما يلي‪:‬‬ ‫سلسلة من الرموز "‪ +‬معامل"(‪System.out.print‬‬ ‫;)‬ ‫‪,‬‬ ‫ي‬ ‫‪ :System.out.printf o‬تسمترخدم لطباعة صيغة مرخرجات ‪formatted output‬‬ ‫ي‬ ‫محددة و منسقة‪ ،‬حيث ترخصص لكل نوع من البيانات رمز الصيغة الخاص دبه‬ ‫على ان يسبق هذا الرمز علمة النسبة الئوية ‪ .%‬و الشكل العام لها هو‪:‬‬ ‫سلسلة من الرموز مع رمز صيغة "‪ ,‬معامل"(‪System.out.printf‬‬ ‫;)‬ ‫‪,‬‬

‫و الجدول التالي يوضح رمز الصيغة و استخدامه‪.‬‬ ‫الوصف‬ ‫‪Description‬‬ ‫لطباعة عدد صحيح ‪integer‬‬ ‫لطباعة عدد حقيقي ‪float or double‬‬ ‫لطباعة حرف واحد ‪character‬‬ ‫لطباعة سلسلة ‪string‬‬

‫‪11‬‬

‫رمز الصيغة‬ ‫‪formatted symbol‬‬ ‫‪d‬‬ ‫‪f‬‬ ‫‪c‬‬ ‫‪s‬‬


‫‪Dr. Mabroka A.M‬‬

‫‪.CS602: Java Programming‬‬

‫‪Fall2016‬‬

‫اما الجدول التالي‪ ،‬فيوضح مهمة بعض الرموز التستخدمة في برنامج جافا‪:‬‬ ‫الوصف‬ ‫‪Description‬‬ ‫يجعل الشؤشر يقفز للسطر المتالي‬ ‫نقل الشؤشر لبداية السطر‬ ‫يجعل الشؤشر يقفز مسافة ‪Tab‬‬ ‫لطباعة العلمة \‬ ‫لطباعة العلمة "‬ ‫‪‬‬

‫الرمز‬ ‫‪symbol‬‬ ‫\‪n‬‬ ‫\‪r‬‬ ‫\‪t‬‬ ‫\\‬ ‫\"‬

‫جملة التضمين ‪import statement‬‬ ‫ي‬ ‫تسمترخدم جملة المتضمين لساعدة الرترجم ‪ Compiler‬في معرفة مكان ال ‪ class‬الراد‬ ‫ي‬ ‫اسمترخدامها في البرنامج‪ ،‬حيث توجد هذه ال ‪ class‬في الغالب داخل حزمة‪ .‬و لمتضمين اي‬ ‫حزمة في البرنامج‪ ،‬ييسمترخدم الشكل المتالي‪:‬‬ ‫‪; import package_name . class name‬‬ ‫اسم التصنيف‬

‫نقطة‬

‫اسم الحزمة‬

‫كلمة محجوزة‬

‫***امثلة عملي على بيئة ‪Java netbeans 8.1‬‬ ‫ل‬ ‫‪ ‬اول‪ :‬نصب بيئة البرمجة ‪ netbeans8.1‬او اي اصدار تابع لها عن طريق تنصيب ‪ JDK‬ثم‬ ‫‪ netbeans‬نفتسها )الصندوق الزرق(‪.‬‬ ‫ل‬ ‫‪ ‬ثانيا‪ :‬اضبط متغير البيئة ‪ set environment‬من النظام الوجود في لوحة التحكم‪.‬‬ ‫ملحظة‪ :‬قد يقوم برنامج ال ‪ netbeans‬بضبط متغير البيئة بصفة تلقائية‪.‬‬ ‫‪ ‬سؤال الحاضرة‪:‬‬ ‫‪ .1‬اكتب برنامج بلغة جافا يطبع التالي‪:‬‬ ‫‪ o‬جملة ترحيب ببرمجة لغة الجافا‪.‬‬ ‫ل‬ ‫‪ o‬بيانات عامة متستخدما جمل الرخراج الختلفة‪.‬‬ ‫‪ o‬تضمين ‪ class‬في البرنامج‪.‬‬

‫‪12‬‬


‫‪Dr. Mabroka A.M‬‬

‫‪‬‬

‫‪.CS602: Java Programming‬‬

‫‪Fall2016‬‬

‫جمل الدرخال ‪input statement‬‬ ‫‪ o‬الدرخال بواسطة ‪Scanner Class‬‬ ‫لدخ ععال دبيان ععات للبرنام ععج )قع عراءة دبيان ععات م ععن لوح ععة الفاتي ععح( دباس ععمترخدام ‪Scanner‬‬ ‫‪ ،class‬لدبد من اتباع الخطوات المتالية‪:‬‬ ‫‪ .1‬تضمين الحزمة ‪ java.util‬التي تحمتوي على ال ‪ Scanner class‬لسمترخدامها في‬ ‫البرنامج كما يلي‪:‬‬ ‫;‪import java.util.Scanner‬‬ ‫‪ .2‬تكععوين ك ععائن مععن نععوع ‪ Scanner‬داخ ل البرانامج )و ذلك م ن اج ل الق راءة م ن‬ ‫لوحة الفاتيح(‪ ،‬كما يلي‪:‬‬ ‫;)‪=new Scanner(System.in‬اسم كائن ‪Scanner‬‬ ‫و ه ع ععي جمل ع ععة يمت ع ععم مع ععن خلله ع ععا تحدي ع ععد اسع ععم الك ع ععائن م ع ععن ن ع ععوع ‪ Scanner‬ليمت م‬ ‫اس ععمترخدامه ف ععي البرنام ععج لسععمتدعاء دوال الدخ ععال الرخمتلف ععة حس ععب ن ععوع القيم ععة‬ ‫الدخلة‪.‬‬ ‫‪.3‬‬

‫تحديد اسم ممتغيرة لسمتقبال و ترخزين البيانات الدخلة فيها‪ ،‬كما يلي‪:‬‬ ‫‪Int number; /*for integer number*/‬‬ ‫;)(‪ .nextInt‬اسم الكائن=‪number‬‬

‫‪ ‬ملحظات‪:‬‬ ‫‪ .1‬لدخال دبيانات من نوع ‪ double‬نسمترخدم الدالة ‪()nextDouble‬‬ ‫‪ .2‬لدخال دبيانات من نوع ‪ String‬نسمترخدم الدالة ‪()nextLine‬‬ ‫‪ .3‬هناك طرق اخرى لدخال دبيانات من لوحة الفاتيح او ملف مثل‪:‬‬ ‫‪BufferedReader & BufferedWriter‬‬ ‫‪‬‬

‫سشؤال العملي‪:‬‬ ‫دباسمترخدام ‪ ،Scanner Class‬اكمتب دبرنامج جافا يقرأ دبيانات تذكرة سفر ثم يطبعها‪.‬‬

‫‪13‬‬


‫‪Dr. Mabroka A.M‬‬

‫‪.CS602: Java Programming‬‬

‫‪Fall2016‬‬

‫‪‬‬

‫انواع الثوابت و التغيرات في لغة جافا‬ ‫ل‬ ‫أول‪ :‬الثوابت ‪ :Constants‬هي اسماء تعطى لواقعع فعي العذاكرة ذات قيعم ثادبمتعة و ل يمكن أن‬ ‫ي‬ ‫تمتغير خلل فرترة تنفيذ البرنامعج‪ .‬و تسعمترخدم فعي حعال المتصعريح دبعالقيم الثادبمتعة المتععارف عليهعا‬ ‫مثل ‪ ،pi=3.14‬و قيم الوزان و تحويل العملت‪.‬‬ ‫الشكل العام للتصريح بالقيم الثابتة‪:‬‬ ‫;‪(access-modifier) type constant-name=value‬‬ ‫القيمة اسم الثابت النوع معدل الوصول‬ ‫)ارختياري ‪(optional‬‬ ‫ل‬ ‫ثاني ا‪ :‬التغي رات ‪ :variables‬هععي اسععماء تعطععى لواقععع فععي الععذاكرة ذات قيمععة غيععر معروفععة‪ ،‬و‬ ‫قادبلع ععة للمتغييع ععر خلل ف ع عرترة تنفيع ععذ البرنامع ععج‪ .‬و للمتصع ععريح دبممتغيع ععرة داخع ععل البرانامع ععج نسع ععمترخدم‬ ‫الشكل التالي‪:‬‬ ‫;‪(access-modifier) type variable-name‬‬ ‫اسم التغيرة النوع معدل الوصول‬ ‫)ارختياري ‪(optional‬‬

‫‪‬‬

‫النواع ‪ :types‬و تعني نوع البيانات السمترخدمة في البرنامعج )‪ (data type‬سعواءا كععانت ثادبمتععة‬ ‫ي‬ ‫‪ constant‬أو ممتغيرة ‪ . variable‬و توجد انواع عديدة تسمترخدم في معظم لغات البرمجة‪ .‬و‬ ‫من اهم النواع ما يلي‪:‬‬ ‫‪Types‬‬

‫‪references data type‬‬ ‫‪pointer array struct class‬‬

‫‪Primitives data type‬‬ ‫‪real logical symbols‬‬ ‫‪float‬‬ ‫‪true‬‬ ‫‪char‬‬ ‫‪double false String‬‬

‫‪Integer‬‬ ‫‪short‬‬ ‫‪int‬‬ ‫‪long‬‬ ‫‪byte‬‬

‫‪*make different examples of data types.‬‬

‫‪14‬‬


‫‪Dr. Mabroka A.M‬‬

‫‪‬‬

‫‪.CS602: Java Programming‬‬

‫‪Fall2016‬‬

‫العمليات في لغة الجافا‬ ‫‪ o‬العمليات النطقية ‪logical operations‬‬ ‫العمليات النطقية في لغة جافا تمتضمن العلمات النطقية المتالية‪:‬‬ ‫ي‬ ‫‪ AND‬و تمثل ب&&‬ ‫ي‬ ‫‪ OR‬و تمثل ب||‬ ‫ي‬ ‫‪ NOT‬و تمثل ب!‬ ‫و يمكن مزج أكثر من علمة منطقية مثل‪a && b || c :‬‬ ‫و يكون ناتج العملية النطقية إما ‪ true‬أو ‪.false‬‬ ‫‪ o‬العمليات الحتسابية ‪arithmetic operations‬‬ ‫ي‬ ‫تمثل العمليات الحسادبية ‪ ،/ ،* ،- ،+‬كما في اللغات الخرى‪ .‬و ترتب هذه‬ ‫ل‬ ‫العمليات حسب السبقية‪ .‬فالضرب و القسمة أول ثم الجمع و الطرح إل اذا‬ ‫كانت هذه العمليات تحمتوي على القواس‪ ،‬في هذه الحالة‪ ،‬يمتم فك القواس قبل‬ ‫ي‬ ‫كل شسي‪ ،‬ثم تجرى العمليات حسب السبقية‪.‬‬ ‫‪ o‬العمليات العلئقية‬ ‫تمتضمن العمليات العلئقية العلمات المتالية‪:‬‬ ‫>‪=< ، => ، =! ، == ، < ،‬‬ ‫و هي تدخل في تكوين الشرط ‪.condition‬‬

‫‪ ‬جمل التكرار‬ ‫ي‬ ‫تسمترخدم جمل المتكرار لمتنفيذ مجموعة من المتعليمات لعدد من الرات‪ .‬و من أهم هذه‬ ‫الجمل ما يلي‪:‬‬ ‫‪for statement o‬‬ ‫ل‬ ‫تسمترخدم لمتنفيذ تعليمة أو مجموعة من المتعليمات لعدد من الرات وفقا لشرط‬ ‫معين‪ ،‬و الشكل العام لها كالمتالي‪:‬‬ ‫مقدار الزيادة‬ ‫كلمة محجوزة نوع المتغيرة ممتغيرة المتحكم القيمة الدبمتدائية شرط‬ ‫)‪for (int control-variable=initial-value ; condition ; increment‬‬ ‫{‬ ‫‪.‬‬ ‫‪block‬‬ ‫تعليمة او أكثر ‪. statements‬‬ ‫‪.‬‬ ‫}‬

‫ملحظة‪ :‬يمكن ان تكون القيمة الدبمتدائية و الشرط و مقدار الزيادة في صورة تعبير رياضسي‪.‬‬ ‫‪15‬‬


‫‪Dr. Mabroka A.M‬‬

‫‪o‬‬

‫‪.CS602: Java Programming‬‬

‫‪Fall2016‬‬

‫‪while statement‬‬ ‫تسمترخدم لمتنفيذ تعليمة أو مجموعة من المتعليمات لعدد من الرات في حالة‬ ‫تحقق الشرط‪ ،‬حيث يمتم اخمتبار الشرط في كل مرة للمتحقق من صحمته‪ .‬في حالة‬ ‫عدم تحقق الشرط‪ ،‬يمتم الخروج من الحلقة‪ .‬و الشكل العام لها كالمتالي‪:‬‬ ‫القيمة الدبمتدائية ‪Initial-value‬‬ ‫كلمة محجوزة‬

‫شرط‬

‫)‪while (condition‬‬ ‫{‬ ‫‪.‬‬ ‫‪block‬‬ ‫تعليمة او أكثر ‪. statements‬‬ ‫تغير الشرط ‪. condition changing‬‬ ‫}‬

‫ملحظات‬ ‫‪‬‬

‫‪‬‬

‫جملة ‪ do….while‬لها نفس مميزات جملة ‪ while‬لكنها ترخمتلف عنها في تنفيذ الحلقة و الدخول‬ ‫فيها مرة واحعدة علعى القعل دون اخمتبععار للشعرط‪ ،‬بعكعس جملعة ‪ while‬التي يمتم فيها المتحقق من‬ ‫ل‬ ‫الشرط اول قبل الدخول في الحلقة‪.‬‬ ‫ي‬ ‫ي‬ ‫تس ع ععمترخدم تعليمع ععة ‪ break‬لهنه اء الحلق ة و الخ روج منه ا‪ ،‬دبينم ا تس مترخدم ‪ continue‬للنمتق ال‬ ‫دبالمتحكم الى حلقة المتكرار من جديد دونما تنفيذ للمتعليمات التي تلي تعليمة ‪.continue‬‬ ‫**تطبيق امثلة على ما سبق‪.‬‬

‫‪16‬‬


‫‪Dr. Mabroka A.M‬‬

‫‪‬‬

‫‪.CS602: Java Programming‬‬

‫‪Fall2016‬‬

‫جمل التحكم‬ ‫ت‬ ‫تتستخدم لتنفيذ تعليمة او اكثر في حالة تحقق الشرط‪ .‬و من اهمها ما يلي‪:‬‬ ‫‪If statement o‬‬ ‫ي‬ ‫تسمترخدم لمتنفيذ تعليمة او اكثر في حالة تحقق الشرط‪ ،‬و الشكل العام لها‪:‬‬ ‫شرط‬ ‫كلمة محجوزة‬ ‫)‪if (condition‬‬ ‫{‬ ‫‪.‬‬ ‫‪block‬‬ ‫تعليمة او أكثر ‪. statements‬‬ ‫‪.‬‬ ‫}‬

‫‪o‬‬

‫‪If else statement‬‬ ‫ي‬ ‫تسمترخدم لمتنفيذ تعليمة او مجموعة من المتعليمات في حالة تحقق الشرطع‪ ،‬و في‬ ‫حالة عدم تحقق الشرط‪ ،‬يمتم تنفيذ المتعليمات التي تلي جملة ‪else‬‬ ‫كلمة محجوزة شرط‬ ‫)‪if (condition‬‬ ‫{‬ ‫‪.‬‬ ‫‪block‬‬ ‫تعليمة او أكثر ‪. statements‬‬ ‫تغير الشرط ‪. condition changing‬‬ ‫}‬ ‫كلمة محجوزة ‪else‬‬ ‫{‬ ‫‪.‬‬ ‫‪block‬‬ ‫تعليمة او أكثر ‪. statements‬‬ ‫تغير الشرط ‪. condition changing‬‬

‫و إل‬

‫}‬

‫‪17‬‬


‫‪Dr. Mabroka A.M‬‬

‫‪o‬‬

‫‪.CS602: Java Programming‬‬

‫‪Fall2016‬‬

‫‪switch statement‬‬ ‫ي‬ ‫تسمترخدم لمتنفيذ تعليمة او اكثر في حالة ان المتعبير الرياضسي يساوي القيمة‬ ‫الناسبة‪ ،‬و إل‪ ،‬فإنه ينفذ المتعليمة الصاحبة للفرتراضسي ‪ ،default‬و الشكل العام‬ ‫لها ‪:‬‬ ‫تعبير رياضسي‬ ‫كلمة محجوزة‬ ‫)‪switch (expression‬‬ ‫{‬ ‫‪case value1:‬‬ ‫تعليمة او أكثر ;‪statement‬‬ ‫;‪break‬‬ ‫‪case value2:‬‬ ‫تعليمة او أكثر ;‪statement‬‬ ‫;‪break‬‬ ‫‪.‬‬ ‫‪.‬‬ ‫‪.‬‬ ‫‪case valuen:‬‬ ‫تعليمة او أكثر ;‪statement‬‬ ‫;‪break‬‬ ‫تعليمة او أكثر‬

‫‪default:‬‬ ‫;‪statement‬‬ ‫;‪break‬‬ ‫}‬

‫سؤال الحاضرة‪:‬‬ ‫**دباسمترخدام لغة جافا‪ ،‬اكمتب دبرنامج يطبع عملية حسادبية )*‪ (- ،+ ،/ ،‬و ناتجها‪.‬‬

‫‪18‬‬


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.