أول برنامج بلغة جافا
لماذا نبرمج؟ وما الذي يميّز جافا؟ وكيف يتحوّل الكود إلى برنامج يعمل؟
- تشرح ما هي لغة جافا وكيف يُترجم البرنامج ويُنفَّذ.
- تجهّز أدوات البدء: JDK و NetBeans.
- تكتب بنية برنامج جافا الصحيحة وتطبع باستخدام println و print.
- تتعرّف على أول أخطاء الصياغة وتصلحها.
١ما هي لغة جافا؟
لغة برمجة كائنية التوجّه، واسعة الاستخدام في بناء التطبيقات والبرامج المتقدّمة، طوّرها جيمس غوسلينغ وزملاؤه في شركة صن مايكروسيستمز (Sun Microsystems).
«اكتب مرّة، وشغّل في أي مكان»
Write Once, Run Anywhere
يُكتب البرنامج مرّة واحدة ثم يعمل على ويندوز وماك ولينكس دون إعادة كتابته، بفضل الآلة الافتراضية للجافا JVM (تُنطق: جي-في-إم).
خصائصها ومميّزاتها
٢كيف يعمل برنامج جافا؟
يمرّ البرنامج بثلاث مراحل:
| المترجِم Compiler | المفسّر Interpreter | |
|---|---|---|
| طريقة العمل | يحوّل الكود كلّه إلى لغة الآلة دفعةً واحدة | يقرأ الأوامر وينفّذها سطرًا بسطر |
| متى؟ | قبل التشغيل | أثناء التشغيل |
٣الأدوات اللازمة للبدء
| الأداة | ما هي؟ | ملاحظة |
|---|---|---|
| JDK Java Development Kit | حزمة تطوير جافا: المترجِم وبيئة التشغيل والأدوات الأساسية | تُثبَّت أولًا |
| IDE | بيئة التطوير المتكاملة: تلوّن الكود وتنبّه إلى الأخطاء وتقترح الإكمال | — |
| NetBeans | البيئة المعتمدة في هذا المقرر | سهلة وسريعة ومناسبة للمبتدئين وتطبيقات الويب |
| Eclipse و IntelliJ IDEA | بيئات أخرى | مناسبة أكثر لتطبيقات الأندرويد |
جرّب أول برنامج لك الآن
هكذا يبدو الكود في بيئة NetBeans. اضغط الزر الأخضر ▶ شغّل في OneCompiler: يُنسخ الكود تلقائيًّا ويُفتح موقع OneCompiler في تبويب جديد، فتلصقه هناك (Ctrl+V) وتضغط Run.
public class HelloJava{ public static void main(String[] args) { System.out.println("Hello, Java!"); }}
٤بنية برنامج جافا
أي برنامج جافا ثلاث طبقات متداخلة: الكلاس، وبداخله الدالة main، وبداخلها الأوامر.
public class HelloJava{ public static void main(String[] args) { System.out.println("Hello, Java!"); }}
٥أمر الطباعة: println و print
| println | ||
|---|---|---|
| ماذا يفعل؟ | يطبع ثم ينزل إلى سطر جديد | يطبع ويبقى في السطر نفسه |
| متى نستخدمه؟ | كل مخرَج في سطر مستقل | دمج عدة مخرجات في سطر واحد |
| المؤشّر بعدها | في بداية سطر جديد | بعد آخر حرف مباشرة |
اضغط اسم الأمر في أي سطر لتبدّله بين println و print، وراقب الناتج. العلامة | تمثّل مكان المؤشّر.
System.out.("مرحبًا");System.out.("بك");System.out.("في جافا");
٦الفاصلة المنقوطة ;
تُنهي كل أمر تنفيذي، كما تُنهي النقطة الجملة في العربية؛ تخبر المترجِم أن الأمر اكتمل.
System.out.println("مرحبا")System.out.println("مرحبا");نسيان ; أكثر أخطاء المبتدئين شيوعًا، ويوقف ترجمة البرنامج.
أين لا نضعها؟
لا توضع بعد رأس الكلاس ولا رأس الدالة ولا بعد الأقواس { }. السطر المظلَّل هو الوحيد الذي يحتاجها:
public class HelloJava{ public static void main(String[] args) { System.out.println("Hello, Java!"); }}
٧التعليقات
نصوص داخل الكود لشرحه، يتجاهلها المترجِم تمامًا فلا تُنفَّذ ولا تؤثّر على البرنامج.
| النوع | الصيغة | الاستخدام |
|---|---|---|
| سطر واحد | // ... | كل ما بعد // في السطر نفسه |
| عدة أسطر | /* ... */ | كل ما بين /* و */، ويصلح لسطر واحد |
| توثيق Javadoc | /** ... */ | توثيق البرامج (للعلم فقط) |
public class HelloJava{ public static void main(String[] args) { // طباعة مع النزول إلى سطر جديد System.out.println("مرحبًا بك"); // طباعة تبقى في نفس السطر System.out.print("تعلم "); System.out.print("البرمجة"); /* هذا السطر معطَّل بتعليق، فلن يُنفَّذ إطلاقًا */ // System.out.println("سطر مؤجَّل"); }}
public class HelloJava{ public static void main(String[] args) { System.out.println("مرحبًا بك"); System.out.print("تعلم "); System.out.print("البرمجة"); }}
٨أول تعارف مع الأخطاء
عندما تكتب أول برامجك ستظهر لك أخطاء، وهذا طبيعي تمامًا. أكثرها في البداية أخطاء صياغة: مخالفة لقواعد كتابة جافا. يكتشفها NetBeans فورًا ويضع تحت السطر خطًّا أحمر متعرّجًا وعلامة ❗ بجانب رقمه، ولا يعمل البرنامج حتى تصلحها.
public class Main { public static void main(String[] args) { System.out.println("مرحبًا") }}
| الخطأ الشائع | مثال | الإصلاح |
|---|---|---|
| نسيان الفاصلة المنقوطة | println("Hi") | println("Hi"); |
| حرف صغير بدل كبير | system.out.println | System.out.println |
| نسيان علامة التنصيص | println("Hi); | println("Hi"); |
| قوس غير مغلق | main(String[] args) { بلا } | أغلق كل قوس فتحته |
توقّع وتحقّق
تأمل الكود التالي،
System.out.print("A");System.out.println("B");
ماذا سيكون الناتج عند تنفيذه؟
أي سطر يحتاج فاصلة منقوطة؟
كلاس اسمه Calc، ما اسم ملفه؟
تأمل الكود التالي،
// System.out.println("1");System.out.println("2");
كم سطرًا يظهر في الناتج عند تنفيذه؟
الخلاصة
- جافا تُترجم إلى Bytecode يعمل على أي جهاز فيه JVM.
- كل برنامج يبدأ من الدالة main داخل كلاس.
- println تطبع ثم تنتقل لسطر جديد، و print تبقى في السطر نفسه.
- كل جملة تنتهي بفاصلة منقوطة ;
- الخط الأحمر في NetBeans يعني خطأ صياغة يجب إصلاحه قبل التشغيل.
تحدٍّ برمجي: إطار حول كلمة
سهلارسم إطارًا نصيًّا حول كلمة Java، ثم اطبع سطرًا أخيرًا مكوّنًا من أمرين print.
- الأسطر الثلاثة الأولى بـ println.
- السطر الأخير «Hello World» ناتج أمرين:
print("Hello ")ثمprint("World"). - أضف تعليقًا واحدًا على الأقل يشرح الكود.
ابدأ من هذا الكود، واضغط ▶ شغّل هنا لتكتب حلّك وتجرّبه مباشرة:
public class Frame{ public static void main(String[] args) { // ارسم الإطار هنا }}
💡 تلميح 1
💡 تلميح 2
حاول بنفسك أولًا؛ للمسألة أكثر من حلّ صحيح.
public class Frame{ public static void main(String[] args) { // الإطار: ثلاثة أسطر System.out.println("+-------+"); System.out.println("| Java! |"); System.out.println("+-------+"); // سطر واحد من أمرين print System.out.print("Hello "); System.out.print("World"); }}