شرح أسهل برنامج في لغة جافا الرائعة و شرح المفاهيم المهمة للمبتدئين

في بداية طريق تعلم لغة الجافا يكون التعامل مع شرح أول برنامج سطحيٌ جداً.

ولكن في هذه التدوينة سوف تتعلم كتابة أول برنامج لك بلغة الجافا.

ليس بسطحية و إنما ستعلم أيضاً المفاهيم الأساسية في لغة الجافا بتعمُّقٍ أكبر.

لأحفزك قليلاً..

ليس من البساطة أن تسمتع بما تفعل مالم يكن هناك دوافع.

الدافع الجميل في البرمجة هو رؤية أفكارك و تلك التعقيدات يتم تنفيذها على شاشة الحاسب، حينها ستشعر بتلك المتعة الخاصة التي قلما تجدها في أماكن أُخرى – أن تجتهد و تحصد ثمرة جهدك سريعاً، خاصة و أن لغة جافا من أشهر لغات البرمجة.

قبل كل شيء يجب أن تعد بيئة جافا للبدء بالبرمجة إذا لم تكن أعددتها مسبقاً، أما إذا كانت معدّة … فهيّا لننطلق.

أول برنامج بالجافا
أول برنامج بالجافا

في البداية فلتتعرف إلى الشفرة البرمجية (Code) كاملةً لأول برنامج لك

package firstproject;


public class MyFirstApp {
    public static void main(String args[]){
        System.out.println("مرحبا بك في مدونة علوم");
    }
}

بعد أن تعد نفسك، قم بفتح برنامج نتبينز أو أيٍ من البرامج المخصصة لكتابة و تنفيذ أكواد الجافا. سأستعرض معك. سنبدأ برحلتنا مع برنامجك الأول جزءاً جزءاً.

public class MyFirstApp {

في هذا السطر نخبر الحاسب بثلاث أشياء:

  • بإستخدام public فإنك تقول أنك تريدأن تكون سماحية الوصول إلى مكونات هذا الـ class عامة، الـ class هو الهيكل الأساسي للبرنامج، و يماثل المنزل، في البداية ستقوم بإنشاء المنزل ثم بعد ذلك تبدأ تعمير و إنشاء و تأثيث الغرف، إذا إستخدمت المعرف public فإنك تجعل منزلك متاحاً للمشاركة.
  • بإستخدام Class فإنك أخبرت الـحاسب بأنك تريد إنشاء Class و كما ذكرت لك آنفاً فالـ Class مماثل للمنزل أو الهيكل الخارجي الذي لا فائدة له وحده دون مكونات داخلية.
  • MyFirstApp هو إسم قد إخترته بنفسي و بإمكانك إختيار إسم آخر مثل AhmedClass أو أي شي آخر، هذا يعني أنك تريد تسمية منزلك بهذا الإسم، فعندما يريد الناس الوصول إلى منزلك فسيقولون هيا لنذهب إلى منزل AhmedClass، كتابة هذا الإسم لها معايير يجب إتباعها لكن ليس بالضرورة ربما نتطرق لها لاحقاً. لكن من أهم المعايير هي أن يبدأ إسم الـ class بحرف capital.
public static void main(String args[]){
OLYMPUS DIGITAL CAMERA

هنا تقوم بإنشاء أول غرفة من غرف منزلك الذي عرضته للمشاركة 🙂 شئ جميل.

لنتعرف على ما كتبته في هذا الجزء:

  • بإمكانك أن تعرض منزلك للمشاركة، و لكن بإمكانك أن تستأثر بإحدى الغرف لك وحدك. بمعنى آخر تحدد صلاحية الوصول لهذه الغرف، فبكتابتك لـ public فإنك تقول أن هذه الغرفة متاحة للوصول.
  • هناك مفهوم مهم في البرمجة. عمليات المشاركة التي نتحدث عنها فعلياً لا تتم بالإستيلاء على غرفة من شخص واحد، بل تتم بأن كل شخص يريد هذه الغرفة يأخذ نسخة منها. و بالتالي من الممكن أن خمس أشخاص تشاركوا هذه الغرفة بأخذ نسخ منها، فإذا أراد أحدهم طلاء نسخة غرفته بلون معين فهل ستتأثر بقية الغرف بهذا الطلاء؟ أم سيكون تأثير هذا الطلاء على غرفته فقط. هنا يأتي مفهوم الـ static، فإذا ذكرت ان هذه الغرفة static فهذا يعني أن أي تغيير بأي من نسخ الغرفة سيؤثر على بقية الغرف المنسوخة. فلا تقوم بالتغيير قبل دراسة تأثير ذلك على الآخرين إذا كانت غرفتك static 🙂 .
  • ننتقل إلى void، المفهوم العام في البرمجة للغرف. جميع الغرف يسمح لك بالحصول منها على شئ واحد، أو لا شئ على الإطلاق، فذكرك لـ void هنا تعني أن كل شخص يستخدم هذه الغرفة لن يحصل منها على أي شئ. فقط للإستخدام كما هي.
  • الـ main، هذا هو إسم الغرفة، و الآن لنتحول من المثال إلى الحقيقة. الغرف التي نتحدث عنها هنا هي الدوال methods داخل البيوت classes. بعد تحديد صفات الغرفة من ناحية قابلية المشاركة و تأثير التغيير على بقية المتشاركين، و ماذا بإمكان المشارك لهذه الـ method الحصول منها، نحدد إسم الـ method، و هنا للإسم main خصوصية، بحيث أنه في كل منزل class عند بداية تنفيذه يتم البحث عن الغرفة الأساسية بالمنزل ليبدأ منها، و دائماً تسمى main و إذا لم يجدها فإن تنفيذ هذا الـ class لوحده يعد ضرباً من الخيال.

System.out.print("مرحبا بك في مدونة علوم");

هذا هو أثاث الغرفة و الجزء المهم من الكود، هذا هو الجزء الذي يتم تنفيذه فعلاً و ترى نتيجته. و تفصيله لك كالآتي:

  • في هذا السطر قد أمرنا الحاسب بطباعة جملة على الشاشة. هل تريد معرفة كيف تأمر الحاسب بالطباعة في لغة الجافا؟ بدلاً أن تقول له إطبع فستكتب System.out.println و ما بين القوسين ( ) تضيف ما ترغب بطباعته. هذا هو التركيب الأساسي لعملية الطباعة. يكفي الآن أن تعرف هذا كجزء أساسي لعملية الطباعة.
  • الشئ الذي نرغب بطباعته على الشاشة هو جملة (مرحبا بك في مدونة علوم)، و حتى تخبر الحاسب بأن الذي ترغب في طباعته هو نص واحد، نضع دائماً النصوص بين علامتي التنصيص “”. و بذلك يكون هذا هو نصنا الذي ستتم طباعته.
  • بنهاية كل أمر برمجي دائماً لا بد أن تضيف هذه العلامة “;“، علامتي التنصيص للتحديد فقط. نسيان هذه العلامة من الأخطاء الشائعة للمبرمجين في بداياتهم حتى يعتادوا عليها، و هي تعني أن هذه نهاية جملة الأمر يا أيها الحاسب.

الآن تبقى لك أن تضيف هذا الجزء

}
}

