في لغة الجافا for loop
هنبداء بمقدمة بسيطة توضح لنا المشكلة وطرق حلها باستخدام loop .
لو اطلب منك طباعة الاعداد من رقم ١ حتى رقم ٥ .
هيكون الكود كالتالى :
System.out.println(1);
System.out.println(2);
System.out.println(3);
System.out.println(4);
System.out.println(5);
هنلاحظ ان كود الطباعة يتم تكرارة ودا طبعا مش صحيح .
طيب لو اطلب منك طباعة الارقام من ١ حتى ١٠٠
هل هتكرر كتابة الكود مائة مرة .
من هنا وجدنا الحل وهو استخدام loop
Loop ببساطة هو تكرار كود معين اكثر من مرة
وهناك العديد من الادوات المستخدمة فى عمليات التكرار وهى
for ( ) { }
do { } while ( )
while ( ) { }
وكلا من الادوات السابقة تؤدى نفس الغرض وهو تكرار كود معين اكثر من مرة .
الا ان هناك اختلاف بينهم فى طريقة تنفيذها وكمان طريقة كتابتها .
ودا هنوضحة مع الشرح .
قبل استخدام احد هذة الادوات لابد من تحديد اربعة عناصر وهذة العناصر الاربعة يجب توافرهم مع اى اداة من ادوات loop السابقة .
1- initial value .
وهى القيمة الابتدائية .
2-statements .
وهو الكود البرمجى الذى سيظهر للمستخدم .
3-condition .
وهو الشرط الذى يتم وضعة لدخول loop فى حالة تحققة (true )
اما فى حالة عدم تحققة (false ) يتم الخروج من loop
4- incremental step .
وهى قيمة الزيادة . وبدونها سيتم تكرار loop عدد لانهائى من المرات .
اولا : ( ) for
تستخدم لتكرار الكود عدد محدد من المرات ولن يتوقف loop حتى ينتهى من العدد المحدد فى التكرار .
وحتى نتمكن من طباعة الاعداد من 0 حتى 9 باستخدام for
for (int x=0;x<10;x++) {
System.out.println(x);
}
هنا نلاحظ الاتى :
-ان عدد مرات التكرار محددة .
– توافر العناصر الاربعة السابق شرحهم وهما
int x=0 initial value
System.out .println(x) statements
x<10. condition
x++ incremental step
اما طريقة عمل for فى هذا المثال تتلخص فى الاتى :
فى البداية يتم تعريف متغير اسمة x ونعطية قيمة ابتدائية 0 ومن الممكن اعطائة اية قيمة ابتدائية .
ثم يذهب الى الشرط ويسئل هل 0 اقل من 10 الاجابة تكون true وبالتالى يتم الدخول الى loop وطباعة قيمة x وهى 0
بعدها يذهب الى incremental step ويتم زيادة قيمة x بواحد لتصبح القيمة المخزنة فى x هى 1 بعدها يذهب الى الشرط ويسئل هل 1 اقل من 10 الاجابة تكون true وبالتالى يتم الدخول الى loop وطباعة قيمة x وهى 1.
وهكذا حتى تصبح قيمة x تساوى 10 فيذهب الى الشرط ويسئل هل 10 اقل من 10 الاجابة تكون false وبالتالى يخرج من loop