تخطَّ إلى المحتوى

مقدمة في Java: اكتب مرة وشغّل في أي مكان

الدرس 1 من 11 · Java

البنوك، وأنظمة الحجز في شركات الطيران، والمتاجر الإلكترونية الضخمة، وملايين التطبيقات: كلها تعتمد على لغة Java. في هذا الدرس ستتعرف على واحدة من أكثر لغات البرمجة انتشاراً في العالم، وعلى فكرتها الذكية «اكتب مرة وشغّل في أي مكان»، وستكتب أول برنامج بها.

Java لغة برمجة كائنية ظهرت عام 1995 من شركة Sun Microsystems، وكان وراءها فريق بقيادة جيمس جوسلينج (James Gosling). وفي 2010 اشترت شركة Oracle شركة Sun، فأصبحت هي المسؤولة عن تطوير Java.

ولماذا هذا الاسم؟ «جافا» اسم جزيرة في إندونيسيا تشتهر بالقهوة، ولهذا يحمل شعار اللغة كوب قهوة ساخن!

الفكرة العبقرية: اكتب مرة وشغّل في أي مكان

Section titled “الفكرة العبقرية: اكتب مرة وشغّل في أي مكان”

في الماضي، إذا كتبت برنامجاً لويندوز، كان عليك أن تعدّله ليعمل على ماك أو لينكس. Java حلت هذه المشكلة بفكرة ذكية:

  1. تكتب الكود في ملف .java.
  2. المترجم يحوّله إلى لغة وسيطة اسمها Bytecode، وليس إلى لغة جهاز معين.
  3. على أي جهاز، برنامج اسمه JVM (آلة Java الافتراضية) يقرأ الـ Bytecode وينفّذه.

تخيّل أنك كتبت كتاباً بلغة عالمية مبسطة، ثم في كل دولة يوجد مترجم محلي (JVM) يقرأ الكتاب لأهلها بلغتهم. أنت تكتب الكتاب مرة واحدة، وهو يُقرأ في كل مكان فيه مترجم. ولهذا شعار Java الشهير: «Write Once, Run Anywhere».

  • أنظمة الشركات الكبيرة: البنوك وشركات التأمين والاتصالات تعتمد عليها لثباتها وأمانها.
  • تطبيقات الخادم: عبر أطر عمل قوية مثل Spring.
  • أندرويد: لسنوات طويلة كانت اللغة الأساسية لتطبيقات أندرويد، وما زالت ملايين التطبيقات مكتوبة بها، رغم أن Kotlin أصبحت اللغة المفضلة الآن.
  • الألعاب: لعبة Minecraft الشهيرة كُتبت نسختها الأصلية بـ Java.
  • البيانات الضخمة: أدوات معالجة البيانات الكبيرة في الشركات.
Main.java
public class Main {
public static void main(String[] args) {
System.out.println("Hello, Java!");
}
}
الناتج
Hello, Java!

قد يبدو طويلاً لبرنامج يطبع جملة واحدة، لكن لكل كلمة معنى:

  • public class Main: في Java، كل كود يعيش داخل كلاس. وهذا الكلاس اسمه Main، ويجب أن يطابق اسم الملف Main.java.
  • public static void main(String[] args): الدالة الرئيسية التي يبدأ منها البرنامج. ستفهم كل كلمة فيها تدريجياً: public تعني «متاحة للجميع»، و void تعني «لا تُرجع شيئاً».
  • System.out.println(...): تطبع النص ثم تنتقل لسطر جديد. اقرأها: «من النظام، عبر المخرج، اطبع سطراً».
  • ; في نهاية الأمر إلزامية.

Java لغة صارمة في الأنواع: يجب أن تحدد نوع كل متغير:

Main.java
public class Main {
public static void main(String[] args) {
String name = "Sara";
int age = 14;
System.out.println("Name: " + name + ", Age: " + (age + 1));
}
}
الناتج
Name: Sara, Age: 15
  • String (بحرف S كبير) للنصوص، و int للأعداد الصحيحة.
  • العلامة + تلصق النصوص بالقيم.
  • لاحظ الأقواس حول (age + 1): بدونها كانت Java ستلصق 14 ثم 1 فتطبع 141!
  1. ثبّت JDK (Java Development Kit)، وهو يحتوي على المترجم و JVM. يمكنك تنزيل نسخة مجانية مثل OpenJDK.
  2. احفظ الكود في ملف Main.java.
  3. ترجمه ثم شغّله:
نافذة طرفيّة
javac Main.java
java Main

الأمر javac يترجم الكود إلى Bytecode في ملف Main.class، والأمر java يشغّله على JVM. وفي الإصدارات الحديثة يمكنك أن تشغّل الملف مباشرة بـ java Main.java.

اكتب برنامج Java يطبع بطاقة طالب:

الناتج
Student: Mariam
Grade: 9
Score: 87
Passed: true

استخدم String للاسم، و int للصف والدرجة، و boolean لحالة النجاح بالقيمة score >= 50.

  • اختلاف اسم الكلاس عن اسم الملف: إذا كان الكلاس public class Main، فيجب أن يكون الملف Main.java بالضبط.
  • كتابة string بحرف صغير: في Java النوع String بحرف S كبير.
  • نسيان الفاصلة المنقوطة أو الأقواس: Java صارمة، وأي قوس ناقص يمنع الترجمة.

سؤال

ما وظيفة JVM في Java؟

سؤال

إذا كان الكود public class Hello، فما اسم الملف الصحيح؟

  • Java لغة كائنية من 1995، ومنتشرة جداً في الشركات والأنظمة الكبيرة.
  • فكرتها: الكود يتحول إلى Bytecode تشغّله JVM على أي جهاز.
  • كل كود يعيش داخل كلاس، والبرنامج يبدأ من public static void main.
  • System.out.println للطباعة، والأنواع صارمة مثل String و int.
  • javac للترجمة و java للتشغيل، وتحتاج تثبيت JDK.