إذا لاحظت عندما كنا نتحدث عن الـ class و الـ method كانت هناك أقواس تجاهلتها عمداً حتى أثير لديك شيئاً من التساؤلات، عد إلى الأجزاء التي كتبتها و لاحظها.

عندما تملك منزلاً ألا تحدد له بداية و نهاية؟ و هل للغرفة حدود؟ الأقواس هذه تمثل البدايات و النهايات لكل من الـ class و الـ method. كل ما يتم وضعه بين القوسين يعتبر جزءاً من مما يسبق القوس الأول، بالتالي فإن الـ main method هي جزء من MyFirstApp class.

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

الآن تبقى لك أن تقوم بتنفيذ هذا الكود، بعد أن إكتملت كتابتك، إحفظ الملف الذي قمت بكتابته بإسم MyFirstApp.java. لاحظ أن الإسم مطابق تماماً لإسم الـ class و كذلك يجب أن يكون.

 

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

أرأيت أن تعلم كتابة برنامجك الأول بلغة الجافا ليس ضرباً من الخيال؟

تعتبر الحزم من المواضيع التي تطرقت لها في هذه التدوينة وتستطيع فهمها أكثر بقرائتك للتدوينتين التاليتين:


قد يعجبك أيضا

ما رأيك؟ اترك تعليقاً أدناه


  1. انا حملت بيئة لاكن احتاج مساعدا في تاقلم وتعلم اذا سمحت ان اتواصل معك لي تعلمني فسأكن لك كل احترامي ودعواتي ممكن

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

  3. شكرا لك على الشرح الوافي جزاك الله خير فقد زادني علما ﻷنني بدأت بلصفر معك وانا اتعلم
    شكرا مره اخرى

  4. جزاك الله خير ، شرح واضح جداً
    اتمنى ان نُحظر دو كامله للجافا على اليوتيوب ..
    اجزم انه لديك الكثير من الفاهيم للراغبين ف تعلم الجافا.

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

    1. انا فعلت كما بالشرح تماما والفيديو ولكن لا يستجيب

      public class FirstMadaProgram {
      public static void Main(String args[]){
      System.out.print(“hjhj\n”);
      System.out.print(“مرحبا مادا مان\n”);
      }
      }

    2. هذا الخطأ يحدث عندما اكتب انا الكود
      لكن عند النسخ منك لا يحدث هذا الخطأ لا اعرف لماذا

    1. يخبر البرنامج انك لم تعمل method
      اي داله ال main

      الحل البسيط لهذه المشكله
      \اعد اعداد البرنامج من البدايه (ابداء مشروعك من جديد).ولاتنسى الضغط على زر تشغيل الكلاس بداله المين ميثود وهي تظهر لك هذاء الخيار عن تسطيب مشروعك (عند كتابه مشروعك تحصل خانه مكتوب عليها {start main method })hulg لها اشاره صح وبداء بكتابه مشروعك

  6. صراحة ما فهمت اي شئ ( هههه )
    مع اني تحمست وحملت وهيأت البيئة ولكن لن اقف
    وشكراً لكتابك ( 11 سبب يناديك لتكون مبرمج جافا )
    صراحة هذا الكتاب هو الذي جذبني شكرا لك كثيرا

{"email":"البريد الالكتروني غير صحيح","url":"رابط الموقع غير صحيح","required":"بعض الحقول المطلوبة لم تتم تعبئتها"}

نجاح!

تنبيه!

خطأ!