الكورس

Advertisements

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 أنواع من أنواع البيانات البدائية:

DescriptionDefault sizeDefault ValueData Type
يخزن قيمة true أو false1 بتfalseboolean
يخزن حرف واحد أو قيم ASCII2 بايت‘u0000\’char
يخزن الأعداد الصحيحة من
128- إلى 127
1 بايت0byte
يخزن الأعداد الصحيحة من
32,768– إلى 32,767
2 بايت0short
يخزن الأعداد الكاملة من
2,147,483,648-
إلى
2,147,483,647
4 بايت0int
يخزن الأعداد الكاملة من
9,223,372,036,854,775,808-
إلى
9,223,372,036،854,775,807
8 بايت0Llong
يخزن الأرقام الكسرية.
كافية لتخزين من 6 إلى 7 أرقام عشرية
4 بايت0.0ffloat
يخزن الأرقام الكسرية.
كافية لتخزين 15 رقم عشري
8 بايت0.0ddouble
 
💡 لماذا يستخدم 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 لإجراء عمليات معينة ، بينما لا يمكن للأنواع البدائية.

 



الإبلاغ عن خطأ

×

إذا وجد خطأ وتريد الإبلاغ عن هذا الخطأ، أو إذا كنت تريد تقديم اقتراح على شىء معين، فلا تتردد في إرسال بريد إلكتروني إلينا:

[email protected]

شكرًا لك على مساعدتك لنا!

Advertisements