المتغيرات Variables في لغات البرمجة تشير الى اماكن في الذاكرة Memory. حيث يتم تخزين فيها البيانات المختلفة التي نريد حفظها اثناء تشغيل البرنامج. تختلف انواع المتغيرات عن بعضها، فمثلا عند تخزين رقم صغير مثل 100 لا نحتاج نفس المساحة التي نريدها عند تخزين 100000000 مثلا. ايضا عند تخزين تاريخ او حروف نحتاج نوع اخر من البيانات.
هناك تصنيفين لانواع البيانات في لغة جافا .
- انواع بيانات أولية (Primitive Data Types).
- انواع بيانات مرجعية او كائنية (Reference/Objects Data Types).
الفرق بين التصنيفين ان الانواع الاولية (primitive) هي الانواع البسيطة والتي يكون معروف مساحتها في البرنامج مسبقا، اما الانواع المرجعية (Reference) فهي انواع مركبة (Complex) وتتكون في الاغلب من تركيب الانواع الاولية ويكون طريقة تخزينها مختلفة.
انواع البيانات الأولية (Primitive Data Types)
نستطيع ان نقسم الانواع الاولية الى 4 اصناف على حسب نوع البيانات:
- ارقام صحيحة: byte, short, int & long (الفرق بينهم في حجم/مساحة التخزين)
- ارقام عشرية: float & double (الفرق بينهم في حجم/مساحة التخزين)
- حروف: char (يخزن حرف واحد)
- قيم منطقية (صح true او خطأ false) : يكون النوع boolean
قواعد الكتابة (Syntax)
;DateType variableName = value
// تستخدم للارقام الصغيرة جدا byte dayOfWeek = 2; // تستخدم للارقام الصغيرة short age = 22; // هو النوع الافتراضي واكثر الانواع استخداما int numberOfStudent = 1000; int weather = -20; // يستخدم للارقام الكبيرة long numberOfViews = 1000000L; // تستخدم للارقام العشرية float numberOfKilos = 20.5f; // هي النوع الافتراضي للارقام العشرية و تستخدم للدقة الاعلى double weightOfGold = 20.225658556451025; // يستخدم للحروف char myFavouriteCharachter = 'c'; // تستخدم للقيم المنطقية boolean isAnimal = false;
الجدول التالي يفصل الفروق فيما بينهم
اسم النوع | حجم الذاكرة | وصف الاستخدام |
byte | 1 byte | يخزن ارقام صحيحة من -128 الى 127 |
short | 2 bytes | يخزن ارقام صحيحة من -32,768 الى 32,767 |
int | 4 bytes | يخزن ارقام صحيحة من -2,147,483,648 الى 2,147,483,647 |
long | 8 bytes | يخزن ارقام صحيحة من -9,223,372,036,854,775,808 الى 9,223,372,036,854,775,807 |
float | 4 bytes | يخزن ارقام عشرية بدقة حوالي 7 ارقام عشرية |
double | 8 bytes | يخزن ارقام عشرية بدقة حوالي 15 ارقام عشرية |
boolean | 1 bit | يخزن اما صح (true) او خطأ (false) |
char | 2 bytes | يخزن حرف واحد من صيغة ال ASCI |
يجب ملاحظة ان float و double تخزن ارقام عشرية تقريبة وتكون دقتها هي الفرق.
انواع البيانات المرجعية / الكائنية (Reference/Objects Data Types)
- من اهم ميزات لغة الجافا هي طريقة استخدام ذلك النوع من البيانات و كفاءة تنظيم الذاكرة باستخدام جامع القمامات garbage collector و المقصود هنا البيانات المرجعية التي تصبح اثناء تشغيل البرنامج غير مستخدمة (هذا موضوع متقدم سيتم شرحه لاحقا).
- من اهم ما يميز ذلك النوع من البيانات اننا نستطيع ان ننشأ نوعا مركبا Complex Data Type من مجموعة البيانات الاولية او المركبة المعرفة مسبقا وهذا ما يسمى بالصنف Class.
- تقدم لغة الجافا مجموعة من الاصناف المعرفة مسبقا ومن اهما:
- النصوص String(سترينج تعني السلسلة) : هو ما يستخدم لحفظ الكلام وهو من اكثر الانواع استخداما. سمي لهذا لان الكلام عبارة عن سلسلة من الحروف (char)
- التاريخ Date: هو ما يستخدم لتخزين التاريخ و الوقت.
- المصفوفات Arrays: وهو يستخدم لتكوين مصفوفة اومجموعة من اي من الانواع او الاصناف.
// String نعرف String name = "Mohammad Hanafy"; // Date نعرف Date today = new Date(); // فيه الارقام الفردية Array نعرف int[] oddNumbers = {1, 3, 5, 7, 9};
هذا مجرد نبذة صغيرة عن الانواع الكائنية و سنفرد لكل منها دري خاص بها لاهميتها.
0 تعليقات