mcse
مرحباا بك في منتدى mcse
تشكرك الادارة على هده الزيارة


انضم إلى المنتدى ، فالأمر سريع وسهل

mcse
مرحباا بك في منتدى mcse
تشكرك الادارة على هده الزيارة
mcse
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

(11) استخدام المتغيرات

اذهب الى الأسفل

(11) استخدام المتغيرات Empty (11) استخدام المتغيرات

مُساهمة من طرف Ebisu الأربعاء يونيو 16, 2010 11:47 am


[size=9]السلام عليكم و رحمة
الله و
بركاته

تحدثنا في الدرس السابق عن المتغيرات و انواعها في لغة الجافا. و في
درس اليوم
سنتعلم كيف نشهرها (نعرفها) أو نقوم بمساواتها و إعطائها قيماً.



------------------------------------------------------------------------------
اشهار المتغيرات:

------------------------------------------------------------------------------

ان اشهار المتغيرات يتم في الجافا على هذه الصيغة:
type identifier;


لنفرض مثلاً اننا نريد اشهار متغير من نوع متغير صحيح int


int x;


في السطر السابق يمثّل (x) اسم لمتغير من نوع رقم صحيح يتم تخزينه في 4
بايت. و
يمكن اعطاؤه أي قيمة مثلاُ:

x=10;


و هكذا نكون أعطينا المتغير (x) القيمة 10. و بالمثل نستطيع اشهار
متغيرات من
أي نوع آخر.

و توفر الجافا اعطاء المتغيرات قيم مبدئية عند اشهارها، مثلاً.. نستطيع
أن نكتب
في برنامجنا:

double
x=14.3;
char ch='m';


اننا في ما سبق، قد قمنا باشهار متغيرين الأول من نوع double و قد
أعطيناه قيمة
مبدئية هي: 14.3، اما المتغير الثاني فهو متغير نصي من نوع char و
أعطيناه قيمة
مبدئية هي الحرف 'm'.



------------------------------------------------------------------------------
مثال تطبيقي على اشهار واعطاء قيم للمتغيرات
في
الجافا:


------------------------------------------------------------------------------

في الصورة التالية نرى برنامج مكتوب بلغة الجافا. و قد قمنا فيه بانشاء
بعض
المتغيرات و من ثم طباعتها.
(11) استخدام المتغيرات FirstWithError

في السطر السابع (و يقع في المنطقة الوردية) مثلاُ قمنا بانشاء متغير
من نوع
short و أعطيناه قيمة مبدئية هي 200. و نلاحظ ان جميع جمل الجافا تنتهي
بـ (Wink.

بينما في السطر السادس قمنا بانشاء متغير من نوع byte و لم نعطه اي
قيمة
مبدئية.

عند تشغيل البرنامج السابق ستواجه المشكلة التالية:
(11) استخدام المتغيرات NoInitial

ان هذه المشكلة ظهرت تحديداً عندما حاولنا طباعة المتغيرين b وnumber.
لاحظ
انها لم تظهر عندما قمنا باشهارهما. و لكنها ظهرت عند محاولتنا
لاستخدامهما. هل تستطيع ان تعطي سبباً لذلك؟

في الواقع ان السبب هو اننا لم نعطهما قيمة مبدئية! ثم حاولنا
كباعتهما. الآن
ما الذي نحاول فعله؟ نطبع قيمة لا نعرفها! لذا سيتوقف مترجم الجافا و
يعطيك
الخطأ السابق.

كيف نعالج المشكلة؟ نعطيهما قيماً قبل أن نحاول طباعتهما.
(11) استخدام المتغيرات FirstCorrect

نلاحظ في هذه الصورة أننا قمنا باعطاء قيماً للمتغيرات التي اشهرناها
عن طريق
المساواة في حالة المتغير b و عن طريق وضع ناتج الطرح في المتغير
number. و
هكذا حللنا المشكلة.

يمكننا أيضاً ترتيب الطباعة في الأسطر من 28 إلى 35.

لنأخذ السطر الـ 30 مثلاُ


System.out.println("number = " + number);


سبق و شرحنا طريقة الطباعة في الجافا. في هذا السطر نقوم في الواقع
بطباعة هذه
الجملة:

"number = "


ثم قمنا بعلامة زائد التي تعني اننا سنطبع شيئاً آخر إلى جانبها. ثم
وضعنا اسم
المتغير number و هذا يعني انه سيقوم بطباعة قيمة المتغير number.

و هنا أحب أن أضع ما نفعله في الدوس:
(11) استخدام المتغيرات Dos1

لاحظ أنني عندما حاولت تشغيل البرنامج لأول مرة لم يقبل ان يقوم بترجمة

البرنامج، و قد تصادقك هذه المشكلة، لذا وضعت حلها في السطرين الأصفرين
في
الصورة السابقة.

و في آخر الصورة ترى ان جمل الطباعة في البرنامج قد قامت بعملها
الجيّد.


------------------------------------------------------------------------------
مثال تطبيقي على استخدام المتغيرات في
الجافا:


------------------------------------------------------------------------------
هنا لدينا برنامج يقوم بانشاء ثلاثة متغيرات من نوع عدد صحيح int. و
البرنامج
يقوم باعطاء المتغيرين الأولين x , y قيم أولية. ثم يضع ناتج الجمع في
المتغير
الثالث z.

(11) استخدام المتغيرات Second

لاحظ جملة الطباعة في آخر البرنامج.. مرتبة جداً، أليس كذلك؟

انظروا الى النتيجة:
(11) استخدام المتغيرات Dos2

أرجو أن يكون الدرس واضحاً.
[/size]
Ebisu
Ebisu
مبرمج جيد
مبرمج جيد

عدد المساهمات : 45
السٌّمعَة : 50
تاريخ التسجيل : 11/06/2010
العمر : 43

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى