لغة الـ Java
(9) المتغيّرات
السلام عليكم و رحمة الله و بركاته..
موضوعنا اليوم ربما يكون جامداً و ثقيلاً و لكنه يعدّ ضرورياً جداً للبدء بالبرمجة الحقيقية بلغة الجافا.
------------------------------------------------------------------
مقدمة:
------------------------------------------------------------------
المتغيرات هي العلب التي تحفظ في داخلها قيم، قد تتغير. و حتى نفهمها سنأخذ مثالاً.
لنفرض أنك ذهبت إلى أحد المحلات التجارية حيث أخبرك البائع أنّك فزت بقسيمة شرائية، و طلب منك تعبئة ورقة صغيرة لتسجيل معلوماتك مثل الورقة التالية:
الاســــــم:................. ........
رقم الهاتف:.........................
العنـــوان:................... ......
إنك في هذه الحالة ستكتب اسمك بجانب "الاسم"، و ستكتب عنوانك بجانب "العنوان". و لو أراد الله سبحانه و تعالى أن يفوز شخص غيرك فإن الاسم الذي سيكتب في خانة "الاسم" سيكون مختلفاً بالتأكيد. و هذا بالضبط هو المتغيّر. فخانة الاسم تعتبر متغيّر، قد يأخذ قيمة اسمك أو اسمي أو اسم أي شخص آخر.
و لكن لنكن واقعيين، هل من الممكن أن يأتي شخص و يكتب في خانة الاسم:"1234567"؟ لا أظن، فهمها كان أبوه عاشقاً للارقام، فلن يسمي ابنه بالأرقام من جهة أخرى فلن يكتب شخص مهما بلغت غرابة أطواره كلمة "الشمس المشرقة" في خانة رقم الهاتف.
إذا المتغير قد يأخذ قيماً مختلفة ذات نوع محدد. فهناك متغيرات تأخذ قيماً حرفية مكونة من أحرف فقط مثل خنة الاسم. و هاك متغيرات رقمية مكونة من أرقام فقط مثل خانة رقم الهاتف.
------------------------------------------------------------------
أنواع المتغيرات:
------------------------------------------------------------------
المتغيرات الرقمية (Numaric Data Types):
^^^^^^^^^^^^^^^^^^^^^^^^^
في لغة الجافا تود لدينا 6 أنواع للمتغيرات الرقمية، نستطيع تقسيمها إلى قسمين كبيرين:
المتغيرات الصحيحة(Integral Variables): و تتكون من 4 أنواع:
byte: و هذا النوع يخزّن الأرقام الصحيحة في حجم من الذاكرة مقداره بايت واحدة.
short: و هذا النوع يخزّن الأرقام الصحيحة في حجم من الذاكرة مقداره 2 بايت.
int: و هذا النوع يخزّن الأرقام الصحيحة في حجم من الذاكرة مقداره 4 بايت.
long: و هذا النوع يخزّن الأرقام الصحيحة في حجم من الذاكرة مقداره 8 بايت.
المتغيرات الكسرية(Floating Point Variables): و تتكون من نوعين:
float: و هذا النوع يخزّن الأرقام الكسرية في حجم من الذاكرة مقداره 4 بايت.
double: و هذا النوع يخزّن الأرقام الكسرية في حجم من الذاكرة مقداره 8 بايت.
المتغيرات النصية (Textual Data Types):
^^^^^^^^^^^^^^^^^^^^^^^^
تضم نوع واحد فقط:
char: و يخزّن في حجم من الذاكرة مقداره 2 بايت. و هذا المتغيّر يخزّن حرفاً واحداً فقط. و يجدر بي أن أوضح هنا أن أي زر يمكن أن تضغط عليه في الكيبورد هو في الواقع char. و بالمناسبة فإن الرقم 1 يختلف كثيراً عن الحرف '1' و يكتب هكذا محصوراً بين علامتي تنصيص مفردتين. و الثاني '1' لا يمكن اجراء عمليات حسابية عليه لأنه مخزّن على أساس انه متغير نصّي. و لكن 1 لو تم تخزينه في متغير رقمي فيمكن بالطبع اجراء عمليات حسابية عليه.
من أمثلة الأرقام التي يمكن تخزينها في سلسلة من ال char : رقم الهاتف، لأنه لا فائدة من اجراء عملية حسابية على رقم تيلفون.
المتغيرات المنطقية (Logical Data Types):
^^^^^^^^^^^^^^^^^^^^^^^^^
و تضم نوع واحد فقط:
boolean: و هذا النوع يخزّن نوعاً مميزاً من القيم. انه يخزّن قيمة من اثنتين فقط هما: true, false. و هذا النوع من المتغيرات يستخدم في المقارنات المنطقية التي سيأتي تفصيلها فيما بعد ان شاء الله.
المتغيرات التي يعرفها المبرمج(Aggregate Data Types):
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
و هي المتغيرات التي يقوم المبرمج بتعريف نوعها. مثل ال classes لتي نقوم بكتابتها في ملفات و برامج الجافا.
------------------------------------------------------------------
ملخص:
------------------------------------------------------------------
- المتغير هو مكان لتخزين القيم التي يحتاج المبرمج لحفظها بشكل مؤقت. و قد تتغير من آن إلى آخر. و يتم تحديد نوع القيمة التي يخزنها أي متغير.
- أنواع المتغيرات لها حجم محدد للتخزين في الذاكرة.
- يستطيع المبرمج أن يعرف أنواعاً لا عدد لها من المتغيرات باستخدام ال classes.
أرجو أن يكون الدرس واضحاً.