Cs602 java programming fall2016 محاضرة 2

Page 1

‫‪CS602: Java Programming‬‬

‫‪Fall2016‬‬

‫‪Dr. Mabroka A.M.‬‬

‫‪ .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‬‬


‫‪CS602: Java Programming‬‬

‫‪Dr. Mabroka A.M.‬‬

‫‪Fall2016‬‬

‫اما الجدول التالي‪ ،‬فيوضح مهمة بعض الرموز املستخدمة في برنامج جافا‪:‬‬ ‫الرمز‬ ‫‪symbol‬‬ ‫‪\n‬‬ ‫‪\r‬‬ ‫‪\t‬‬ ‫\\‬ ‫"\‬

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

‫‪ ‬جملة التضمين ‪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‬‬


‫‪CS602: Java Programming‬‬

‫‪Fall2016‬‬

‫‪Dr. Mabroka A.M.‬‬

‫‪ ‬جمل االدخال ‪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‬‬


‫‪CS602: Java Programming‬‬

‫‪Dr. Mabroka A.M.‬‬

‫‪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‬‬


‫‪CS602: Java Programming‬‬

‫‪Fall2016‬‬

‫‪Dr. Mabroka A.M.‬‬

‫‪ ‬العمليات في لغة الجافا‬ ‫‪ 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‬‬


‫‪CS602: Java Programming‬‬

‫‪Fall2016‬‬

‫‪Dr. Mabroka A.M.‬‬

‫‪while statement o‬‬ ‫تستخدم لتنفيذ تعليمة أو مجموعة من التعليمات لعدد من املرات في حالة‬ ‫تحقق الشرط‪ ،‬حيث يتم اختبار الشرط في كل مرة للتحقق من صحته‪ .‬في حالة‬ ‫عدم تحقق الشرط‪ ،‬يتم الخروج من الحلقة‪ .‬و الشكل العام لها كالتالي‪:‬‬ ‫القيمة االبتدائية ‪Initial-value‬‬ ‫شرط كلمة محجوزة‬ ‫)‪while (condition‬‬ ‫{‬ ‫‪.‬‬ ‫‪block‬‬ ‫تعليمة او أكثر ‪. statements‬‬ ‫تغير الشرط ‪. condition changing‬‬ ‫}‬

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

‫‪16‬‬


‫‪CS602: Java Programming‬‬

‫‪Fall2016‬‬

‫‪Dr. Mabroka A.M.‬‬

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

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

‫و إال‬

‫}‬

‫‪17‬‬


‫‪CS602: Java Programming‬‬

‫‪Fall2016‬‬

‫‪Dr. Mabroka A.M.‬‬

‫‪switch statement o‬‬ ‫ُ‬ ‫تستخدم لتنفيذ تعليمة او اكثر في حالة ان التعبير الرياض ي يساوي القيمة‬ ‫املناسبة‪ ،‬و إال‪ ،‬فإنه ينفذ التعليمة املصاحبة لالفتراض ي ‪ ،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.