الحلقة اللانهائية
جزء من قسم Fundamentals في رحلة Java على Coddy — الدرس 49 من 73.
الحلقة اللانهائية (infinite loop) هي حلقة لا تتوقف أبداً لأن شرطها يتم تقييمه دائماً على أنه true. يمكن أن تحدث هذه الحلقات مع أي نوع من أنواع الحلقات (for، while، do-while)، ولكنها ترتبط بشكل شائع بحلقات while و do-while لأن شروطها يتم تحديدها بشكل صريح.
إليك مثال على حلقة while لانهائية:
while (true) {
System.out.println("This will print forever!");
}في هذه الحالة، الشرط هو ببساطة true، والذي يتم تقييمه دائماً كـ true. وبالتالي، ستعمل الحلقة بشكل غير محدود، مما يؤدي لطباعة الرسالة مراراً وتكراراً.
طريقة أخرى لإنشاء حلقة لا نهائية هي عن طريق حذف الشرط في حلقة for:
for (;;) {
System.out.println("This also prints forever!");
}هنا، تم حذف أجزاء التهيئة، والشرط، والتحديث في حلقة for بالكامل. هذا ينشئ حلقة تعمل إلى الأبد.
يمكن أن تحدث الحلقات اللانهائية أيضًا بشكل غير مقصود، كما هو الحال عندما يكون شرط الحلقة دائمًا true بسبب خطأ منطقي:
int i = 0;
while (i < 10) {
System.out.println("i is: " + i);
// i++ مفقودة لزيادة i
}في هذا المثال، المتغير i لا يتم زيادته أبدًا، لذا فإن الشرط i < 10 يكون دائمًا true. يؤدي هذا إلى إنشاء حلقة لا نهائية ستستمر في طباعة "i is: 0" إلى ما لا نهاية.
يمكن أن تكون الحلقات اللانهائية مفيدة في بعض الحالات، مثل برامج الخادم التي تحتاج إلى الاستمرار في العمل حتى يتم إيقافها يدويًا. ومع ذلك، يمكن أن تتسبب أيضًا في تجميد البرامج أو تعطلها إذا لم يتم التعامل معها بشكل صحيح.
ورقة مرجعية
الحلقة اللانهائية هي حلقة لا تتوقف أبداً لأن شرطها يتم تقييمه دائماً على أنه true.
حلقة while لانهائية مقصودة:
while (true) {
System.out.println("This will print forever!");
}حلقة for لانهائية مقصودة (مع حذف جميع الأجزاء):
for (;;) {
System.out.println("This also prints forever!");
}حلقة لانهائية غير مقصودة (نقص في الزيادة):
int i = 0;
while (i < 10) {
System.out.println("i is: " + i);
// i++ مفقودة لزيادة i
}جرّب بنفسك
لا يتضمّن هذا الدرس تحدّيًا برمجيًا.
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص7أساسيات الإدخال والإخراج
دوال System.outتنسيق المخرجاتكلاس Scannerمراجعة - حتى 120مراجعة - صح أم خطأ5المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع3المتغيرات - الجزء الثاني
الثوابتقواعد التسميةمراجعة - تهيئة المتغيراتتحويل الأنواع - الجزء الأولتحويل الأنواع - الجزء الثاني6اتخاذ القرار
جملة Ifجملة If - Elseجملة Switchالمعامل الثلاثيمراجعة - If Elseجملة If - Else المتداخلة9الحلقات التكرارية
حلقة For - الجزء الأولحلقة Whileحلقة Do WhileBreakContinueحلقة For - الجزء الثانيالحلقات المتداخلةالحلقة اللانهائيةمراجعة - المدخلات الديناميكية