المتغيرات وأنواع البيانات — Java
ما هذا ولماذا؟
تخيل أنك تلعب لعبة كمبيوتر. لديك حقيبة ظهر تحتوي على أشياء مختلفة: سيف، جرعة صحة، خريطة كنز. في البرمجة، تسمى هذه "الحقيبة" متغيرًا. إنه صندوق يمكنك وضع بعض المعلومات فيه وإعطائه اسمًا.
لماذا نحتاج هذا؟ لنفترض أنك تكتب برنامجًا يهنئ المستخدم بعيد ميلاده. يمكن أن يكون اسم المستخدم مختلفًا - اليوم "ماشا"، غدًا "بيتيا". بدلاً من إعادة كتابة الكود في كل مرة، تقوم بإنشاء متغير الاسم وتكتب الاسم المطلوب فيه مرة واحدة. سيقوم البرنامج تلقائيًا بوضعه في نص التهنئة!
الآن عن أنواع البيانات. لنعد إلى حقيبة الظهر. لن تضع التفاح في جيب العملات المعدنية، والعملات في جيب الخريطة. في Java أيضًا هناك "جيوب" مختلفة لأشياء مختلفة:
- الأرقام (صحيحة وكسرية)
- الكلمات والحروف (نص)
- صحيح/خطأ (نعم أو لا)
Java لغة صارمة. تتطلب منك أن تقول مسبقًا: "في هذا الصندوق سيكون هناك أرقام صحيحة فقط!" أو "هنا نص فقط!". في Python ليس هذا موجودًا - يمكنك وضع أي شيء في أي مكان. لكن في Java هذا يساعد على تجنب الأخطاء. تخيل أنك وضعت عن طريق الخطأ ماءً في جيب العملات - ستتلف العملات. Java لن تسمح لك بفعل ذلك!
دعنا نفهم الأمر بالترتيب. أولاً سنتعلم كيفية إنشاء المتغيرات، ثم سنعرف ما هي أنواع البيانات الموجودة ولماذا نحتاجها.
أمثلة كود مع شرح
مثال 1: أول متغير - مرحبًا، أيها العالم!
لنبدأ بأبسط شيء. لننشئ متغيرًا يخزن نصًا (كلمة أو عبارة). في Java، يُستخدم النوع String للنص (بحرف كبير!).
// نعلن (ننشئ) متغيرًا باسم "تحية"
// النوع String يعني أننا سنخزن نصًا
String تحية;
// الآن نضع فيه قيمة (نص بين علامتي اقتباس)
تحية = "مرحبًا، أيها العالم!";
// والآن نطبع محتوى المتغير على الشاشة
System.out.println(تحية);
// على الشاشة سيظهر: مرحبًا، أيها العالم!
شرح للمبتدئ:
Stringهو نوع "سلسلة نصية" (نص). في Python كنت ستكتب ببساطةتحية = "مرحبًا، أيها العالم!"، لكن في Java يجب أن تقول أولاً ما هو نوع المتغير.- الفاصلة المنقوطة
;في نهاية كل أمر - هي مثل النقطة في نهاية الجملة. Java بدونها لن تفهم أين ينتهي الأمر. System.out.println()- أمر "اطبع وانتقل إلى سطر جديد". مثلprint()في Python.
يمكن دمج الإنشاء والتعيين في سطر واحد:
// ننشئ متغيرًا ونضع فيه قيمة فورًا
String اسم = "أليس";
System.out.print("مرحبًا، ");
System.out.println(اسم);
// على الشاشة: مرحبًا، أليس
لاحظ: System.out.print() (بدون ln) لا ينقل المؤشر إلى سطر جديد، بل يطبع في نفس السطر.
مثال 2: الأرقام الصحيحة - نعد التفاح
للأرقام الصحيحة (بدون جزء كسري) في Java يوجد النوع int (من integer - عدد صحيح).
// نعلن عن متغير لعدد التفاح
int تفاح;
// نضع الرقم 10
تفاح = 10;
// يمكننا إجراء عمليات حسابية!
int كمثرى = 5; // أنشأنا ووضعنا 5 فورًا
int مجموع_الفواكه; // أنشأنا فقط، فارغ حاليًا
// نجمع التفاح والكمثرى
مجموع_الفواكه = تفاح + كمثرى;
// نطبع النتيجة
System.out.print("مجموع الفواكه: ");
System.out.println(مجموع_الفواكه);
// على الشاشة: مجموع الفواكه: 15
ما هو المهم تذكره:
- أسماء المتغيرات تُكتب متصلة أو بشرطة سفلية. لا يمكن استخدام المسافات.
- العمليات الحسابية تعمل كما في الحياة:
+,-,*(ضرب),/(قسمة). - في Java، على عكس Python، لا يمكنك ببساطة كتابة
تفاح = "عشرة"إذا كان المتغير مُعلنًا كـint. ستقول Java: "خطأ! لقد وعدت برقم، لكنك تعطي نصًا!"
لنجرب حساب كم تفاحة سيحصل عليها كل شخص إذا قسمناها بالتساوي على 3 أصدقاء:
int تفاح = 10;
int اصدقاء = 3;
// نقسم التفاح على الأصدقاء (انتبه! قسمة عدد صحيح على عدد صحيح - النتيجة عدد صحيح)
int لكل_واحد = تفاح / اصدقاء;
System.out.println("سيحصل كل صديق على " + لكل_واحد + " تفاحة");
// على الشاشة: سيحصل كل صديق على 3 تفاحة
المشكلة: 10 مقسومة على 3 = 3.333...، لكن int يتجاهل الجزء الكسري! Java لا تقرب، بل تقطع "الذيل". إذا كنت بحاجة إلى قسمة دقيقة، استخدم double (انظر المثال التالي).
مثال 3: الأرقام الكسرية - المال والطول
للأرقام ذات الجزء الكسري (مثل 3.14 أو 2.5) في Java يوجد النوعان double و float. سنستخدم double - فهو أكثر دقة.
// سعر البيتزا - 450 روبل و 50 كوبيك
double سعر_البيتزا = 450.50;
// كم بيتزا سنشتري؟
int كمية = 3;
// نحسب التكلفة الإجمالية
double التكلفة_الإجمالية = سعر_البيتزا * كمية;
System.out.println("التكلفة الإجمالية: " + التكلفة_الإجمالية + " روبل");
// على الشاشة: التكلفة الإجمالية: 1351.5 روبل
مهم! في Java، الجزء العشري يُفصل بنقطة، وليس بفاصلة. 450,50 سيسبب خطأ. تذكر: النقطة هي "الفاصلة العشرية" للكمبيوتر.
مثال آخر - نحسب المعدل الدراسي في المدرسة:
double رياضيات = 4.5;
double لغة_روسية = 3.0;
double فيزياء = 5.0;
// نجمع ونقسم على عدد المواد
double المعدل = (رياضيات + لغة_روسية + فيزياء) / 3;
System.out.println("المعدل: " + المعدل);
// على الشاشة: المعدل: 4.166666666666667
هل ترى كم عدد الأرقام بعد الفاصلة؟ هذا طبيعي. إذا كنت بحاجة إلى إظهار رقمين فقط بعد الفاصلة