الدرس(6): أنواع البيانات الأساسية (Primitive Data Types)
رقم الدرس6
آخر تحديث2025/07/14
تقدم القراءة
الدرس السادس: فن اختيار الحاوية المناسبة
لماذا تجبرك لغة قوية مثل جافا على استخدام أربعة أنواع مختلفة لتخزين رقم بسيط مثل 10؟ أليست هذه تعقيدات لا داعي لها؟ هذه هي النظرة السطحية التي يقع فيها أغلب المبتدئين. الحقيقة هي أن هذا ليس تعقيدًا، بل هو فن الدقة والكفاءة. إنه نفس السبب الذي يجعلك لا تستخدم شاحنة نقل عملاقة لشراء علبة حليب من المتجر. اليوم، لن تتعلم مجرد قائمة بأنواع البيانات؛ بل ستكتشف عقلية المبرمج المحترف الذي يختار الأداة المناسبة تمامًا للمهمة، موفرًا بذلك الذاكرة والطاقة ويمنع الأخطاء الكارثية قبل حدوثها.
ماذا ستتقن في هذا الدرس؟
فهم لماذا توجد أنواع بيانات متعددة لنفس الشيء (مثل الأرقام).
التمييز بين أنواع البيانات الصحيحة (Integer) والعشرية (Floating-Point).
التعرف على الأنواع الأساسية الثمانية (Primitive Types) واستخداماتها الشائعة.
اختيار نوع البيانات الأنسب لكل موقف لتحقيق الكفاءة والدقة.
فهم الفرق بين char و String.
الفصل الأول: مشكلة الحاوية الواحدة
1
لماذا لا نستخدم صندوقًا واحدًا لكل شيء؟
في الدرس الماضي، تعلمنا عن المتغيرات كـ “صناديق” في الذاكرة. ولكن ماذا لو كانت كل الصناديق في ورشتك بحجم حاوية شحن ضخمة؟
لتخزين ريشة (رقم صغير): ستستخدم حاوية ضخمة، مما يهدر 99.9% من المساحة. هذا هو إهدار الذاكرة.
لتخزين سائل (رقم عشري): ستضعه في حاوية غير محكمة، فيتسرب السائل وتفقد الدقة. هذا هو فقدان البيانات.
لهذا السبب، توفر لك جافا مجموعة متخصصة من الحاويات (أنواع البيانات) مصممة بدقة لتناسب كل نوع من أنواع البيانات. هذه هي أنواع البيانات الأساسية (Primitive Data Types).
أنواع البيانات الأساسية (Primitive Data Types)
هي أبسط أنواع البيانات وأكثرها جوهرية في جافا. إنها اللبنات الأساسية التي تُبنى عليها أنواع البيانات الأكثر تعقيدًا. هناك ثمانية أنواع أساسية فقط.
الفصل الثاني: عائلة الأرقام الصحيحة (The Integer Family)
2
حاويات للأرقام الكاملة
هذه هي الحاويات المخصصة للأرقام التي لا تحتوي على فاصلة عشرية، مثل -5، 0، 42. تختلف فقط في حجمها (مقدار الذاكرة التي تشغلها) ونطاق الأرقام التي يمكنها تخزينها.
byte: كوب صغير جداً. للأرقام الصغيرة جداً (من -128 إلى 127). نادر الاستخدام إلا لتوفير الذاكرة القصوى.
short: كوب عادي. للأرقام القصيرة (حوالي -32,000 إلى 32,000).
int: الإبريق القياسي. هذا هو خيارك الافتراضي لمعظم الأرقام الصحيحة (حوالي -2 مليار إلى 2 مليار). إذا كنت في شك، استخدم int.
long: خزان مياه ضخم. للأرقام الفلكية الضخمة جداً. يجب أن تضيف حرف L في نهاية الرقم لتمييزه.
جرب بنفسك تعريف هذه الأنواع. ماذا يحدث لو حاولت وضع رقم كبير في حاوية صغيرة؟
اضغط على "تشغيل" لعرض النتيجة هنا.
رسائل النظام ستظهر هنا.
جاهز
السطر 1, العمود 1
الفصل الثالث: أدوات القياس الدقيقة والبوابات المنطقية
3
للعشريات، الحروف، والمنطق
هذه هي بقية الأدوات في صندوقك الأساسي.
للأرقام العشرية (Floating-Point Numbers):
float: مسطرة قياس عادية. توفر دقة عادية. يجب أن تضيف حرف f في النهاية.
double: أداة قياس ليزرية. توفر دقة مضاعفة وهي النوع الافتراضي للأرقام العشرية. إذا كنت في شك، استخدم double للأرقام العشرية.
للحروف (Characters):
char: صندوق صغير جداً لحرف واحد فقط. يستخدم لتخزين حرف واحد أو رمز واحد، ويوضع بين علامتي اقتباس مفردتين ‘ ‘.
للمنطق (Logic):
boolean: مفتاح كهربائي (ON/OFF). هو أبسط نوع على الإطلاق. يمكنه تخزين قيمتين فقط: true (صحيح) أو false (خطأ). لا يوضع بين علامات اقتباس.
شاهد كيف نستخدم هذه الأنواع المختلفة معاً.
اضغط على "تشغيل" لعرض النتيجة هنا.
رسائل النظام ستظهر هنا.
جاهز
السطر 1, العمود 1
char مقابل String
لا تخلط بينهما! char (نوع أساسي) يستخدم لحرف واحد فقط ويوضع بين علامات اقتباس مفردة (‘A’). أما String (وهو ليس نوعاً أساسياً، بل كلاس) فيستخدم لسلسلة من الحروف ويوضع بين علامات اقتباس مزدوجة (“Alice”).
أي نوع بيانات هو الأنسب لتخزين متغير يمثل ما إذا كان المستخدم قد قام بتسجيل الدخول أم لا؟
التفسير:
السؤال هنا هو سؤال منطقي (نعم/لا)، وقيمته إما صحيحة (قام بالتسجيل) أو خاطئة (لم يقم بالتسجيل). نوع البيانات boolean مصمم خصيصاً لتخزين قيم true أو false.
خلاصة رحلة اليوم
لقد تجاوزت اليوم مرحلة المبرمج المبتدئ الذي يستخدم int لكل شيء. أنت الآن تفكر كمهندس برمجيات يختار أدواته بعناية. تعلمت أن لكل نوع من البيانات حاوية مصممة خصيصاً له، وأن اختيار الحاوية المناسبة ليس مجرد تفضيل، بل هو أساس كتابة كود فعال، دقيق، وخالٍ من الأخطاء. لقد ملأت صندوق أدواتك بالأنواع الأساسية الثمانية، وأصبحت جاهزاً للتعامل مع أي نوع من المعلومات البسيطة.
الخطوة القادمة
الآن بعد أن أصبحت لديك حاويات (متغيرات) من جميع الأشكال والأحجام، وملأتها بالبيانات القيمة، كيف تعرض هذه الكنوز بطريقة منسقة وجميلة؟ في الدرس القادم، سنتعمق في فن الإخراج والطباعة على الكونسول (Printing to Console). سنتعلم حيل System.out.println() و System.out.print() وكيفية دمج النصوص مع المتغيرات لعرض معلومات مفيدة للمستخدم.