freeCodeCamp/guide/arabic/java/loops/infinite-loops/index.md

62 lines
2.4 KiB
Markdown

---
title: Infinite Loops
localeTitle: حلقات لا نهائية
---
# حلقات لا نهائية
حلقة infinte هي عبارة `for` عبارة حلقة ( `for` ، `while` ، `do-while` ) لا تنتهي من تلقاء نفسها.
يحدد شرط اختبار عبارة looping ما إذا كان سيتم تنفيذ الحلقة loop أم لا. لذا فإن حالة الاختبار التي تكون دائمًا صحيحة سوف تستمر في تنفيذ جسم الحلقة إلى الأبد. هذا هو الحال في حلقة infinte.
أمثلة:
`// Infinite For Loop
for ( ; ; )
{
// some code here
}
// Infinite While Loop
while (true)
{
// some code here
}
// Infinite Do While Loop
do
{
// some code here
} while (true);
`
عادةً ، إذا كان يتم تشغيل الحلقة الخاصة بك بشكل لا نهائي ، فهذا خطأ لا ينبغي أن يحدث لأن حلقة لا نهائية لا تتوقف وتمنع بقية البرنامج من التشغيل.
`for(int i=0;i<100;i++){
if(i==49){
i=0;
}
}
`
يتم تشغيل الحلقة أعلاه بشكل لا نهائي لأن كل مرة أقترب فيها من 49 ، يتم تعيينها إلى 0. هذا يعني أني لم تصل إلى 100 لإنهاء الحلقة ، لذا فإن الحلقة هي حلقة لا نهائية.
لكن برنامجًا عالقًا في حلقة كهذه سيستمر في استخدام موارد الكمبيوتر إلى أجل غير مسمى. هذا غير مرغوب فيه ، وهو نوع من "خطأ وقت التشغيل".
لمنع الخطأ ، يقوم المبرمجون باستخدام عبارة فاصل للخروج من الحلقة. الكسر ينفذ فقط تحت شرط معين. استخدام بيان تحديد مثل if else يضمن نفسه.
`while (true)
{
// do something
if(conditionToEndLoop == true)
break;
// do more
}
`
الميزة الرئيسية لاستخدام حلقة لا نهائية عبر حلقة منتظمة هي قابلية القراءة.
في بعض الأحيان ، يكون من السهل فهم جسم الحلقة إذا انتهت الحلقة في المنتصف ، وليس في النهاية / البداية. في مثل هذه الحالة ، ستكون حلقة لا نهائية خيارًا أفضل.