شرح أنواع المتغيرات والبيانات الأولية في جافا

هل ترغب بالتعرف على أنواع البيانات الأولية Primitive Data Types بجافا؟ هيا بنا نتعرف على هذه الأنواع في هذه التدوينة.
من أساسيات تعلم إنشاء البرامج التعرف على المتغيرات و أنواعها و طرق إنشاءها، لم يكُن تعلمها من الأساسيات إلا لسبب ما، قبل التعرف على السبب دعني أعرف على المتغير نفسه، ما هو المتغير.

المتغير هو وعاء تضع فيه قيمة معينة فيحتفظ بهذه القيمة إلى حين حوجتك لإستخدام المتغير مرة أخرى، القيمة التي يحتفظ بها قد تكون رقماً أو حرفاً أو جملة أو ملفاً أو صورة أو غيرها من الكائنات التي تعرفها بالحاسب.

المتغير هو وعاء يحتوي على الكائن أو القيمة التي ترغب بحفظها، و لكن أين يقع هذا الوعاء؟ يقع هذا الوعاء بذاكرة الحاسب العشوائية RAM.

و هذا يعني أنه كلما كثر عدد المتغيرات في برنامج ما ازدادت المساحة المحجوزة في ذاكرة الحاسب من قبل هذا البرنامج.

من هنا تبدأ معالم أهمية التعرف على أنواع البيانات في الجافا تتضح.

كما أسلفنا الذكر، فهناك أنواع مختلفة من البيانات بإمكانك أن تضعها في متغيرات، قد تكون رقماً أو جملة مثلاً، فهل من العدل أن تحجز بالذاكرة مكاناً يسع جملة من أجل رقم واحد؟

ستتساءل لماذا لا نحجز مكاناً يكفي فقط لما أرغب بحجزه، إذا رغبت بتعريف متغير ليحفظ لي رقماً لمَ لا أحجز بالذاكرة مكاناً يكفي لرقم فقط، لا أكثر ولا أقل؟!!

سؤال منطقي، و الإجابة عليه في هيكلة الجافا التي تتطلب أن تُعرف أولاً ما هو نوع المتغير الذي ترغب بإنشاءه، ثم بعد ذلك تضع به القيمة التي ترغب بحفظها، هكذا تعمل الجافا.

بنهاية هذه التدوينة ستعرف ما هي أنواع البيانات الأولية بالجافا، ما هي قدرة إحتمال كُل نوع من أنواع البيانات و متى يُفضل إستخدام نوع البيانات هذا، مع شيء من الخبرة بعد مشاهدة أمثلة على حدود احتمال المتغير.

طريقة تعريف المتغيرات بشكل سريع واحدة و سهلة، هذا هيكلها

DataType Name = Value;

‌‌

byte Data Type

  • تعريف: هو متغير رقمي يستطيع الإحتفاظ بالأرقام فقط و أصغر أنواع البيانات الرقمية الصحيحة و غير الصحيحة.
  • الحجم: من إسمه يظهر حجمه، byte يحجز 1 بايت من الذاكرة بالضبط.
  • حدود إحتمال المتغير: من الممكن إسناد القيم إبتداءً من [-128 إلى 127].
  • //أمثلة
            byte b = 0;             //صحيح
            byte age = 127;         //صحيح
            byte negative = -10;    //صحيح
            byte theEnd = -128;     //صحيح
            byte wrong = 128;       //خاطئ لأنه تعدى الحد الأقصى الموجب 
            byte wrongAlso = -129;  // خاطئ لأنه تعدى الحد الأقصى السالب
  • متى يُستخدم: من الممكن إستخدام نوع البيانات byte للأرقام الصغيرة و التي لا تتعدى حدود احتماله الدنيا و القصوى، و هو مدى ليس بكبير لذا يقل استخدام نوع البيانات byte في البرامج.
    • عند قراءة الخيارات من المستخدم و التي تتراوح بين 1 إلى 9.
    • عند تعريف عمر طفل.
    • لتسجيل عدد المسافرين في سيارة.
    • لقراءة عدد أيام الأسبوع أو الشهر.

