فهم المتغيرات من الصفر: ما هي؟ لماذا نحتاجها؟ وما الفرق بين الأنواع المختلفة؟
ما هو المتغير؟
المتغير في البرمجة يشبه صندوقاً له اسم — نضع بداخله قيمة ونستخدم اسمه في أي مكان بدل تكرار القيمة. في Java لا يكفي أن تقول "هذا متغير"، بل يجب أن تحدد نوع القيمة التي سيخزنها.
الصندوق
المتغير = مكان في الذاكرة يحفظ القيمة
الاسم
كل متغير له اسم نختاره نحن للوصول إليه
النوع
Java تطلب تحديد نوع القيمة مسبقاً
كيف تكتب متغيراً في Java؟
صيغة كتابة المتغير في Java تتبع دائماً هذا الترتيب:
// الصيغة العامة
نوع_البيانات اسم_المتغير = القيمة ;
int ① النوع أولاً
age ② ثم الاسم
= ③ ثم المساواة
25; ④ ثم القيمة ;
الفاصلة المنقوطة ; في النهاية إلزامية في Java — بدونها سيظهر خطأ في الكود.
أنواع البيانات الأساسية في Java
Java لغة Strongly Typed — يعني كل متغير يجب أن يعرف نوعه من البداية. إليك أهم الأنواع:
int الأعداد الصحيحة يُستخدم لتخزين الأرقام الكاملة بدون فاصلة — مثل العمر، العدد، الرقم.
int age = 25; double الأعداد العشرية يُستخدم لتخزين الأرقام التي تحتوي على فاصلة عشرية — مثل السعر، الراتب، الدرجة.
double salary = 4500.50; String النصوص يُستخدم لتخزين النصوص والكلمات — يجب وضعها دائماً بين علامتي اقتباس.
String name = "Ahmed"; boolean القيم المنطقية يقبل قيمتين فقط: true أو false — يُستخدم في الشروط والقرارات.
boolean isStudent = true; مثال متكامل — كل الأنواع مع بعض
دعنا نكتب برنامجاً يعرّف بيانات طالب باستخدام جميع الأنواع:
// بيانات الطالب int age = 20; double gpa = 3.75; String name = "Ahmed Ali"; boolean isStudent = true; // طباعة البيانات System.out.println("الاسم: " + name); System.out.println("العمر: " + age); System.out.println("المعدل: " + gpa); System.out.println("طالب؟ " + isStudent);
الناتج (Output)
الاسم: Ahmed Ali العمر: 20 المعدل: 3.75 طالب؟ true
علامة + في الطباعة تُستخدم لدمج النص مع قيمة المتغير — تُسمى String Concatenation.
متى تستخدم كل نوع؟
| النوع | يُستخدم لـ | مثال | لا يصلح لـ |
|---|---|---|---|
int | أعداد صحيحة | age = 25 | الأرقام العشرية |
double | أعداد عشرية | price = 9.99 | النصوص |
String | نصوص وكلمات | name = "Ali" | العمليات الحسابية |
boolean | صحيح / خطأ | isActive = true | الأرقام والنصوص |
أخطاء شائعة عند المبتدئين ⚠️
هذه أكثر الأخطاء التي يقع فيها المبتدئون — احفظها لتتجنبها:
نسيان الفاصلة المنقوطة ;
❌ خطأ
int age = 25 ✅ صحيح
int age = 25; نسيان علامات الاقتباس في النصوص
❌ خطأ
String name = Ahmed; ✅ صحيح
String name = "Ahmed"; استخدام نوع خاطئ للقيمة
❌ خطأ
int x = 2.5; 2.5 عشري وليس صحيح
✅ صحيح
double x = 2.5; Java حساسة لحالة الأحرف (Case Sensitive)
❌ خطأ
string name = "Ali"; ✅ صحيح
String name = "Ali"; String بحرف S كبير — string بحرف صغير خطأ!
بحسب خبرتي: اختيار النوع الصحيح قرار مهم
في لغة مثل Java حيث كل متغيّر يجب أن يعرف نوعه، يصبح اختيار النوع الصحيح قرارًا فعليًا لا تفصيلًا شكليًا. من خبرتي، اختيار نوع غير مناسب يسبّب أخطاءً صامتة يصعب تتبّعها لاحقًا.
أهم نصيحة سأعطيك إياها هنا: لا تستخدم double أو float لتخزين المبالغ المالية أبدًا. هذه الأنواع تقريبية بطبيعتها، فقد يظهر لك ناتج غريب مثل 0.30000000000000004 بدل 0.3. تعلّمت هذا الدرس بالطريقة الصعبة. للأموال الدقيقة استخدم أنواعًا مخصّصة للأرقام العشرية الدقيقة، أو احسب بالقروش كأعداد صحيحة.
والقاعدة العامة من تجربتي: اختر أصغر نوع يكفي حاجتك، وسمِّ المتغيّر باسم يصف محتواه بوضوح — فالاسم الجيد يغنيك عن نصف التعليقات، ويجعل من يقرأ كودك بعدك (وأنت أوّلهم بعد أسابيع) يفهمه دون عناء.
📋 ملخص الدرس
المتغير = صندوق يحفظ قيمة في الذاكرة
الصيغة: نوع اسم = قيمة;
4 أنواع أساسية: int · double · String · boolean
الفاصلة المنقوطة ; إلزامية في نهاية كل سطر
⏭️ في الدرس القادم:
سنستخدم المتغيرات داخل الشروط if/else والحلقات for/while — وهنا يبدأ البرنامج "يفكر" فعلاً! 🚀