أول برنامج Java | Hello World
سنكتب أول برنامج عملي بلغة Java مع شرح مفصّل لكل كلمة وسطر — ولماذا نكتبها بالضبط.
ما هو Hello World؟
في هذا الدرس سنكتب أول برنامج عملي بلغة Java. هدفه ليس تعلّم كل شيء، بل التأكد من أن البيئة تعمل وفهم البنية الأساسية لأي برنامج Java.
تقليديًا يُسمى هذا البرنامج Hello World لأنه يطبع عبارة بسيطة على الشاشة — وهو أول برنامج يكتبه كل مبرمج في العالم!
public class Myfile { public static void main(String[] args) { System.out.println("Hello World"); } }
الناتج عند التشغيل:
Hello World
الكلاس (Class) — هيكل البرنامج
الكلاس هو قالب أو مخطط — تخيّله كوعاء تضع بداخله كل كود البرنامج. في Java كل كود يجب أن يكون داخل كلاس، لا يمكنك كتابة أي كود خارجه.
📦 ما هو الكلاس؟
الكلاس هو الهيكل الأساسي في Java — يحتوي المتغيرات والدوال. سنفهم الكائنات (Objects) لاحقاً، لكن الآن تذكّر: لا برنامج بدون كلاس.
📝 قواعد تسمية الكلاس
- ✓يبدأ بحرف كبير:
MyClass - ✓اسم الملف يطابق اسم الكلاس تماماً
- ✗لا مسافات ولا رموز خاصة في الاسم
لتعريف كلاس نكتب الكلمة المحجوزة public class ثم اسم الكلاس ثم الأقواس المعقوفة { }:
public class Myfile {
// الكود يُكتب هنا بداخل الأقواس
}
اسم الملف يجب أن يكون نفس اسم الكلاس بالضبط مع الامتداد .java — مثلاً: الكلاس اسمه Myfile فالملف يجب أن يُحفظ باسم Myfile.java
دالة main — نقطة بداية البرنامج
دالة main هي نقطة البداية — عند تشغيل البرنامج يبحث نظام Java عنها أولاً ويبدأ التنفيذ منها. بدونها لن يشتغل البرنامج أبداً.
// شكل دالة main دائماً
public static void main ( String [] args) { }
قبل فهم كل كلمة، يجب معرفة مفهوم الكلمات المحجوزة (Keywords) — وهي كلمات لها معنى خاص في Java ويجب كتابتها كما هي بدون تغيير، ولا يمكن استخدامها كأسماء للمتغيرات أو الكلاسات.
public
كلمة محجوزة — Keyword
تعني أن هذه الدالة مرئية ويمكن الوصول إليها من أي مكان في البرنامج.
static
كلمة محجوزة — Keyword
تعني أنه يمكن تشغيل هذه الدالة بدون إنشاء كائن (Object) من الكلاس — وهذا ضروري لأن Java تحتاج تشغيل البرنامج مباشرة.
void
كلمة محجوزة — Keyword
تعني أن هذه الدالة لا تُرجع أي قيمة — تنفذ المهمة وتنتهي بدون إرجاع نتيجة.
main
اسم الدالة الأساسية
هذا الاسم ثابت لا يتغير — Java تبحث عن دالة اسمها main تحديداً لبدء التشغيل.
String[]
args
معامل الدالة (Parameter)
مصفوفة نصية تستقبل قيماً من سطر الأوامر عند التشغيل. في معظم البرامج البسيطة لن تستخدمها، لكنها يجب أن تُكتب دائماً.
شرح الكود سطراً سطراً 🔍
دعنا نفكّك البرنامج ونفهم كل جزء منه بالتفصيل:
public class Myfile { ← السطر 1 public static void main(String[] args) { ← السطر 2 System.out.println("Hello World"); ← السطر 3 } ← السطر 4 } ← السطر 5
public class Myfile {
تعريف كلاس اسمه Myfile. القوس المفتوح { يُحدد بداية محتوى الكلاس.
public static void main(...) {
تعريف دالة main — نقطة بداية تنفيذ البرنامج. Java تبحث عن هذا السطر بالضبط لتبدأ تشغيل برنامجك.
System.out.println("Hello World");
أمر الطباعة — يطبع النص الموجود بين علامتي الاقتباس على الشاشة. لنفهم كل جزء:
System
كلاس النظام في Java
out
يمثّل الإخراج (الشاشة)
println
اطبع + سطر جديد
} }
قوسان لإغلاق: الأول يغلق دالة main، والثاني يغلق الكلاس Myfile. كل قوس مفتوح { يجب أن يُغلق بـ }.
println مقابل print — ما الفرق؟
في Java يوجد أمران للطباعة — كثير من المبتدئين يخلطون بينهما:
println
print + new line
يطبع النص ثم ينتقل تلقائياً لسطر جديد.
System.out.println("مرحبا");
System.out.println("عالم");
Output:
مرحبا
عالم
print
بدون سطر جديد
يطبع النص فقط بدون الانتقال لسطر جديد.
System.out.print("مرحبا");
System.out.print("عالم");
Output:
مرحباعالم
متطلبات تشغيل برامج Java — تثبيت JDK
بدون JDK لن يعمل أي برنامج Java
JDK (Java Development Kit) هو الأداة الأساسية التي تسمح لك بكتابة وتجميع وتشغيل برامج Java — يجب تثبيته أولاً على جهازك.
تحميل JDK
اذهب إلى الموقع الرسمي لـ Oracle وحمّل JDK المناسب لنظام تشغيلك:
🔗 oracle.com/java/technologies/downloadsاختر نظام تشغيلك
تجميع وتشغيل البرنامج من CMD
بعد حفظ الكود في ملف Myfile.java، افتح موجه الأوامر (CMD) وتنقّل لمجلد الملف:
أخطاء شائعة يجب الانتباه لها ⚠️
هذه أكثر الأخطاء التي يقع فيها المبتدئون في أول برنامج:
اسم الملف لا يطابق اسم الكلاس
❌ خطأ
ملف: myfile.java
كلاس: Myfile
✅ صحيح
ملف: Myfile.java
كلاس: Myfile
نسيان الفاصلة المنقوطة ;
❌ خطأ
System.out.println("Hi")
✅ صحيح
System.out.println("Hi");
كتابة النص بدون علامات اقتباس
❌ خطأ
println(Hello World);
✅ صحيح
println("Hello World");
نسيان إغلاق الأقواس
كل قوس مفتوح { يجب أن يُغلق بـ } — تأكد من أن عدد الأقواس متساوٍ في البرنامج.
📋 ملخص الدرس
كل برنامج Java يحتاج كلاس ودالة main
System.out.println() يطبع نصاً على الشاشة
اسم الملف يجب أن يطابق اسم الكلاس تماماً
تجميع: javac ثم تشغيل: java
⏭️ في الدرس القادم:
سنتعلم المتغيرات وأنواع البيانات — كيف نخزّن الأرقام والنصوص والقيم المنطقية في برامجنا.