شرح تعريف المتغيرات في جافا و كيف يكوّن الحاسوب ذكرياته

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

يتكون الحاسوب من ثلاث أنواع وحدات أساسية:

  • وحدة الإدخال Input Unit.
  • وحدة المعالجة المركزية CPU.
  • وحدة الإخراج Output Unit.

وحدات الحاسوب - الأساسية - المتغيرات

يُوجدُ ضمن وحدة المعالجة المركزية CPU جزءٌ أساسي من أجزاء الذاكرة الرئيسية يسمى بـ الذاكرة.

وجودُ الذاكرة ضروري في وحدة المعالجة المركزية لأن الحاسب يعالجُ البيانات بطريقة مشابهة لطريقة الإنسان في معالجتها.

مثلاً… لإجراء عملية جمع رقمين، يحتاجُ الإنسان إلى أن يتذكر الرقم الأول والرقم الثاني، ثم أثناء إجراء عملية الجمع ربما يحتاج إلى تذكر بعض النتائج ومعالجتها قبل الوصول إلى النتيجة النهائية.

وكذلك يفعل الحاسب تماماً.

وحدة الذاكرة في الحاسب هي الوحدة التي تؤدي دور الذاكرة لدى الإنسان إلى حد بعيد.

إذاً، كيف يتذكّرُ الحاسوب في لغة جافا؟

كما ذكرتُ لك، عملية التذكر لدى الحاسب تشابه عملية تذكر الإنسان في الشكل العام أو الفكرة العامة، ولكن لأن الحاسب آلة فهناك تفصيلٌ وربما إختلافات تقنية على المستوى المتدني.

كيف ذلك؟

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

ولكن حتى يستطيع الحاسب تذكر أيّ شيء لا بُد من تفصيلِ الكائنات إلى واحدات أصغر يستطيعُ فهمها لتكوّن هذه الصورة الكبيرة.

هذه الوحداتُ الصغيرة تسمى متغيرات Variable وسببُ التسمية هو أن هذه الذكريات (المتغيرات) متغيّرة في نفسها وحالها.

هل تعلم أين تعيش هذه المتغيرات؟

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

ذاكرة الحاسوب - المتغيرات
ذاكرة الحاسوب

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

كيف يُخزَّنُ المتغير في ذاكرة الحاسب في لغة جافا؟

حتى تستطيع تخزين متغير في لغة جافا لا بد من أن تُعرّف عدد من الصفات الخاصة بالمعلومة أو البيان الذي ترغب بتخزينه وهي كما ترى أدناه.

صفات المتغيرات التي يجب تعريفها:

  1. حجم المتغير.
  2. نوع المتغير.
  3. إسم المتغير.
  4. قيمة المتغير.

يتم تعريف هذه الصفات الأربع في خطوتين فقط وهما:

  1. التصريح عن المتغير Variable Declaration.
  2. تهيئة المتغير Variable Initialization.

بما أن جافا من لغات البرمجة المرتبطة بأنواع البيانات بشدة، فإنه لا يمكن تغريف متغير في جافا إلا بتحديد نوع المتغير.

فلترى كيف تُصرح عن متغير في جافا

int age;

هل تذكر صفات المتغيرات التي ذكرناها سابقاً؟ في هذه الخطوة إنتهينا من ثلاث صفات. سأشرح لك كيف ذلك.

  • كل نوع من أنواع البيانات يحدد أمرين هما حجم المتغير ونوعه، وبالتالي عندما ذكرنا النوع int تم حجز مساحة 4 بايت بالذاكرة (إطلع على أنواع البيانات الأولية) ونوعه int أي رقمي.
  • حددنا إسم المتغير age وهو إسم إختياري، أي بإمكانك إختيار أي إسم ترغب به مثل omer أو length أو غير ذلك بشرط أن يتوافق مع قواعد لغة جافا في اختيار الأسماء.

هكذا قمت بحجز مساحة 4 بايت بالذاكرة لمتغير يسمى age.

بعد أن انتهيت من التصريح عن المتغير تنتقل إلى الخطوة التالية وهي تهيئة المتغير Variable Declaration.

age = 25;

في هذه الخطوة وضعنا القيمة 25 في الذاكرة التي حجزناها سابقاً. وكذا نستطيعُ القول بأن الحاسوب يتذكر أن العمر = 25.

ماذا يحدث إذا ما وضعنا قيمة أكبر من حجم البيانات بالذاكرة؟

عندما يبدأ المترجم ترجمة شفرتك البرمجية فإنه يحاول وضع هذه القيم في أماكنها التي تم حجزها عبر التصريح عن المتغير، في حال إذا كانت قيمة المتغير أكبر من حجم نوع البيانات (المكان المحجوز بالذاكرة) فإن ذلك سيولّد خطئاً يتسبب في إيقاف البرنامج Compiler Error.

خطأ المتغيرات في جافا
خطأ تعدي حجم البيانات

وبداعي التجربة و المغامرة فكرت في تخطي جميع حدود البيانات الأولية للجافا.

الخلاصة

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

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

سؤال: هل تعتقد أن طريقة تذكُّر الحاسوب غريبة أو صعبة مقارنة بطريقة تذكر الإنسان؟

مصطفى الطيب

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

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

اترك تعليقاً

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