تنزيل المقال تنزيل المقال

جافا عبارة عن لغة برمجة غرضية التوجّه تم إنشاؤها عام 1991 بواسطة جيمس جوسلينج ويعني كونها غرضية التوجّه أنها تمثّل المفاهيم على شكل "أغراض" تمتلك "حقولًا" (عبارة عن سمات تصف الغرض) و "دوالًا" (إجراءات يمكن للغرض تنفيذها). لغة جافا عبارة عن لغة برمجة يمكن كتابة رموزها مرة واحدة وتشغيلها في أي مكان مما يعني أنها مصممة لتعمل على منصة واحدة بحيث يمكن لأي نظام تشغيل يمكنه استضافة بيئة جافا افتراضية ويمكن للمبتدئين تعلّم وفهم لغة جافا بسهولة حيث أن رموزها البرمجية بسيطة للغاية ويعدّ هذا المقال مقدّمة لكتابة البرامج بلغة جافا.

طريقة 1
طريقة 1 من 3:

كتابة برنامجك الأول بلغة جافا

تنزيل المقال
  1. يستخدم العديد من المبرمجين بيئة تطوير متكاملة مثل إكلبس أو نت بينز لكتابة برامج جافا، إلا أن بإمكانك كتابة برنامج جافا وترجمته دون استخدام بيئة تطوير متكاملة على الإطلاق.
  2. يفضّل بعض المبرمجين المحترفين أحيانًا استخدام محرّرات النصوص التي تعمل في نافذة الأوامر مثل فيم أو إي ماكس. برنامج سبلايم تكست عبارة عن محرّر نصوص ممتاز يمكن تثبيته على أنظمة التشغيل المبنية على نظامي ويندوز ولينكس (ماكنتوش أو أوبنتو وما إلى ذلك) وهذا هو البرنامج الذي سنستخدمه في هذا المقال.
  3. احرص على تثبيت حزمة تطوير برامج جافا . ستحتاج إلى هذه الحزمة لترجمة البرامج التي تكتبها.
    • يمكن أن يظهر لك خطأ عند تنفيذ الأمر javac إن كانت متغيرات البيئة غير مضبوطة بشكل صحيح في أنظمة التشغيل المبنية على نظام ويندوز ويمكنك الرجوع إلى مقال إرشادي يشرح كيفية تثبيت حزمة تطوير برامج جافا للحصول على مزيد من الإرشادات حول تثبيت جى دي كي وتلافي هذا الخطأ.
طريقة 2
طريقة 2 من 3:

برنامج إظهار رسالة ترحيب

