Java lab lecture 2

Page 1

‫‪CS602 & GS311‬برمجة جافا‬ ‫‪Java Programming I‬‬ ‫)‪(LAB‬عمهي‬ ‫اعداد‬ ‫أ‪ .‬حليمة محمد عطية‬ ‫خريف ‪2017‬‬ ‫محاضرة ‪2‬‬


‫انقواعد االساسية نبرمجة جافا‬ ‫• لكتابة اي برنامج بلغة الجافا‪ ،‬البد من اتباع القواعد‬ ‫االساسٌة المتمثلة فً الشكل العام و صٌغة كتابة‬ ‫االوامر و التعلٌمات و اولوٌة ترتٌبها فً البرنامج‪.‬‬ ‫• جمل االخراج ‪output statement‬‬ ‫• ٌُعتبر ‪ System.out‬كائن المخرجات القٌاسً ‪standard‬‬ ‫‪ ،output Object‬حٌث ٌسمح للبرنامج بعرض فئة من‬ ‫الرموز على الشاشة‪ .‬و ٌُستخدم مع الدوال التالٌة‪:‬‬


‫انقواعد االساسية نبرمجة جافا‬ ‫• ‪ُ :System.out.println‬تستخدم لطباعة سلسلة من الرموز‬ ‫و القٌم فً سطر واحد‪ ،‬ثم تجعل المؤشر ٌقفز الى السطر‬ ‫التالً‪ .‬و الشكل العام لها هو‪:‬‬ ‫;) معامل ‪ "+‬سلسلة من الرموز"(‪System.out.println‬‬ ‫• ‪ُ :System.out.print‬تستخدم لطباعة سلسلة من الرموز و‬ ‫القٌم فً سطر واحد‪ ،‬مع بقاء المؤشر فً نفس السطر‪ .‬و لها‬ ‫نفس الشكل العام للدالة السابقة كما ٌلً‪:‬‬ ‫; ) معامل ‪ "+‬سلسلة من الرموز"(‪System.out.print‬‬


‫انقواعد االساسية نبرمجة جافا‬ ‫• ‪System.out.printf‬‬ ‫ُتستخدم لطباعة صٌغة مخرجات ‪formatted output‬‬ ‫محددة و منسقة‪ ،‬حٌث ُتخصص لكل نوع من البٌانات رمز‬ ‫الصٌغة الخاص به على ان ٌسبق هذا الرمز عالمة النسبة‬ ‫المئوٌة ‪ .%‬و الشكل العام لها هو‪:‬‬ ‫سلسلة من الرموز مع رمز صٌغة "(‪System.out.printf‬‬ ‫; ) معامل ‪",‬‬


‫انقواعد االساسية نبرمجة جافا‬ ‫و الجدول التالي يىضح رمز الصيغة و استخدامه‪.‬‬ ‫الوصف‬ ‫‪Description‬‬

‫رمز الصيغة ‪formatted‬‬ ‫‪symbol‬‬

‫لطباعة عدد صحيح ‪integer‬‬

‫‪d‬‬

‫لطباعة عدد حقيقي ‪float or double‬‬

‫‪f‬‬

‫لطباعة حرف واحد‪character‬‬

‫‪c‬‬

‫لطباعة سلسلة ‪string‬‬

‫‪s‬‬


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

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


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


‫ث ت ب‬ ‫• باستخدام جمل االخراج السابقة‪ ،‬اكتب برنامج‬ ‫بلغة الجافا ٌطبع بٌاناتك الجامعٌة‪.‬‬ ‫• ثم حدد حالة الفصل الحالً لك (اذا تجاوزت ‪8‬‬ ‫فصول ‪ ،‬الحالة حرجة ‪ over‬و اال الحالة ‪.ok‬‬


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


‫جمم االدخال ‪input statement‬‬ ‫– االدخال بواسطة ‪Scanner Class‬‬ ‫• الدخال بٌانات للبرنامج (قراءة بٌانات من لوحة المفاتٌح)‬ ‫باستخدام ‪ ،Scanner class‬البد من اتباع الخطوات التالٌة‪:‬‬ ‫• تضمٌن الحزمة ‪ java.util‬التً تحتوي على ال ‪Scanner‬‬ ‫‪ class‬الستخدامها فً البرنامج كما ٌلً‪:‬‬ ‫;‪• import java.util.Scanner‬‬


‫‪input statement‬جمم االدخال‬ ‫‪ .1‬و ا م نو ‪ Scanner‬دا ل ال انام (و ل م ا ل القرا م‬ ‫لوحة املفا يح) ا ي ي‪:‬‬ ‫;)‪=new Scanner(System.in‬اس ا ‪Scanner‬‬ ‫‪ Scanner‬ليت‬ ‫و ي لة يت م الل ا ديد اس ال ا م نو‬ ‫است دام ي ال نام ستدعا دوا ا د ا امل تلفة حس نو القي ة‬ ‫املد لة‪.‬‬ ‫‪.2‬‬

‫ديد اس متغ‬

‫ستقبا و ز البيانا املد لة ف ا ا ي ي‪:‬‬ ‫‪Int number; /*for integer number*/‬‬ ‫;)(‪.nextInt‬اس ال ا =‪number‬‬


‫الحظات‪:‬‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬

‫الدخال بٌانات من نوع ‪ double‬نستخدم الدالة‬ ‫)(‪nextDouble‬‬ ‫الدخال بٌانات من نوع ‪ String‬نستخدم الدالة )(‪nextLine‬‬ ‫هناك طرق اخرى الدخال بٌانات من لوحة المفاتٌح او ملف‬ ‫مثل‪:‬‬ ‫‪BufferedReader & BufferedWriter‬‬ ‫سؤال العملً‪:‬‬ ‫باستخدام ‪ ،Scanner Class‬اكتب برنامج جافا ٌقرأ بٌانات‬ ‫تذكرة سفر ثم ٌطبعها‪.‬‬


‫انواع انثوابث و انمحغيرات في نغة جافا‬ ‫• أوالا‪ :‬الثوابت ‪ :Constants‬هً اسماء تعطى لمواقع فً‬ ‫الذاكرة ذات قٌم ثابتة و ال ٌمكن أن تتغٌر خالل فترة تنفٌذ‬ ‫البرنامج‪ .‬و ُتستخدم فً حال التصرٌح بالقٌم الثابتة المتعارف‬ ‫علٌها مثل ‪ ،pi=3.14‬و قٌم االوزان و تحوٌل العمالت‪.‬‬

‫ال‬

‫ال ا ل تص‬

‫ال ي ال ا تة‪:‬‬ ‫;‪(access-modifier) type constant-name=value‬‬ ‫م دل الى ىل‬ ‫ال ى‬ ‫ال ي ة اس ال ا‬ ‫)ا تيار ‪(optional‬‬


‫انواع انثوابث و انمحغيرات في نغة جافا‬ ‫• ثانيا ا‪ :‬المتغيرات ‪ :variables‬هً اسماء تعطى لمواقع فً‬ ‫الذاكرة ذات قٌمة غٌر معروفة‪ ،‬و قابلة للتغٌ​ٌر خالل فترة‬ ‫تنفٌذ البرنامج‪ .‬و للتصرٌح بمتغٌرة داخل البرانامج نستخدم‬ ‫الشكل التالي‪:‬‬

‫;‪(access-modifier) type variable-name‬‬ ‫م دل الى ىل‬ ‫ال ى‬ ‫اس ا تغ‬ ‫)ا تيار ‪(optional‬‬


‫انواع انثوابث و انمحغيرات في نغة جافا‬ data ( ‫ و تعنً نوع البٌانات المستخدمة فً البرنامج‬:types ‫• االنواع‬ ‫ و توجد‬.variable ‫ أو متغٌرة‬constant ‫) سواءا كانت ثابتة‬type ‫ و من اهم االنواع ما‬.‫انواع عدٌدة ُتستخدم فً معظم لغات البرمجة‬ :ً‫ٌل‬ Types Primitives data type Integer short int long byte

real logical symbols float true char double false String

references data type pointer array struct class


‫انعمهيات في نغة انجافا‬ ‫– العملٌات المنطقٌة ‪logical operations‬‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬ ‫•‬

‫العملٌات المنطقٌة فً لغة جافا تتضمن العالمات المنطقٌة التالٌة‪:‬‬ ‫‪ AND‬و ُتمثل ب &&‬ ‫‪ OR‬و ُتمثل ب||‬ ‫‪ NOT‬و ُتمثل ب!‬ ‫و ٌمكن مزج أكثر من عالمة منطقٌة مثل‪a && b || c :‬‬ ‫و ٌكون ناتج العملٌة المنطقٌة إما ‪ true‬أو ‪.false‬‬


‫انعمهيات في نغة انجافا‬ ‫•‬

‫•‬ ‫•‬ ‫•‬

‫– العمليات الحسابية ‪arithmetic operations‬‬ ‫تمثل العملٌات الحسابٌة ‪ ،/ ،* ،- ،+‬كما فً اللغات االخرى‪ .‬و ُترتب‬ ‫هذه العملٌات حسب االسبقٌة‪ .‬فالضرب و القسمة أوالا ثم الجمع و‬ ‫الطرح إال اذا كانت هذه العملٌات تحتوي على االقواس‪ ،‬فً هذه‬ ‫الحالة‪ٌ ،‬تم فك االقواس قبل كل شً‪ ،‬ثم ُتجرى العملٌات حسب‬ ‫االسبقٌة‪.‬‬ ‫– العمليات العالئقية‬ ‫تتضمن العملٌات العالئقٌة العالمات التالٌة‪:‬‬ ‫< ‪>= ، <= ، != ، == ، > ،‬‬ ‫و هً تدخل فً تكوٌن الشرط ‪.condition‬‬


‫‪Homework‬‬ ‫• اعد كتابة المثال السابق باستخدام جمل االدخال‬ ‫واالخراج‬


‫جمم انحكرار‬ ‫• ُتستخدم جمل التكرار لتنفٌذ مجموعة من التعلٌمات لعدد من المرات‪.‬‬ ‫و من أهم هذه الجمل ما ٌلً‪:‬‬ ‫– ‪for statement‬‬ ‫• تستخدم لتنفٌذ تعلٌمة أو مجموعة من التعلٌمات لعدد من المرات وفقا ا‬ ‫لشرط معٌن‪ ،‬و الشكل العام لها كالتالً‪:‬‬

‫مقدار الز اد شر‬

‫القي ة ا تدا ية متغ الت‬

‫نو املتغ‬

‫ل ةم و‬

‫)‪for (int control-variable=initial-value ; condition ; increment‬‬ ‫{‬ ‫‪.‬‬ ‫ث ‪block . statements‬‬ ‫ت‬ ‫‪.‬‬ ‫}‬


‫جمم انحكرار‬ ‫• مالحظة‪ٌ :‬مكن ان تكون القٌمة االبتدائٌة و الشرط و مقدار‬ ‫الزٌادة فً صورة تعبٌر رٌاضً‪.‬‬ ‫– ‪while statement‬‬

‫• تستخدم لتنفٌذ تعلٌمة أو مجموعة من التعلٌمات لعدد من‬ ‫المرات فً حالة تحقق الشرط‪ ،‬حٌث ٌتم اختبار الشرط فً‬ ‫كل مرة للتحقق من صحته‪ .‬فً حالة عدم تحقق الشرط‪ٌ ،‬تم‬ ‫الخروج من الحلقة‪ .‬و الشكل العام لها كالتالً‪:‬‬


‫جمم انحكرار‬ Initial-value ‫القي ة ا تدا ية‬ ‫شر ل ة م و‬ while (condition) { . block . statements ‫ث‬ . condition changing

‫ت‬

‫غ ال ر‬


‫مالحظات‬ ‫• جملة ‪ do….while‬لها نفس ممٌزات جملة ‪ while‬لكنها‬ ‫تختلف عنها فً تنفٌذ الحلقة و الدخول فٌها مرة واحدة على‬ ‫االقل دون اختبار للشرط‪ ،‬بعكس جملة ‪ while‬التً ٌتم فٌها‬ ‫التحقق من الشرط اوالا قبل الدخول فً الحلقة‪.‬‬ ‫• ُتستخدم تعلٌمة ‪ break‬إلنهاء الحلقة و الخروج منها‪ ،‬بٌنما‬ ‫ُتستخدم ‪ continue‬لالنتقال بالتحكم الى حلقة التكرار من‬ ‫جدٌد دونما تنفٌذ للتعلٌمات التً تلً تعلٌمة ‪.continue‬‬


‫جمم انححكم‬ ‫ال‬

‫تخد لت ي ي ة او ا ي الة‬ ‫‪If statement o‬‬ ‫ست د لت في علي ة او ا ي حالة ق ال ر و ال ل العا ل ا‪:‬‬ ‫شر ل ة م و‬

‫ت‬ ‫}‬

‫‪ .‬و م ا ا ما ي ي‪:‬‬

‫)‪if (condition‬‬ ‫{‬ ‫‪.‬‬ ‫ث ‪block . statements‬‬ ‫‪.‬‬


‫‪If else statement‬‬

‫ُتستخدم لتنفٌذ تعلٌمة او مجموعة من التعلٌمات فً حالة تحقق الشرطـ‪ ،‬و فً‬ ‫حالة عدم تحقق الشرط‪ٌ ،‬تم تنفٌذ التعلٌمات التً تلً جملة ‪else‬‬

‫شر‬

‫ت‬

‫غ ال ر‬

‫ت‬

‫غ ال ر‬

‫ل ةم‬

‫و‬

‫)‪if (condition‬‬ ‫{‬ ‫‪.‬‬ ‫‪block‬‬ ‫‪. statements‬‬ ‫ث‬ ‫‪. condition changing‬‬ ‫}‬ ‫‪else‬‬ ‫{‬ ‫‪.‬‬ ‫‪block‬‬ ‫‪. statements‬‬ ‫ث‬ ‫‪. condition changing‬‬ ‫}‬


‫‪switch statement‬‬ ‫ُتستخدم لتنفٌذ تعلٌمة او اكثر فً حالة ان التعبٌر الرٌاضً‬ ‫ٌساوي القٌمة المناسبة‪ ،‬و إال‪ ،‬فإنه ٌنفذ التعلٌمة المصاحبة‬ ‫لالفتراضً ‪ ،default‬و الشكل العام لها ‪:‬‬


‫و‬

‫ل ةم‬

‫عب ر ا‬

switch (expression) { case value1: statement; ‫ث‬ break; case value2: statement; ‫ث‬ break; . . . case value n: statement; ‫ث‬ break; default: statement; break; }

‫ث‬

‫ت‬ ‫ت‬

‫ت‬

‫ت‬


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.