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