تنزيل المقال
  1. أنشئ ملفًا جديدًا في محرّر النصوص واحفظه باسم "HelloWorld.java". HelloWorld هو اسم المصنف الخاص بك (كلاس) ويجب أن يكون اسم المصنف مطابقًا لاسم الملف.
  2. الدالة الرئيسية public static void main(String[] args) هي الدالة التي يتم تنفيذها عند تشغيل البرنامج وسيتم تعريف هذه الدالة بنفس الطريقة في كل برامج جافا.
     public 
     class 
     HelloWorld 
     { 
     public 
     static 
     void 
     main 
     ( 
     String 
     [] 
     args 
     ) 
     { 
     } 
     } 
    
  3.  System 
     . 
     out 
     . 
     println 
     ( 
     "Hello World." 
     ); 
    
    • لننظر إلى مكوّنات هذا السطر:
      • System يوجّه هذا الأمر النظام إلى فعل شيء ما.
      • out يخبر هذا الأمر النظام بأننا سننفذ بعض عمليات الخرج.
      • println عبارة عن اختصار لعبارة "طباعة سطر"، مما يعني أننا نخبر النظام بطباعة سطر في الخرج.
      • تعني الأقواس الموجودة حول ("Hello World.") أن الدالة System.out.println() تقبل مُعاملات هي في هذه الحالة النص "Hello World" .
    • لاحظ أن هناك بعض قواعد جافا التي يجب الالتزام بها:
      • يجب أن تضيف فاصلة منقوطة في نهاية كل سطر دائمًا.
      • لغة جافا حساسة تجاه حالة الأحرف، لذا فإنه يجب كتابة أسماء المصنفات والمتغيرات والدوال بحالة الأحرف الصحيحة حتى لا يظهر أي خطأ.
      • يتم حصر أجزاء الرموز البرمجية الخاصة بدالة معيّنة أو تكرار معيّن بين أقواس معقوفة.
  4. يفترض أن يكون برنامجك الترحيبي النهائي بالشكل التالي:
     public 
     class 
     HelloWorld 
     { 
     public 
     static 
     void 
     main 
     ( 
     String 
     [] 
     args 
     ) 
     { 
     System 
     . 
     out 
     . 
     println 
     ( 
     "Hello World." 
     ); 
     } 
     } 
    
  5. توجّه إلى مجلّد حفظ الملف HelloWorld.java واكتب الأمر javac HelloWorld.java . يؤدي ذلك إلى توجيه المترجم لترجمة الملف HelloWorld.java وسيعلمك المترجم بأي أخطاء يمكن أن يحويها الملف أو لن يُظهر أي رسائل إن لم توجد أخطاء. إن توجّهت إلى مجلد حفظ الملف HelloWorld.java الآن، يفترض أن تجد ملفًا بالاسم HelloWorld.class وهذا هو الملف الذي تستخدمه لغة جافا لتشغيل البرنامج.
  6. يمكنك الآن أن تشغّل البرنامج! اكتب الأمر التالي java HelloWorld في سطر أو نافذة الأوامر حيث يقوم هذا الأمر بتوجيه جافا إلى تشغيل المصنف HelloWorld. يفترض أن تظهر العبارة "Hello World" في النافذة بعد ذلك.
طريقة 3
طريقة 3 من 3:

الدخل والخرج