short Data Type

  • تعريف: هو متغير رقمي أيضاً و يعتبر ثاني أصغر أنواع البيانات الرقمية الصحيحة.
  • الحجم: يمثل ضعف حجم الـ byte و هو 2 byte.
  • حدود إحتمال المتغير: بإستطاعته تخزين الأرقام التي تتراوح بين [ -32,768 إلى 32,767].
  • //أمثلة
            short s = 0;                    //صحيح
            short cash = 32000;             //صحيح
            short netativeLimit = -32768;   //صحيح
            short positiveLimit = 32767;    //صحيح
            short wrongA = 33000;           //خاطئ لأنه تعدى الحد الأقصى الموجب 
            short wrongB = -32769           // خاطئ لأنه تعدى الحد الأقصى السالب
  • متى يُستخدم: يُعتبر مدى نوع البيانات short معقولاً إلى حد ما ولكنه صغير في عالم البيانات، و لكن من الممكن إستخدامه في أحوال كثيرة مقارنة بالـ byte مثل.
    • تعريف عدد الأيام المنقضية في السنة.
    • تسجيل مبلغ الرسوم الدراسية لفصل دراسي.
    • حساب حجم شاشة الحاسب بالبيكسل.

int Data Type

  • تعريف: متغير رقمي أيضاً و هو أكثر المتغيرات الرقمية الصحيحة إستخداماً في الجافا.
  • الحجم: 4 بايت.
  • حدود إحتمال المتغير: يتراوح مدى المتغير int بين [ -2,147,483,648 إلى 2,147,483,647 ].
  • //أمثلة
            int i = 1;                          //صحيح
            int income = 1500777991;            //صحيح
            int withdraw = -2000987;            //صحيح
            int positiveLimit = 2147483647;     //صحيح
            int negativeLimit =  -2147483648;   //صحيح
            int wrongA = 2147483648;            //خاطئ لأنه تعدى الحد الأقصى الموجب 
            int wrongB = -2147483649;           // خاطئ لأنه تعدى الحد الأقصى السالب
  • متى يُستخدم: من أكثر المتغيرات إستخداماً لمداها المعقول ولأن أغلب المتغيرات في الحياة يكون لها مدى كبير، و من الممكن أن يُستخدم في الحالات التالية
    • تعريف عدد الدقائق التي عاشها الإنسان.
    • تعريف مبلغ الدخل اليومي لشركتك. أتمنى لك ذلك.
    • تعريف عداد سيارة متحركة.

تعريف أنواع البيانات في جافا

long Data Type

  • تعريف: أكبر المتغيرات الصحيحة في الجافا، إذا تعدى المتغير مدى نوع البيانات long عندها لا بد من التحول إلى نوع البيانات غير الصحيحة.
  • الحجم: يحجز 8 بايت في الذاكرة، أي ضعف نوع اليبانات السابق int.
  • حدود إحتمال المتغير: حاول قراءة الرقم؟ ، المدى يتراوح بين [ -9,223,372,036,854,775,808 إلى 9,223,372,036,854,775,807 ].
  • //أمثلة
            long i = 1L;                          //صحيح
            long income = 1500777991L;            //صحيح
            long withdraw = -2000987L;            //صحيح
            long positiveLimit = 2147483647L;     //صحيح
            long negativeLimit =  -2147483648L;   //صحيح
            long wrongA = 9999999992147483648L;   //خاطئ لأنه تعدى الحد الأقصى الموجب 
            long wrongB = -9999999992147483649L;  // خاطئ لأنه تعدى الحد الأقصى السالب
  • متى يُستخدم: عندما تتوقع نمواً مضطرداً في البيانات و قراءة أرقام كبيرة جداً مثل هذه الحالات.
    • تعريف متغير للمسافة بين الكواكب.
    • تعريف متغيرات إحصائية للدول.
    • حساب منصرفات و مدخولات الدول لسنين.

