حلقة while
في جافا هي أداة تحكم في تدفق البرنامج تسمح بتنفيذ كتلة من التعليمات بشكل متكرر طالما أن شرطًا معينًا صحيحًا. تُستخدم هذه الحلقة عندما يكون عدد مرات التكرار غير معروف مسبقًا.
شكل الحلقة while
:
Java
while (الشرط) { // كتلة التعليمات التي سيتم تنفيذها طالما أن الشرط صحيح}
- الشرط: تعبير منطقي (Boolean expression) يتم تقييمه قبل كل تكرار. إذا كان الشرط صحيحًا (
true
)، يتم تنفيذ كتلة التعليمات داخل الحلقة. إذا كان الشرط خاطئًا (false
)، يتوقف تنفيذ الحلقة ويستمر البرنامج في التعليمات التي تليها. - كتلة التعليمات: مجموعة التعليمات التي سيتم تنفيذها بشكل متكرر طالما أن الشرط صحيح.
كيف تعمل حلقة while
؟
- يتم تقييم الشرط.
- إذا كان الشرط صحيحًا (
true
):- يتم تنفيذ كتلة التعليمات داخل الحلقة.
- يعود البرنامج إلى بداية الحلقة لتقييم الشرط مرة أخرى.
- إذا كان الشرط خاطئًا (
false
):- يتوقف تنفيذ الحلقة.
- يستمر البرنامج في تنفيذ التعليمات التي تلي الحلقة.
مثال بسيط:
Java
int count = 0;
while (count < 5) { System.out.println("Count: " + count); count++; // زيادة قيمة العداد في كل تكرار}
System.out.println("تم الانتهاء من الحلقة.");
في هذا المثال:
- يتم تهيئة متغير
count
بالقيمة 0. - تبدأ حلقة
while
حيث يتم فحص الشرطcount < 5
. - طالما أن قيمة
count
أقل من 5، يتم تنفيذ كتلة التعليمات داخل الحلقة:- طباعة قيمة
count
. - زيادة قيمة
count
بمقدار 1 باستخدامcount++
.
- طباعة قيمة
- عندما تصبح قيمة
count
تساوي 5، يصبح الشرطcount < 5
خاطئًا (false
)، ويتوقف تنفيذ الحلقة. - يتم طباعة الرسالة "تم الانتهاء من الحلقة."
ملاحظات مهمة:
- حلقة لانهائية: إذا كان الشرط في حلقة
while
دائمًا صحيحًا، ستستمر الحلقة في التنفيذ إلى ما لا نهاية، مما يتسبب في توقف البرنامج. يجب التأكد من وجود آلية لتغيير قيمة الشرط داخل الحلقة لتجنب الحلقات اللانهائية. في المثال السابق،count++
يضمن أن الحلقة ستتوقف في النهاية. - عدم تنفيذ الحلقة: إذا كان الشرط خاطئًا من البداية، لن يتم تنفيذ كتلة التعليمات داخل الحلقة أبدًا.
- تُستخدم حلقة
while
بشكل شائع عندما يكون عدد مرات التكرار غير معروف مسبقًا، على سبيل المثال، عند قراءة بيانات من ملف حتى الوصول إلى نهاية الملف، أو عند معالجة مدخلات المستخدم حتى يتم إدخال قيمة معينة.
أتمنى أن يكون هذا الشرح واضحًا ومفيدًا. إذا كان لديك أي أسئلة أخرى، فلا تتردد في طرحها.