تنزيل المقال
  1. لقد أنشأنا برنامجنا ليعرض نصًا على الشاشة يمكن رؤيته فقط، إلا أن الجزء التفاعلي من البرنامج ينطوي على استقبال دخل من المستخدم لذا فإنّا سنطوّر البرنامج ليطلب من المستخدم اسمه حتى يتم تحيته باسمه بعد ذلك.
  2. هناك بعض المكتبات المدمجة في بيئة جافا والتي يمكن استخدامها، إلا أننا نحتاج إلى استيرادها أولًا. مكتبة java.util أحد هذه المكتبات وهي تحتوي على غرض Scanner الذي نحتاجه لاستقبال دخل المستخدم. سنقوم بإضافة السطر التالي في بداية الرمز البرمجي حتى نستورد المصنف Scanner.
    import java.util.Scanner;
    • يؤدي ذلك إلى إعلام البرنامج برغبتنا في استخدام الغرض Scanner الموجود بداخل الحزمة java.util.
    • يمكننا ببساطة كتابة import java.util.*; في بداية الرمز البرمجي حتى نتمكن من الوصول إلى كل الأغراض الموجودة بداخل الحزمة java.util.
  3. لغة جافا عبارة عن لغة غرضية التوجّه مما يعني أنها تمثّل المفاهيم باستخدام الأغراض وغرض Scanner مثال لغرض يحتوي على حقول ودوال وستحتاج إلى إنشاء غرض Scanner جديد يمكن تعبئة حقوله واستخدام دواله حتى تتمكن من استخدام مصنّف Scanner. يمكن تنفيذ ذلك عن طريق كتابة التالي:
    Scanner userInputScanner = new Scanner(System.in);
    • userInputScanner هو اسم غرض Scanner الذي أنشأناه للتو. لاحظ أن الاسم مكتوب بحيث يكون أول كل حرف في كل كلمة كبير، وهذه هي طريقة التسمية المتعارف عليها في لغة جافا.
    • استخدمنا المعامل new لإنشاء حالة جديدة للغرض، لذا فإنّا أنشأنا حالة جديدة للغرض Scanner عن طريق كتابة new Scanner(System.in) .
    • يقبل الغرض Scanner معاملًا يُعلم الغرض بالشيء الذي يجب استقباله كدخل ونقوم في هذه الحالة باستخدام System.in كمُعامل. يقوم الأمر System.in بإعلام البرنامج باستقبال دخل من النظام وهو دخل المستخدم الذي يكتبه في البرنامج.
  4. يجب أن نطلب من المستخدم كتابة دخل حتى يعرف وقت كتابة ما يرغب به في البرنامج ويمكن تحقيق ذلك باستخدام الأمر System.out.print أو System.out.println .
    System.out.print("What's your name? ");
  5. اطلب من الغرض Scanner استقبال السطر الثاني الذي يكتبه المستخدم وتخزينه في متغيّر. سيقوم الغرض Scanner باستقبال البيانات التي يكتبها المستخدم دائمًا وسنطلب من الغرض في السطر التالي استخدام الدخل الذي قدمه المستخدم عند سؤاله عن اسمه وتخزينه في متغيّر:
    String userInputName = userInputScanner.nextLine();
    • الطريقة المتفق علها لاستخدام دالة من دوال الغرض في لغة جافا هي objectName.methodName(parameters) . يقوم الأمر userInputScanner.nextLine() بإعلام غرض Scanner بالاسم الذي قدمناه له للتو ثم نستدعي الدالة nextLine() التي لا تستقبل أي مُعاملات.
    • لاحظ أننا نخزّن السطر التالي في غرض مختلف: الغرض String ولقد سمينا هذا الغرض userInputName .
  6. يمكننا كتابة تحية للمستخدم بعد تخزين اسم المستخدم المقدّم للبرنامج. هل تتذكّر الأمر System.out.println("Hello World."); الذي كتبناه في المصنف الرئيسي؟ يجب أن تُكتب كل الرموز التي كتبناها للتو فوق هذا السطر، ويمكننا الآن أن نعدّل السطر ليكون:
    System.out.println("Hello " + userInputName + "!");
    • طريقة الجمع بين العبارات "Hello " واسم المستخدم و "!" هي كتابة "Hello " + userInputName + "!" بطريقة تسمّى توحيد النصوص.
    • ما يحدث هنا هو امتلاكنا لثلاث نصوص: "Hello " و userInputName و "!" ونصوص لغة جافا ثابتة مما يعني عدم القدرة على تغييرها ويؤدي توحيد هذه النصوص الثلاثة إلى إنشاء نص جديد يحتوي على تحية.
    • نقوم بعد ذلك بتغذية هذا النص الجديد كمُعامل إلى System.out.println .
  7. import java.util.Scanner;
    
    public class HelloWorld {
        public static void main(String[] args) {
            Scanner userInputScanner = new Scanner(System.in);
            System.out.print("What's your name? ");
            String userInputName = userInputScanner.nextLine();
            System.out.println("Hello " + userInputName + "!");
        }
    }
  8. توجّه إلى سطر أو نافذة الأوامر ونفّذ نفس الأوامر التي نفذناها في التسلسل الأول من ملف HelloWorld.java. يجب أن نترجم البرنامج أولًا: javac HelloWorld.java . ثم نشغّله: java HelloWorld .


أفكار مفيدة

  • جافا لغة غرضية التوجّه، لذا فإنه من المفيد قراءة مزيد من المعلومات عن لغات البرمجة غرضية التوجّه.
  • تمتلك البرمجة غرضية التوجّه العديد من الخواص المخصصة لنموذجها وإليك ثلاثة من هذه الخواص:
    • التغليف : القدرة على فرض قيود على الوصول إلى بعض مكوّنات الغرض. تمتلك لغة جافا مُعدّلات خاصة ومحمية وعامة للحقول والدوال.
    • تعدّد الأشكال : قدرة الأغراض على الظهور بهويات مختلفة. يمكن قولبة غرض في غرض آخر لاستخدام دواله.
    • الوراثة : القدرة على استخدام الحقول والدوال من مصنف آخر بنفس تراتبية الغرض الحالي.

المزيد حول هذا المقال

تم عرض هذه الصفحة ١٣٬١٦٩ مرة.

هل ساعدك هذا المقال؟