JAVA Data Types
أنواع البيانات فى Java
تحدد أنواع البيانات الأحجام والقيم المختلفة التي يمكن تخزينها في المتغير، هناك نوعان من أنواع البيانات في Java:
- Primitive data types: هذا النوع يتضمن أنواع البيانات البدائية مثل [boolean – int – char – byte – short – long – float – double].
- Non-primitive data types: هذا النوع يتضمن أنواع البيانات غير البدائية مثل [classes – interface – arrays].
Primitive Data Types
في لغة جافا ، تعتبر primitive data types هي البنية الأساسية لمعالجة البيانات، حيث يحدد هذا النوع البيانات البدائية مثل حجم ونوع قيم المتغيرات، وليس له طرق إضافية.
💡 Java هي لغة برمجة مكتوبة بشكل ثابت Static، هذا يعني ، يجب التصريح عن جميع المتغيرات قبل استخدامها، وهذا هو السبب في أننا بحاجة إلى إعلان نوع المتغير واسمه!
هناك 8 أنواع من أنواع البيانات البدائية:
Description | Default size | Default Value | Data Type |
---|---|---|---|
يخزن قيمة true أو false | 1 بت | false | boolean |
يخزن حرف واحد أو قيم ASCII | 2 بايت | ‘u0000\’ | char |
يخزن الأعداد الصحيحة من 128- إلى 127 | 1 بايت | 0 | byte |
يخزن الأعداد الصحيحة من 32,768– إلى 32,767 | 2 بايت | 0 | short |
يخزن الأعداد الكاملة من 2,147,483,648- إلى 2,147,483,647 | 4 بايت | 0 | int |
يخزن الأعداد الكاملة من 9,223,372,036,854,775,808- إلى 9,223,372,036،854,775,807 | 8 بايت | 0L | long |
يخزن الأرقام الكسرية. كافية لتخزين من 6 إلى 7 أرقام عشرية | 4 بايت | 0.0f | float |
يخزن الأرقام الكسرية. كافية لتخزين 15 رقم عشري | 8 بايت | 0.0d | double |
💡 لماذا يستخدم 2 بايت لنوع char في جافا وما هو u0000\؟
لأن جافا تستخدم نظام Unicode وليس نظام كود ASCII ،\u0000 هو أدنى نطاق لنظام Unicode.
Boolean Data Type
يتم استخدام نوع البيانات المنطقية (Boolean) لتخزين قيمتين محتملتين فقط: true و false.
يُستخدم هذا النوع من البيانات للإشارات البسيطة التي تتبع الحالات الصحيحة أو الخاطئة، يحدد نوع البيانات المنطقية معلومة واحدة ، ولكن لا يمكن تحديد “حجمها” بدقة.
مثال للتوضيح:
boolean isUserLogin = true;
boolean isUserLogout = false;
System.out.println(isUserLogin); // Output = true
System.out.println(isUserLogout); // Output = false
Byte Data Type
نوع بيانات Byte هو مثال على نوع البيانات البدائية، يقع نطاق قيمته بين 128- إلى 127، والقيمة الافتراضية هي 0.
يتم استخدام هذا النوع لحفظ الذاكرة في صفائف كبيرة حيث تكون مدخرات الذاكرة مطلوبة للغاية، يوفر مساحة لأن البايت أصغر بـ 4 مرات من العدد الصحيح + يمكن استخدامه بدلاً من نوع البيانات “int“.
مثال للتوضيح:
byte myByteNum = 50;
System.out.println(myByteNum); // output = 50
Short Data Type
نوع البيانات Short هو عدد مكوّن من 16 بت، ويتراوح نطاق قيمته بين 32,768- إلى 32,767 (ضمنا)، قيمتها الافتراضية هي 0.
يمكن استخدام هذا النوع لتوفير الذاكرة تمامًا مثل نوع بيانات byte + نوع بيانات short أصغر مرتين من العدد الصحيح.
مثال للتوضيح:
short myShortNum = 40;
System.out.println(myShortNum); // output = 40
Int Data Type
نوع البيانات int هو عدد صحيح، يتراوح نطاق قيمته بين 2,147,483,648- إلى 2,147,483,647، قيمته الافتراضية هي 0.
يتم استخدام نوع البيانات int بشكل عام كنوع بيانات افتراضي للقيم المتكاملة ما لم يكن هناك مشكلة في الذاكرة.
مثال للتوضيح:
int myIntNum = 10;
System.out.println(myIntNum); // output = 10
Long Data Type
نوع البيانات Long هو عدد صحيح، يتراوح نطاق قيمته بين 9,223,372,036,854,775,808 إلى 9,223,372,036,854,775,807، قيمته الافتراضية هي 0.
يتم استخدام نوع البيانات long عندما تحتاج إلى نطاق من القيم أكثر من تلك المقدمة بواسطة int.
مثال للتوضيح:
long myLongNum = 1000000000L;
System.out.println(myLongNum);
Float Data Type
نوع البيانات Float عبارة عن Floating point، نطاق قيمته غير محدود + قيمته الافتراضية هي 0.0F.
من المستحسن استخدام الـ float (بدلاً من الـ double) إذا كنت بحاجة إلى حفظ الذاكرة في صفائف كبيرة + إذا إحتجت لتخزين أرقام عشرية.
مثال للتوضيح:
float myFloatNum = 2.2f;
System.out.println(myFloatNum);
Double Data Type
نوع البيانات Double عبارة عن floating point أيضًا، نطاق قيمته غير محدود + قيمته الافتراضية هي 0.0d.
يستخدم نوع البيانات Double بشكل عام للقيم العشرية تمامًا مثل الـ float.
مثال للتوضيح:
double myDoubleNum = 4.42d;
System.out.println(myDoubleNum);
💡 ملاحظة: يجب عدم استخدام نوع البيانات float و double مطلقًا للقيم الدقيقة، مثل العملة.
Char Data Type
نوع البيانات char يتم إستخدامة لتخزين حرف واحد.
يقع نطاق قيمته بين “u0000\” أو (0) إلى ” uffff\” أو (65535).
مثال للتوضيح:
char mycharNum = 'H';
System.out.println(mycharNum);
💡 لاحظ يتم وضع الحرف بين علامات إقتباس مُفردة ‘H‘.
💡 يمكنك استخدام قيم الـ ASCII لعرض أحرف معينة:
char a = 65, b = 66;
System.out.println(a);
System.out.println(b);
💡 هنتكلم على الـ ASCII بالتفصيل فى فصول قادمة.
String Data Type
يتم استخدام نوع بيانات String لتخزين تسلسل من الأحرف (نص)، كالتالى:
String sayHello = "Hello";
System.out.println(sayHello);
💡 يجب أن تكون قيم الـ string محاطة بعلامات اقتباس مزدوجة “Hello“.
💡 الـ String في Java هو في الواقع نوع بيانات غير بدائية non-primitive، لأنها تشير إلى كائن Object (هنتعرف عليه بالتفصيل فى الفصول القادمة)، يحتوي الكائن String على methods يتم استخدامها لإجراء عمليات معينة على الـ String.
Non-Primitive Data Types
تسمى أنواع البيانات غير البدائية (Non-Primitive) بأنواع مرجع لأنها تشير إلى كائنات.
💡 فى الفصول القادمة سنتعرف على أنواع البيانات الغير بدائية بالتفصيل وبأمثلة كثيرة.
الفرق الرئيسي بين أنواع البيانات البدائية وغير البدائية:
- يبدأ النوع البدائي بحرف صغير ، بينما تبدأ الأنواع الغير بدائية بحرف كبير.
- للنوع البدائي دائمًا قيمة ، بينما يمكن أن تكون الأنواع الغير بدائية فارغة.
- الأنواع البدائية محددة مسبقًا (محددة بالفعل) في Java، يتم إنشاء الأنواع الغير بدائية من قبل المبرمج ولا يتم تعريفها بواسطة Java (باستثناء الـ String).
- يعتمد حجم النوع البدائي على نوع البيانات ، في حين أن الأنواع غير البدائية لها نفس الحجم.
- يمكن استخدام الأنواع الغير بدائية لاستدعاء methods لإجراء عمليات معينة ، بينما لا يمكن للأنواع البدائية.
الإبلاغ عن خطأ
×إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:
info@albashmoparmeg.com
شكرًا لك على مساعدتك لنا!