الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

طلب مساعدة في شرح مصفوفة بسيطة جدا array

بدأه loverhac22 في 8 أغسطس 2011 · 4 رد · 977 مشاهدة · في JavaSE
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

انا مبتدأفي لغة الجافا وحبتها كثيرا ولكن احيانا اجد بعض الصعوبات في بعض الدوال , احيانا احتاج الى من يشرحها لي لكي استمر.

هذا كود بسيط لمصفوفة اريد من يساعدني فيها.

int[] ages=new int[10];

for(int i=0;i<ages.length;i++){System.out.print(aages;}

المطلوب هو شرح الجمل المظللة باللون الازرق , ages.length ماهو الغرض من كلمة length هذا اولا,

ثانيا ages شرح كل حرف في هذا السطر وما هو الغرض من وضع المتغير i داخل القوسين.

برجاء المساعدة ضروري.

#3
int[] ages=new int[10];
for(int i=0;i<ages.length;i++){System.out.print(aages);}

طبعاً السطر الأول هو لتعريف مصفوفة من نوع int (أي أن جميع عناصرها عبارة عن int)، وحجم هذه المصفوفة 10 عناصر وبدايةً تكون كل القيم صفر يعني: [0, 0, 0، 0, 0, 0، 0, 0, 0، 0]

السطر الثاني هو عبارة عن for loop، والـ for loop يتكون من ثلاثة أجزاء:

for(1;2;3)

1- تعريف عدّاد وتعريف قيمة ابتدائية له (غالباً ما تكون صفر)

2- الشرط الذي سيتحقق منه البرنامج قبل كل دورة، إذا كان الشرط صحيحاً يدخل الـ loop وإلا لن يدخل

3- جملة زيادة العدّاد بعد كل دورة

بالنسبة لسؤالك:

الخاصية length هي موجودة في كل array مصفوفة وتعني طول المصفوفة أو عدد عناصرها، والأمر ages.length يعني طول المصفوفة ages وهو 10 لأننا عرفناه بالبداية على أن طول المصفوفة 10. طبعاً System.out.print للطباعة.

للوصول لعنصر ما بالمصفوفة نضع مكان العنصر index بين قوسين [] بعد اسم المصفوفة، يعني لو أردنا قيمة العنصر الأول من المصفوفة نضع 0 بين القوسين (في الجافا أول عنصر موقعه 0)

ages[0]

في مثالنا، لدينا الأمر التالي داخل الـ for loop:

System.out.print(aages;

لو تلاحظ معي، بأن هذا الأمر هو لطباعة قيمة العنصر الذي موقعه i في المصفوفة ages، وقيمة i تعتمد على الـ for loop

نأتي للمثال، بدايةً سيقوم البرنامج بتعريف العدّاد i ويضع له قيمة 0، ثم يقوم بفحص الشرط i<ages.length وهو صحيح لأن 10>0، وبالتالي سيدخل إلى الـ loop، وسيطبع العنصر الذي موقعه i في المصفوفة ages، وقيمة i هنا بصفر أي أنه سيطبع أول عنصر بالمصفوفة. بعد ذلك، سينتقل إلى جملة زيادة العدّاد وستزيد قيمة i بقيمة واحدة (++i تعني i = i + 1). بعد ذلك ستحقق مرة أخرى من الشرط وسيكون 10>1 وهو صحيح، وسيدخل داخل الـ loop وسيطبع قيمة العنصر الذي موقعه 1 في المصفوفة ages، ثم سيعود لجملة زيادة العدّاد وستصبح قيمة i بـ 2، ثم سيتحقق من الشرط والذي سيكون 10>2 وسيدخل الـ loop وسيطبع العنصر الذي موقعه 2 في المصفوفة ages، ثم سيزيد العدادّ ... وهكذا دواليك حتى يأتي لجملة العدّاد وتصبح قيمة العدّاد 10، وسيتحقق من الشرط والذي سيكون 10>10 وهو بالطبع غير صحيح، وبالتالي لن يدخل الـ loop وسينفذ بقية الأوامر التالية لهذا الـ loop إن وجدت.

هذه فكرة الـ for loop في أغلب اللغات.

بالتوفيق ~

2
597657.png
#4

الرجاء التوضيح اكثر فأنت تعاملني على اساس اني محترف مع اني مبتدأ!! :sad:

التوضيح بخصوص السطر الثاني وخاصة المظللة باللون الاخضر

int[] ages=new int[10];

for(int i=0;i<ages.length;i++){System.out.print(aages[i];}

اعزروني رجاء ومن فضلكم افيدوني

#5

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

وبالتوفيق

1

إذا نظــرتَ نيـوب اللـّيـثِ بـارزةً         فـلا تظــنَنَ أَنَّ اللـّيـــثَ يبْتسـِـــمُ


 


 


رسم المخططات البيانية بواسطة الجافا


 


كتاب تحليل وتصميم نظم المعلومات


مواضيع مشابهة