float Data Type

  • تعريف: متغير رقمي عشري، أصغر نوع بيانات رقمي عشري.
  • الحجم: حجمه مماثل لـ int و هو 4 بايت، ولكن حدوده تختلف كثيراً نسبة لإختلاف طريقة التخزين.
  • حدود إحتمال المتغير: حدود نوع البياناتfloat أكبر من الـ int و الـ long و هي تقع في المدى [ ±3.40282347E+38F ].
  • //أمثلة
            float f = 99999999999999999999999999999999999999F; //صحيح
            float dec = 0.12345679F;            //صحيح
            float negative = -999999F;            //صحيح
            float positiveLimit = 2147483647L;     //صحيح
            float negativeLimit =  -2147483648L;   //صحيح
            float wrongA = 999999999999999999999999999999999999999F;   //خاطئ لأنه تعدى الحد الأقصى الموجب 
            float wrongB = "a";  // خاطئ لأن نوع البيانات ليس رقمي
  • متى يُستخدم: يستخدم نوع البيانات float مع المتغيرات العشرية، وفق الحاجة العامة للبرامج فنوع البيانات float يكفي لأغلب الإستخدامات، من هذه الإستخدامات
    • تخزين المبالغ الكسرية.
    • تخزين النتائج الرياضية.
    • قياس الأطوال المساحية.

double Data Type

  • تعريف: نوع البيانات double يستخدم أيضاً مع المتغيرات العشرية، و لكنه يمثل ضعف نوع البيانات float.
  • الحجم: يحجز نوع البيانات double مساحة 8 بايت بالذاكرة.
  • حدود إحتمال المتغير: نوع البيانات double تحمل أكبر قيمة من بين أنواع البيانات الأولية، إذا لم يتحمل نوع البيانات double القيمة فلن تجد نوع بينات أولي يتحملها، و حدود إحتمال المتغير هي في المدى [ ±1.79769313486231570E+308 ]
  • //أمثلة
            double d = -0.55555555;                         //صحيح
            double income = 1234567890123456789012345678901234567890d;            //صحيح
            double withdraw = -2000987L;            //صحيح
            double takeLong = 2147483647L;     //صحيح
            double takeNegativeLong =  -2147483648L;   //صحيح
            double wrongA = 123456789012345678901234567890123456789012345678901234567890d;   //صحيح 
              // حاول أن تحسب اقصى عدد من الأرقام
  • متى يُستخدم: يُستخدم إما عند التعامل مع متغيرات الكسور العشرية الكبيرة، أو عند التعامل مع رقم صحيح لم يستطع نوع البيانات long تحمله.

char Data Type

  • تعريف: هو نوع بيانات حرفي، أي يعرف حرفاً واحداً فقط.
  • الحجم: جميع الحروف من الممكن تمثيلها عن طريق 2 بايت، لذا فنوع البيانات char يحجز 2 بايت فقط من الذاكرة.
  • حدود إحتمال المتغير: لأن التعامل مع الحروف لا يحتاج التعامل مع رقم سلبي لأن الحروف يتم تمثيلها بأرقام موجبة دائماً، فمدى تحمل نوع البيانات char هو [ 0 إلى 65,536].
  • //أمثلة
            char c=95;            //صحيح
            char a = 'a';         //صحيح
            char arabic = 'أ';    //صحيح
            char space = ' ';     //صحيح
            char wrongA = 100000;   //خاطئ لأنه تعدى الحد الأقصى  
            char wrongB = '\';  // خاطئ لأنها علامة محجوزة من الجافا
  • متى يُستخدم: يستخدم عند الحوجة لتعريف حرف واحد فقط مثل
    • تعريف وقت الساعة ص أو م.
    • تعريف نوع التاريخ هـ أو م.
    • تعريف حروف لوحات السيارات.

