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

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

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

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

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

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

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

في البداية فلتتعرف إلى الشفرة البرمجية (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 و كذلك يجب أن يكون.

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

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

مصطفى الطيب

صديقٌ لنُظمِ المعلُومات و عُلومِ الحَاسِب و مُختصٌ بهما، مُحبٌ للعِلمِ و نَشرِه. أُشاركُ معارفي و تَجاربي و خِبراتي في تَدويناتٍ و دوراتٍ من خلال مُدونةِ عُلوم.

مقالات ذات صلة

‫31 تعليقات

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

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

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

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

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

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

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

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *