الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الدرس الأول...

مغلق
بدأه محمد المؤيد في 25 سبتمبر 2003 · 10 رد · 1,763 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته...

الحمد لله . الآن سوف أضع الدرس الأول من دروس تعلم الجافا من الصفر.

أحب أن أذكر بعض النقاط قبل أن أبدأ:

1- سوف يتم وضع درس أسبوعيا ً أو درسين (على حسب الحاجة).

2- سوف يتم مناقشة الدرس بين الأعضاء خلال الأسبوع وذلك للحصول على فائدة أكبر وتحسين للدروس.

3- إن أصبت فمن الله وإن أخطأت فمن نفسي لذا أرجو من الجميع أن ينبهوني إن كانت هناك أخطاء (خاصة الخبراء).

بسم الله نبدأ...

#2

تقدم لغة الجافا الكثير من المميزات والتسهيلات للمستخدم . سوف أقوم بعرض بعض الأمثلة البسيطة في الفصل الأول من هذا الكتاب والتي تبين بعض من مميزات الجافا المهمة والأساسية. وسوف يتم شرح كل مثال بأسلوب سطر بسطر لإيصال المعلومة بشكل سهل وسريع. كل فصل من الكتاب سيتألف من عدة دروس وكل درس قد يحتوي على مثال أو مثالين.

بسم الله نبدأ ...

الدرس الأول

المثال الأول: كتابة جملة على الشاشة

سوف تكون نتيجة تنفيذ هذا البرنامج كتابة الجملة التالية في شاشة الدوس :

Java Programming! Welcome To

كود البرنامج

1    //First Example
2    //Writing a line of Text
3
4   public class Welcome1 {
5           public static void main ( String [] args ) 
6            {
7                    System.out.println( "Welcome To Java Programming!" );
8             } 
9   }

الشرح:

السطر الأول والثاني

[align=left]//First Example[/align]

يبدئان ب // وهذا يعني أن ما تبقى من السطر هو عبارة عـن شرح للبرنامج أو السطر الذي يليه من البرنامج. وهذا الشرح يسمى Comment وهي لا تُأخذ بعين الإعتبار في عملية ترجمة البرنامج Compilation . وهذا الشرح يساعد من يقرأ كود البرنامج في فهم عملية سير البرنامج. كما أنه يساعد في إنشاء ال Documentation الخاصة بالبرنامج والتي لن نتطرق إليها في الوقت الراهـن.

وهذا هو النوع الأول من ال Comments وهو يسمى بال single-line Comment لأنها تنتهي مع نهاية السطر الذي بدأت فيه. ويمكن كتابة هذه ال Comment في وسط السطركالمثال التالي :

public class Welcome1 {    // This is the bigining of the class

هناك نوع آخر من ال Comment وهي ال ( multiple-line Comment ) وهذا النوع يمكنه أن يتألف من أكثر من سطر وتكون صيغتها على الشكل التالي:

/* This is a 
multiple –line 
Comment */

انتبه: نسيان كتابة أي محدد من محددات ال multiple-line Comment (*/ أو /* ) يعتبر خطأ syntax error ويعيق عملية ترجمة الكود.

ملاحظة: قامت الجافا بأخذ ال single –line Comment من لغة ال C++ وال multiple-line Comment من لغة ال C.

السطر الثالث

وهو عبارة عن سطر فارغ. يتم استخدام السطور الفارغة والمسافات وال Tap characters لجعل البرنامج أكثر سهولة ً في القراءة.

الأسطر الفارغة blank lines والمسافات Spaces وال Tap characters تسمى بال white-space . وهي أيضا ً يتم تجاهلها بواسطة ال Compiler في عملية ترجمة الكود Compilation .

السطر الرابع

public class Welcome1 {

هذا السطر يبدأ بتعريف ال Class الأساسي في البرنامج (أي تطبيق من تطبيقات الجافا يتألف من Class واحد على الأقل ).

كلمة class تبدأ تعريف ال Class ويتبع هذه الكلمة مباشرة ً اسم ال Class

(Welcom1) في مثالنا.

كلمة class تعتبر من ال keywords الخاصة بلغة الجافا. جميع هذه الكلمات تتكون من أحرف صغيرة فقط.

على العموم يفضل أن يبدأ اسم الكلاس بحرف كبير. إذا كان اسم الكلاس يتكون من أكثر من كلمة فيفضل أن يكون أول حرف من بداية كل كلمة كبير. كما في المثال التالي :

SampleClassName

اسم ال Class يعتبر identifier . ال identifiers عبارة عن سلسلة من الحروف والأرقام وال ( _ ) وال ( $ ) والتي يجب أن لا تبدأ برقم ولا تحتوي على مسافات.

أمثلة:

Welcome1, $value, _value, m_inputField and button7

الإسم 7button ليس اسم identifier مسموح به في لغة الجافا لأنه يبدأ برقم كما أن

input Field ليس اسم مسموحا ً به لأنه يحتوي على مسافة.

ملاحظة: لغة الجافا تتعامل مع الحروف الكبيرة والصغيرة بشكل مختلف.

يعني أنها case-sensitive . وهذا يؤدي إلى أن

A≠a

كل الكلاسات الواردة في الد روس الأولى والفصول الأولى من هذا الكتاب سوف يتم تعريفها بال keyword public . وسوف يتم شرح هذه الكلمة وغيرها في فصل لاحق إن شاء الله.

وأحب أن أنوه هنا بأن اسم الملف الذي يحتوي على كود البرنامج يجب أن يكون مطابقا ً لاسم الكلاس الرئيسي في البرنامج Welcome1 في مثالنا ويجب تعريف الكلاس الرئيسي بكلمة public ويجب أيضا ً أن يكون الحرف الأول منه كبير . هذا ينطبق على الكلاس الرئيسي فقط في البرنامج . والكلاس الرئيسي في البرنامج هو الكلاس الذي يحتوي على ال main Method والتي سوف يتم شرحها في السطر الخامس.

ملاحظة: جميع ملفات الجافا التي تحتوي على الكود لها الإمتداد java.

لاحظ في نهاية السطر { وهي عبارة عن محدد بداية الكلاس. كل كلاس في الجافا يجب أن يتم تحديد بدايته بواسطة { . وتحدد نهاية الكلاس ب } كما في السطر التاسع. وما بين ال { وال } يسمى بال class body .

نصيحة: عند فتح ال class body بواسطة ال { قم باتباعها بال } فورا ً ومن ثم قم بوضع مؤشر الكتابة بينهما واكتب الكود الخاص بال class body .من شأن ذلك أن يمنع حدوث نسيان إقفال الكلاس.

السطر الخامس

public static void main ( String [] args )

الآن ليس عليك أن تــفهم ماذا تعنيه كل كلمة من هذا السطر . ولكن الذي عليك أن تفهمه هو أن هذا السطر يجب أن يكتب في جميع تطبيقات الجافا applications . وهـو بداية ال main Method في هذا البرنامج . ويجب أن تكتب كما هي بالأعلى يمكن أن تتبادل كلمتي public و static الأماكن ولكن الباقي يظل كما هو وإلا فإن ال java interpreter لن يقوم بتنفيذ البرنامج إذا طلبت منه ذلك لعدم وجود ال main Method .

ملاحظة : يقوم ال java interpreter بتنفيذ البرنامج بدءا ً من ال main Method . ولهذا إن لم يجدها كما هي معرفة بالأعلى فإنه لن يقوم بتنفيذ البرنامج.

ملاحظة : يمكن للبرنامج أن يحتوي على أكثر من كلاس (كلاس واحد على الأقل) وكل كلاس يمكن أن يحتوي على أكثر من Method . والكلاس الذي يحوي ال main Method يعتبر الكلاس الرئيسي في البرنامج.

لاحظ أنه بعد كلمة main تجد الأ قـواس ( ) وهذا يعني أن هذه عبارة عن Method حيث يجب أن يتبع اسم أي ميثود main في مثالنا بالأ قواس . ويمكن أن تكون هذه الأ قواس فارغة ويمكن أن يحدد بداخلها نوع البيانات التي سوف تستقبلها الميثود كما في مثالنا.

كما قلت سابقا ً لا تشغل نفسك بهذه التفاصيل حاليا ً فسوف يتم شرحها لاحقا ً إن شاء الله.

الMethods عبارة عن جزء من أجزاء البرنامج في الجافا. تقوم ال Methods بعمل مهمة معينة يتم تحديدها داخل ال Method body . عادة ً ما تكون هذه المهمة يحتاج إلى تـنفيذها أكثر من مرة في البرنامج وكل ما عليك هو أن تـقوم بمناداة الميثود كلما أحتجت إلى تنفيذ مهمتها من أي مكان في البرنامج. من شأن هذا أن يقلل من كتابة الكود في البرنامج. بعض ال Methods تستقبل متغيرات أو كائنات (كما في مثالنا) وبعضها لا يستقبل أي شيء. يتم تحديد نوع المتغيرات والكائنات المفروض إستقبالها بواسطة الميثود داخل الأ قواس ( ) عند تعريف الميثود وإن كان هناك أكثر من متغير أو كائن , يفصل بينها بواسطة الفاصلة . إذا كانت الميثود لا تعطي قيمة ً ما إلى الكود الذي دعيت منه فإنه يتم إضافة كلمة void إلى سطر تعريف الميثود ( كما في مثالنا هذا ) . على كل حال, بإمكان الميثود أن تعطي قيمة ً ما لمتغير أو لكائن إلى الكود الذي دعيت منه وفي هذه الحالة يجب تحديد نوع هذا المتغير أو الكائن في تعريف الميثود بدلا ً من كلمة void.

ملاحظة : بعد الإنتهاء من تنفيذ الكود الخاص با لميثود يتم إستئناف تنفيذ البرنامج من السطر الذي يلي السطر الذي دعيت منه الميثود.

السطر السادس

{

هذا السطر يفتتح بداية ال Method body بواسطة القوس { . يجب إقـفال ال Method body بعد الإنتهاء من كتابة الكود الخاص بالميثود بواسطة القوس } ( السطر الثامن منهذا المثال ) .

إنتبه: نسيان إقفال ال Method body يؤدي إلى خطأ يعيق عملية ترجمة الكود Compilation .

السطر السابع

System.out.println( "Welcome To Java Programming!" );

يقوم هذا السطر بإعطاء الكمبيوتر الأمر بكتابة سطر على شاشة الدوس. Welcome To Java Programming! في مثالنا . إذا أردت كتابة سطر ما على شاشة الدوس فما عليك إلا أن تكتب هذا السطر وبداخل الأقواس أكتب ما تريد أن يظهر على شاشة الدوس . يجب أن يكون الكلام, الذي تريده أن يظهر, بين ال " " . أنوه هنا أن المسافات white-space التي بداخل ال " " يتم إعتبارها بواسطة ال Compiler . بعد كتابة السطر المطلوب في شاشة الدوس يتم وضع مؤشر الكتابة مباشرة ً إلى بداية السطر التالي.

ملاحظة: عدم كتابة الكلام داخل ال " " يعتبر syntax error

تلاحظ في نهاية السطر الفاصلة المنقوطة ; . الفاصلة المنقوطة تحدد نهاية عملية ما ( كتابة سطر في مثالنا ) . حيث يجب أن يكون في نهاية كل عملية في البرنامج هذه الفاصلة .

ملاحظة: نسيان كتابة الفاصلة المنقوطة في نهاية أي عملية يعتبر syntax error ويعيق عملية الترجمة.

ملاحظة: العملية عبارة عن أمر يحث البرنامج على عمل action ( يمكن أن يكون ظاهرا ً أو غير ظاهر للمستخدم ) .

السطر الثامن:

}

يقوم بتحديد نهاية الميثود main( ) .

السطر التاسع:

 }

يقوم بتحديد نهاية الكلاس .

ترجمة البرنامج (Compilation):

لترجمة برنامجنا الآن يمكننا الذهاب إلى محث الدوس ونذهب إلى نفس عنوان المجلد الذي يحتوي على ملف الكود. فالنفرض أن ملفنا اسمه Welcome1.java وهو موجود بالمجلد:

C:\myjava

إذا ً نذهب الى هذا المجلد في الدوس فيكون شكل المحث كالتالي:

C:\myjava>

الآن نكتب الأمر التالي في الدوس:

javac Welcome1.java

إذا كان ملفنا لا يحتوي على أية أخطاء لغوية syntax errors فإن هذه العملية سوف ينتج عنها ملف اسمه Welcome1.class الذي يحتوي على ال bytecodes الخاصة ببرنامجنا. هذه ال bytecodes سوف تترجم بواسطة ال java interpreter عندما نكتب الأمر التالي في نفس المجلد من داخل الدوس:

java Welcome1

وهذا الأمر سوف يشغل ال java interpreter ويحدد له أنه يجب أن يحمل load الملف Welcome1.class .

ملاحظة: لا تكتب الإمتداد .class في أمر تشغيل البرنامج وإلا فإنه لن يعمل.

أنتهى الدرس الأول بحمد الله . هل رأيتم كم أن الجافا سهلة :b1

الآن أنا بانتظار المناقشة...

#3

السلام عليكم

يعطيك العافيه ودرس قيم الى الامام المهم العزيمه على الاستمرار للنهايه

ملاحظه اريد شرح معنى (public static void main ( String [] args

فكثير من المبرمجين لايفهمون معناها البسيط وهو ان اسم برنامجك يقبل ارجمنت مثل

dir

لنعتبره اسم البرنامج وعندما يقبل ارجمنت يمكننا ان نقوم بوضع مدخلات للبرنامج

dir *.*

dir *.sss

وبعدها تخزن المدخلات في مصفوفه هي arg[]

,ويمكننا بعد ذلك فحص محتوى المصفوفه لتحديد العمل

مثال هل تحتوي على *.* في مثالنا او غيره ليتحدد سلوك البرنامج

تم تعديل هذه المشاركة بواسطة saleh2003 في 25 سبتمبر 2003 في 21:04

#4

شكرا ً لك أخ صالح ... (ما شاء الله فاهم) :)

وشكرا ً للجميع ...

#5

السلام عليكم

ارجو منك اخي المتابعه قدر الامكان , طبعا عندما يكون عندك وقت,والله يعطيك العافيه

فالتحضير للدرس وعرضه يحتاج جهد وتعب

والى الامام

saleh2003

#6

جزاكم الله خيرا

وننتظر المزيد

#7

الى الاخ محمد المؤيد

بارك الله فيك واعانك الدرس متسلسل وطريقه عرضه ممتازة

كان لدي اقتراح لا اعرف متداخلاته وهو ان نعطي للاخ الكريم المستجد طريقه تنزيل اللغه على الحاسوب وطريقة الوصول اليه وفتحه والاستعداد لطباعة الكود لا اعرف ان كان قد سبق هذا شى . وعاشت يدك

تم تعديل هذه المشاركة بواسطة احمد العطاب في 28 سبتمبر 2003 في 21:56

#8

الأخ أحمد العطاب شكرا ً لك على إقتراحك وإن شاء الله سوف أشرح الطريقة قريبا ً .

تم تعديل هذه المشاركة بواسطة محمد المؤيد في 29 سبتمبر 2003 في 08:55

#9
محمد المؤيد كتب:
السلام عليكم ورحمة الله وبركاته...

الحمد لله . الآن سوف أضع الدرس الأول من دروس تعلم الجافا من الصفر.

أحب أن أذكر بعض النقاط قبل أن أبدأ:

1- سوف يتم وضع درس أسبوعيا ً أو درسين (على حسب الحاجة).

وينك أخي محمد إن شاء الله مافي شر ........

في انتظار الدرس الثاني.

#10

السلام عليكم...

أعتذر أشد الإعتذار من الأعضاء على عدم نشر الدرس الثاني في وقته ولكن أعدكم أن أنشره غدا ً الثلاثاء. علما ً أنني أخرته لأسباب خارجة عن إرادتي وأكرر أسفي الشديد :(

#11

جزاك الله خيرا"

هذا الموضوع مغلق.

مواضيع مشابهة