boolean Data Type

  • تعريف: هو نوع بيانات منطقي، أي يتعامل مع القيمة المنطقية فقط و بما أن المنطق دوماً فله قيمتان فقط، صحيح أو خطأ.
  • الحجم: رغماً عن أنها تمثل بت واحد فقط [ إما 0 أو 1 ] و لكن حجمها الذي تحجزه بالذاكرة غير معرف من قبل الجافا، وذاك أن الحجم المحجوز لنوع البيانات boolean يختلف بإختلاف الحاسب و البيئة الإفتراضية JVM.
  • حدود إحتمال المتغير: نوع البيانات boolean يستقبل قيمة منطقية تُمثل إما بـ [ true أو false ]. ولا توجد قيمة أخرى من الممكن إسنادها لنوع البيانات boolean.
  • //أمثلة
            boolean b = false;        //صحيح
            boolean test = true;      //صحيح
            boolean wronA = no;       //خاطئ
            boolean wrongB = yes;     //خاطئ
  • متى يُستخدم: يستخدم بكثرة في البرامج لأن البرامج تعتمد على المنطق، وذلك مثل:
    • وسيلة شهيرة جداً للخروج من الحلقات التكرارية.
    • معرفة هل أدخل المستخدم قيمة صحيحة أم لا.
    • الإستعانة بمتغير يحمل القيمة false إلا إذا حدث تغير معين أثناء البرنامج.

هذه الأنواع التي استعرضناها في هذه التدوينة هي الأنواع الأولية للجافا، ولكن هناك نوع آخر من أنواع البيانات هي أنواع البيانات المرجعية، و التي تأتي وفقاً للصنف. ليست محور حديثنا ولكن من الجيد أن تعرف أن هناك نوعاً آخر من أنواع البيانات بالجافا.

مصطفى الطيب

صديقٌ لنُظمِ المعلُومات و عُلومِ الحَاسِب و مُختصٌ بهما، مُحبٌ للعِلمِ و نَشرِه. أُشاركُ معارفي و تَجاربي و خِبراتي في تَدويناتٍ و دوراتٍ من خلال مُدونةِ عُلوم.

‫11 تعليقات

  1. بارك الله فيك اخي الكريم
    شرح اكثر من رائع
    اتمنى منك المواصلة في الشرح
    هل لديك استاذ مصطفى كتاب كامل عن الجافا من تألبفك وشكرا جزيلا لك

  2. شكرا لك اخي مصطفى علي الشرح والله يوفقك استمر
    عندي سؤال
    لو اكملت الجافا شو هيا الاشياء الاساسيه الاخرى التي يجب تعلمها
    وشكرا مره اخرى

    1. مرحباً بك أخي نادر،
      الشكر لك لقضاء وقتك بين طيات مدونة علوم، مما يسعدني حتماً.

      لا يوجد شيء “يجب” أن تتعلمه، لغاتُ البرمجة هي أدوات تستطيع تعلمها لتحقيق هدف محدد، مثل إنشاء نوع معين من التطبيقات أو هكذا.
      أنصحك بقراءة ما كتبته عن تعلم لغات البرمجة و إختيار لغة البرمجة ستجد فيهما تفصيلاً كافياً داعماً لمسيرتك القادمة.

  3. بارك الله فيك على هذا الشرح المميز
    أردت أن أستفسر عن الرموز التي استخدمتها مع الأرقام الكبيرة (E,F,L). هل بإمكانك شرحها لي ؟ أو أن تدلني على مرجع يقوم بشرحها ؟

    1. مرحباً هاجر،
      أعتقد أنك تقصدين الحروف المستخدمة في نهاية الأرقام مثل (1500777991L) في حالة Long و (99999999999999999999999999999999999999F) في حالة Float.
      هذين الحرفين يعرّفان نوع الرقم. ففي الحالة الأولى تعني أن الرقم Long والثانية تعني أنه Float. هذا هو كل ما في الأمر

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق