أهلاً وسهلاً، اليوم رح نحكي عن جافا، وتحديداً عن الـ Data Types الموجودة باللغة، شو هنن، وشو أهميتهم، والفرق بينهم.
قبل ما نخوض بالـ Data Types، لازم نفهم شو هي المتغيرات.
زي ما كان عنا بالرياضيات حروف زي x و y ونعطيهم قيم معينة، نفس الفكرة موجودة بالبرمجة. ممكن نعرف متغير اسمه x ونعطيه قيمة معينة مثل 19، أو ممكن يكون اسماً أو جملة.
بالجافا، الـ syntax لإنشاء متغير هو:
نوع_البيانات اسم_المتغير = القيمة;
مثلاً:
int x = 19;
بس لازم دايماً نحدد نوعية القيمة، وهاد اللي رح نحكي عنه هلق.
الـ Data Types بالجافا بتنقسم لقسمين رئيسيين:
اليوم رح نركز على الـ Primitive Data Types.
عندنا أربعة أنواع للأرقام الصحيحة:
| النوع | الحجم | أقل قيمة | أعلى قيمة |
|---|---|---|---|
byte | 8 bit | -128 | 127 |
short | 16 bit | -32,768 | 32,767 |
int | 32 bit | -2,147,483,648 | 2,147,483,647 |
long | 64 bit | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
الفرق بينهم هو الـ range، يعني شو أكبر رقم وأصغر رقم ممكن نحفظه.
مثلاً لو حاولنا نحط 128 بمتغير من نوع byte، رح نحصل على خطأ لأن الـ byte بيوصل لـ 127 بس.
اشترك في النشرة البريدية
دروس جديدة، مقالات، وأدوات مباشرة لبريدك.
byte b = 127; // صح
short s = 1000; // صح
int i = 100000; // صح
long l = 9999999999L; // صحلو ظهر خط أحمر تحت المتغير بالـ IDE، فهاد معناه في compilation error ولازم تنحل.
السؤال اللي بيطرح نفسه: امتى نختار byte وامتى int وامتى long؟
الجواب بسيط: بحسب الـ range اللي تحتاجه. إذا الأرقام اللي رح تخزنها صغيرة، ممكن byte يكفي. إذا الأرقام كبيرة، استخدم int أو long.
إذا عندك أرقام فيها كسور، عندك نوعين:
float f = 30.5f; // لازم نضيف f في الآخر
double d = 30.5; // لا نحتاج نضيف شيالفرق بينهم هو الدقة:
float: دقة عادية، كافية لكثير من التطبيقاتdouble: دقة عالية جداً، مناسب لتطبيقات تحتاج حسابات دقيقة مثل التطبيقات البنكيةإذا الدقة مش شرط أساسي، استخدم float. إذا لازم تكون الكسور دقيقة 100%، استخدم double.
الـ boolean هو نوع بيحفظ قيمتين بس، ما في قيمة ثالثة:
boolean isCorrect = true;
boolean isWrong = false;أكثر شي بيتستخدم فيه الـ boolean هو الشروط. مثلاً: إذا الشي صح نفذ كود معين، وإذا غلط نفذ كود ثاني مختلف كلياً. رح نشوف أمثلة عملية عن هاد بالمستقبل.
الـ char بيحفظ كاركتر واحد بالضبط، ويرمز له بالـ single quotes:
char letter = 'A';
char digit = '5';لازم تكون القيمة كاركتر واحد حصراً، ما فينا نحط كاركترين أو أكثر.
إذا حاولنا نحط أكثر من كاركتر، رح يظهر خطأ:
char name = 'AB'; // خطأ - ما يصير أكثر من كاركتر واحدإذا احتجنا نحفظ كلمة أو جملة، يعني أكثر من كاركتر، هون بنستخدم الـ String.
الـ String يرمز له بالـ double quotes:
String name = "John Doe";
String sentence = "مرحباً بالعالم";ملاحظة مهمة: الـ String ليس Primitive Type مثل الباقي، بل هو Reference Type. لكن من المهم تعرفه من البداية لأنه من أكثر الأنواع استخداماً بالتطبيقات.
| النوع | الفئة | مثال |
|---|---|---|
byte | رقم صحيح | byte b = 100; |
short | رقم صحيح | short s = 1000; |
int | رقم صحيح | int i = 50000; |
long | رقم صحيح | long l = 9999999999L; |
float | رقم كسري | float f = 3.14f; |
double | رقم كسري دقيق | double d = 3.14159265; |
boolean | صح أو غلط | boolean flag = true; |
char | كاركتر واحد | char c = 'A'; |
String | نص | String s = "مرحبا"; |
أهم شي تركز عليه من هاد الدرس هو الـ String، لأنه عن طريقه تقدر تبدأ تبني تطبيقات أكثر تعقيداً. بالدروس الجاية رح نحكي أكثر عن الفرق بين الـ Primitive Types والـ Reference Types.