[size=21]لغة الجافا مثل اللغات التي نتكلم بها لها قواعد نحوية. ولكن ما هي فائدة القواعد في اللغة؟ إن قواعد النحو في اللغة تعطي الناس قدرة أفضل على الإتصال و تحسين مهارات التفكير فإنها تجعلك منصت ومتكلم و قاريء وكاتب بكفاءة كبيرة.
اللغة تكون بين متكلم ومستمع أو كاتب وقاريء. بالنسبة للجافا فأنت المتكلم و الكاتب أما المستمع والقاريء فهو الكمبيوتر. ولكي نستطيع أن نوصل أفكارنا للكمبيوتر ونجعله يفهمها وأيضا حتى تكون أفكارنا أكثر وضوحا فيجب أن نلتزم بقواعد لغة الجافا.
إقرأوا معي البرنامج
BasicDemo التالي وهو منقول من موقع :
public class BasicsDemo {
public static void main(String[] args) {
int sum = 0;
for (int current = 1; current <= 10; current++) {
sum += current;
}
System.out.println("Sum = " + sum);
هذا البرنامج يقوم بجمع الأرقام من واحد إلى عشرة ثم يقوم بعرض النتيجة على الشاشة. هذا البرنامج يحتوي على الكثير من القواعد في الجافا وإن كان لايبدو واضحا الآن ولكن ما يهمنا هنا أن نشرح مكونات الجافا الموجودة بهذا البرنامج. عذه المكونات مثل
المتغيرات variables و
معاملات operators و
الأوامر الي تحكم مسارتنفيذ البرنامج control flow statement.
فالمتغيرات نستخدمها لتحمل المعلومات وسوف نتكلم بعد قليل كيف نعرف المتغيرات وما هي أنواع المتغيرات وكيف نعرف مجال
scope المتغير.
أما
المعاملات فسوف نتعلم كيف نكتب العمليات المختلفة سواء عمليات حسابية أو عمليات التخصيص
assignment operators .
وسوف نتعلم في مباديء الجافا كيف نمزج المتغيرات و المعاملات في تسلسل معين ونكون
جملة expression . هذه الجمل هي أحجار البناء أو القوالب التي يتكون منها برنامج الجافا.
وسنتعلم أيضا
الأوامر الي تحكم مسارتنفيذ البرنامج control flow statement مثل الأوامر الشرطية والتي بها لا تنفذ أجزاء من الكود إلا بتوفر شروط معينة. وكيف نكتب أوامر التكرار.
سنتكلم في هذا الدرس عن
المتغيرات.
قلنا سابقا أن ال object له صفات أو أحوال states ويحتفظ بقيمها في ال variables.
فالمتغير يحمل معلومة أوبيانات ونشير للمتغير بإسم
identifier يمثل بطاقة الهوية أو الشيء المميز لهذا المتغير.
هذا الإسم هو تسلسل من
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]سواء أرقام أو حروف ولابد أن يبدأ الإسم بحرف هجاء إنجليزي أي حرف من
a إلى
z أو
A إلى
Z أو أن يبدأ ب ال under score
_ أو بعلامة الدولار
$.
أمثلة لأسماء المتغيرات:
- HelloWorld
- Math
- Applet
- test123
- r2d2
- MAX_VALUE
- FordV8
- _DA_DA
- $100
- HereIsA$20
وأيضا لا يجب أن يكون إسم المتغير من الأسماء المحفوظة
reserved words وسوف نتكلم عنها في درس آخر
وكما أن للمتغير إسم فله أيضا
نوع type يحدد القيم التي يكن أن يحتويها هذا المتغير و العمليات الي يمكن تنفيذها على هذا المتغير.
فمثلا لو عرفنا متغير وكان إسمه x وكان من
النوع class التي إسمها Car فإن x لايمكن أن يحمل القيم من نوع class التي إسمها بنك.
إذن ما هي القاعدة النحوية لتعريف متغير في لغة الجافا؟
القاعدة هي:
type nameأي نكتب إسم النوع الذي يكون منه المتغير ثم نكتب إسم المتغير
مثال:
كود:
int x
فهذا متغير إسمه x و من النوع int
لكل متغير
مدى أو مجال
scope نستطيع أن نستخدم إسم المتغير فيه. مجال المتغير يتحدد بطريقة غير مباشرة بالمكان الذي قمنا فيه بتعريف المتغير. والمجال أيضا يحدد متى يتم تخليق المتغير ومتى يتم إزالته من ذاكرة البرنامج أي متى يموت.
سنتكلم عن
الscope بالتفصيل في درس قادم.
هناك فئتان من الأنواع types التي يمكن أن يكون منها المتغير. الفئتان هما
الأنواع الأولية primitive types و
الأنواع المرجعية reference types.المتغير الذي يكون من النوع
primitive يحتوي على قيمة واحدة فقط وهذه القيمة لها مقاس في ذاكرة البرنامج ولها شكل format مثل أن يكون تسلسلا من الحروف أو تسلسلا من الأرقام وهذا المقاس والشكل يحدده نوع المتغير . فمثلا المتغير من النوع
int مقاسه 32 بت bits وشكله أي الformat هي two's complement والمتغير من النوع char مقاسه 16 بت و شكله يكون Unicode character.
الأنواع الأولية في الجافا هي:
من الممكن أن نعطي للمتغير قيمة و نحن نعرفه. هذه القيمة تسمى
literal valueكود:
int x = 3
كما في الجدول السابق لنعرف قيمة من النوع
int مباشرة في الكود فنكتب تسلسلا من الأرقام الصحيحة ولكي نقوم بكتابة قيمة
long (أي رقم صحيح طويل) فإننا نضع حرف L أو l في نهاية التسلسل الرقمي. أما إذا كتبنا تسلسل من الأرقام وفيه علامة عشرية أي نقطة فهو من النوع
double وإذا وضعنا في آخر التسلسل الحرف F أو f فهو من النوع
float. أما ال
character في يتكون من أي حرف Unicode واحد فقط بين two single quotes أي بين ' ' . ال quote في اللغة العربية تعني قطفة.
الفئة الأخرى من المتغيرات هي
الأنواع المرجعية reference types فالمتغيرات التي ليست من الأنواع الأولية primitives السابقة فهي reference types مثل ال
class و ال
interface و المصفوفات
arrays.
القيمة التي يحملها المتغير الذي يكون من الفئة reference هي عنوان المعلومة التي يحملها وليس المعلومة نفسها أي ليس مثل ال primitive types.
ال
reference يشبه ال shortcut أي الإختصار فعندما نقوم بعمل shortcut لملف أو برنامج فإن هذه ال shortcut تشير إلى مكان الملف أو البرنامج وليست هي الملف أو البرنامج نفسه.