برمجة جافا/أساسيات 2
المتغيرات
[عدل]المتغيرات عبارة عن مواقع في الذاكرة تستخدم لخزن قيم معينة لنمكن البرنامج من استعمال هذه القيم فيما بعد. في جافا يمكنك أن تعرف المتغيرات بتحديد نوع و اسم المتغير بما يعرف باسم جمل التعريف (Variable Declaration Statement). نحتاج لاسم المتغير لكي يستطيع المبرمج من الوصول إلى القيمة المخزنة في ذلك الموقع، كما أن نوع المتغير يحدد نوع المعلومة المخزنة فيه.
نوع المتغير يمكن أن يكون نوع بدائي (Primitive Type) كما هو موضح في الجدول التالي ،أو أي Class موجود في جافا. بينما اسم المتغير (Identifier) يمكن أن يكون أي تشكيلة من أحرف و أرقام و الخط السفلي '_' و $، بشرط أن لا يبدأ برقم و أن لا يحتوي على فراغ.
boolean | حجم المتغير من هذا النوع يعتمد على الجهازPrimitive Type | Size in Bytes |
char | |
byte | |
short | |
int | |
long | |
float | |
double |
لكي نستطيع استخدام أي متغير، يجب أن نعرّف المتغير قبل استخدامه، و يجب أن نستخدمه مع معلومات من نوع مطابق لنوع المتغير. فمثلا لا يجوز وضع نص في متغير رقمي.
أمثلة على تعريف متغيرات:
int someInteger; char test_123; int x = 5; <- يجوز تحديد قيمة أولية للمتغير عند تعريفه float 1x; <- هذا التعريف خاطئ لأن اسم المتغير يبدأ برقم boolean some test; <- هذا التعريف خاطئ لأن اسم المتغير يحتوي على فراغ double x, y, z; <- يجوز تعريف أكثر من متغير مرة واحدة، و لكن يجب أن نفصل بينهم بالفاصلة
الجمل الحسابية
[عدل]في الكثير من البرامج، تحتاج لإجراء بعض العمليات الحسابية، و جافا تمكنك من كتابة جمل رياضية مشابهة للجمل المستخدمة في العمليات الجبرية. و لكن هنالك بعض الفروقات، فمثلا نستخدم ال '/' للدلالة على القسمة، بينما لا نستطيع استخدام الكسور بشكلها المعتاد، فنكتبها بشكل 1/2 بدل من أن يكونوا فوق بعضهم البعض.
الجدول التالي يوضح العمليات الحسابية المسموحة في جافا و أولوية تنفيذهم
Operations \t Priority \t Associativity *, /, % \t executed first \t left to right +, - \t executed second \t left to right
عملية % هي عملية الباقي، و تقوم بإعطائك باقي قسمة رقمين على بعض. فمثلا 3=7/2 و لكن 1=2%7
Associativity تعني أنه في حالة وجود أكثر من عملية من نفس الأولوية في نفس الجملة فإنهم سينفذوا حسب ال Associativity لهذه العمليات. مثال: 12 = 2 / 3 * 8 لأن عملية الضرب تنفذ قبل عملية القسمة لأن الAssociativity لهذه العمليات من اليمين إلى اليسار.
بمكنك استخدام الأقواس ( ) للتغيير من أولوية العمليات، لأن ما بداخل الأقواس ينفذ أولا دائما. فمثلا 13=3*2+7 لأن الضرب يحصل قبل الجمع، و لكن 27=3*(2+7) لأنه في هذه الحالة ينفذ الجمع فيل الضرب.