ASEMNAJEE Telegram 80
نطاق المتغيرات في جافا .
المتغيرات في جافا وفي اغلب لغات البرمجة لديها نطاق ، نستطيع استخدام هذه المتغيرات ضمن هذا النطاق فقط ولا يمكن الوصول الى المتغيرات من خارجه .
 int variable = 0;
 System.out.print(variable);

بدون اي مشاكل يمكن طباعه قيمه المتغير لانه بنفس النطاق ، اي بشكل اصح يمكن القول اننا استطعنا الوصول الى المتغير ، لكن لاحظ الكود التالي :
int variable = 0;
System.out.print(variable);
if(true){
    System.out.print(variable);
}

في هذه الامر الذي داخل الشرط يعتبر في نطاق آخر ولكن يمكنه الوصول الى المتغير لان نطاق الشرط هو ضمن النطاق الكلي للمتغير .
الشرط لم يكن مهما ، نحن فقط كنا بحاجه لحجز نطاق جديد ويمكننا الاستغناء عن الشرط وحجز نطاق بدون شرط وسيصبح الكود السابق كالتالي :
int variable = 0;
System.out.print(variable);
{
    System.out.print(variable);
}

حسنا ، متى يكون المتغير لا يمكن الوصول اليه ، لاحظ الكود التالي :
int variable = 0;
System.out.print(variable);
{
    int localVariable = 0;
    System.out.print(localVariable);
}

System.out.print(localVariable);

هذا الكود سيسبب خطا ، والسبب اننا حاولنا الوصول الى المتغير localVariable من خارج نطاقه وهذا امر غير مقبول ، حيث ان نطاقه ينتهي بانتهاء القوس المعكوف } .

حسناً عرفنا الان نطاق المتغيرات ، لكن ما الفائدة من استخدام النطاقات ؟ أليس امراً سيئاً ان اُعَرِف متغير وتنتهي حياته قبل انتهاء البرنامج ؟
حسناً انظر المثال التالي وستغير رأيك
int x = 5;
int y = 10;
{
    int temp = x;
    x = y;
    y = temp;
}

هل استطعت ان تعرف ما وظيفة الكود السابق ؟ لا تكمل القراءة وحاول معرفة ذلك .

نعم احسنت ، الكود يقوم بتبديل قيم المتغيرات x , y ، ولكن ماذا عن المتغير temp ، هنا سيساعدنا هذا المتغير على تبديل القيم ثم بعدها سيتم حذفه من الرام لاننا لم نعد بحاجته ، هكذا يتم الامر مع المتغير الشهير (i) في حلقة التكرار for يموت فور انتهاء الحلقة لاننا لم نعد بحاجته .

اذاً يفضل ان نقوم بقتل المتغيرات اذا لم نعد بحاجتها ، ولا تقلق ، فقتل المتغيرات حلال .
#شرح



tgoop.com/AsemNajee/80
Create:
Last Update:

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

 int variable = 0;
 System.out.print(variable);

بدون اي مشاكل يمكن طباعه قيمه المتغير لانه بنفس النطاق ، اي بشكل اصح يمكن القول اننا استطعنا الوصول الى المتغير ، لكن لاحظ الكود التالي :
int variable = 0;
System.out.print(variable);
if(true){
    System.out.print(variable);
}

في هذه الامر الذي داخل الشرط يعتبر في نطاق آخر ولكن يمكنه الوصول الى المتغير لان نطاق الشرط هو ضمن النطاق الكلي للمتغير .
الشرط لم يكن مهما ، نحن فقط كنا بحاجه لحجز نطاق جديد ويمكننا الاستغناء عن الشرط وحجز نطاق بدون شرط وسيصبح الكود السابق كالتالي :
int variable = 0;
System.out.print(variable);
{
    System.out.print(variable);
}

حسنا ، متى يكون المتغير لا يمكن الوصول اليه ، لاحظ الكود التالي :
int variable = 0;
System.out.print(variable);
{
    int localVariable = 0;
    System.out.print(localVariable);
}

System.out.print(localVariable);

هذا الكود سيسبب خطا ، والسبب اننا حاولنا الوصول الى المتغير localVariable من خارج نطاقه وهذا امر غير مقبول ، حيث ان نطاقه ينتهي بانتهاء القوس المعكوف } .

حسناً عرفنا الان نطاق المتغيرات ، لكن ما الفائدة من استخدام النطاقات ؟ أليس امراً سيئاً ان اُعَرِف متغير وتنتهي حياته قبل انتهاء البرنامج ؟
حسناً انظر المثال التالي وستغير رأيك
int x = 5;
int y = 10;
{
    int temp = x;
    x = y;
    y = temp;
}

هل استطعت ان تعرف ما وظيفة الكود السابق ؟ لا تكمل القراءة وحاول معرفة ذلك .

نعم احسنت ، الكود يقوم بتبديل قيم المتغيرات x , y ، ولكن ماذا عن المتغير temp ، هنا سيساعدنا هذا المتغير على تبديل القيم ثم بعدها سيتم حذفه من الرام لاننا لم نعد بحاجته ، هكذا يتم الامر مع المتغير الشهير (i) في حلقة التكرار for يموت فور انتهاء الحلقة لاننا لم نعد بحاجته .

اذاً يفضل ان نقوم بقتل المتغيرات اذا لم نعد بحاجتها ، ولا تقلق ، فقتل المتغيرات حلال .
#شرح

BY Asem Najee


Share with your friend now:
tgoop.com/AsemNajee/80

View MORE
Open in Telegram


Telegram News

Date: |

While some crypto traders move toward screaming as a coping mechanism, many mental health experts have argued that “scream therapy” is pseudoscience. Scientific research or no, it obviously feels good. There have been several contributions to the group with members posting voice notes of screaming, yelling, groaning, and wailing in different rhythms and pitches. Calling out the “degenerate” community or the crypto obsessives that engage in high-risk trading, Co-founder of NFT renting protocol Rentable World emiliano.eth shared this group on his Twitter. He wrote: “hey degen, are you stressed? Just let it out all out. Voice only tg channel for screaming”. Members can post their voice notes of themselves screaming. Interestingly, the group doesn’t allow to post anything else which might lead to an instant ban. As of now, there are more than 330 members in the group. Activate up to 20 bots More>>
from us


Telegram Asem Najee
FROM American