لا يمكن تنفيذ عبارات البرنامج المنظمة بشكل تسلسلي إلا مرة واحدة. إذا كنت تريد تنفيذ نفس العملية عدة مرات، فستحتاج إلى استخدام بنية الحلقة.
هناك ثلاثة هياكل حلقة رئيسية في جافا:
أثناء الحلقة
افعل...أثناء الحلقة
للحلقة
في Java5 تم تقديم حلقة for محسنة بشكل أساسي للمصفوفات.
بينما هي الحلقة الأساسية، هيكلها هو:
بينما (تعبير منطقي) {
// محتوى الحلقة}
طالما أن التعبير المنطقي صحيح، فسيستمر تنفيذ نص الحلقة.
اختبار الطبقة العامة {
public static void main(String args[]) {
كثافة العمليات س = 10؛
بينما( س < 20 ) {
System.out.print("قيمة x :" + x );
س++;
System.out.print("n");
}
}
}
نتائج التجميع والتشغيل للمثال أعلاه هي كما يلي:
قيمة س: 10
قيمة س : 11
قيمة س : 12
قيمة س : 13
قيمة س : 14
قيمة س: 15
قيمة س: 16
قيمة س : 17
قيمة س : 18
قيمة س : 19
بالنسبة لتعليمة while، إذا لم يتم استيفاء الشرط، فلا يمكن إدخال الحلقة. لكن في بعض الأحيان نحتاج إلى تنفيذها مرة واحدة على الأقل حتى لو لم يتم استيفاء الشروط.
حلقة do...while تشبه حلقة while، فيما عدا أن حلقة do...while سيتم تنفيذها مرة واحدة على الأقل.
يفعل {
// بيان الكود} while(تعبير منطقي);
ملاحظة: التعبير المنطقي يأتي بعد نص الحلقة، لذلك تم تنفيذ كتلة البيان قبل اكتشاف التعبير المنطقي. إذا تم تقييم التعبير المنطقي إلى صواب، فسيتم تنفيذ كتلة البيان حتى يتم تقييم التعبير المنطقي إلى خطأ.
اختبار الطبقة العامة {
الفراغ الثابت العام الرئيسي(String args[]){
كثافة العمليات س = 10؛
يفعل{
System.out.print("قيمة x :" + x );
س++;
System.out.print("n");
}بينما( س < 20 } }
نتائج التجميع والتشغيل للمثال أعلاه هي كما يلي:
قيمة س: 10
قيمة س : 11
قيمة س : 12
قيمة س : 13
قيمة س : 14
قيمة س: 15
قيمة س: 16
قيمة س : 17
قيمة س : 18
قيمة س : 19
على الرغم من أنه يمكن التعبير عن جميع بنيات الحلقات باستخدام while أو do...while، إلا أن Java توفر عبارة أخرى - for Loop، مما يجعل بعض بنيات الحلقات أكثر بساطة.
يتم تحديد عدد مرات تنفيذ الحلقة قبل التنفيذ. تنسيق بناء الجملة كما يلي:
ل(التهيئة؛ التعبير المنطقي؛ التحديث) {
// بيان الكود }
فيما يلي بعض الملاحظات حول حلقة for:
يتم تنفيذ خطوة التهيئة أولاً. يمكن الإعلان عن النوع، ولكن يمكن تهيئة واحد أو أكثر من متغيرات التحكم في الحلقة، أو يمكن أن يكون عبارة فارغة.
ثم اختبر قيمة التعبير المنطقي. إذا كان صحيحًا، فسيتم تنفيذ نص الحلقة. إذا كانت خاطئة، تنتهي الحلقة ويبدأ تنفيذ العبارات التالية لجسم الحلقة.
بعد تنفيذ الحلقة مرة واحدة، قم بتحديث متغيرات التحكم في الحلقة.
تحقق من التعبير المنطقي مرة أخرى. تنفيذ العملية المذكورة أعلاه في حلقة.
اختبار الطبقة العامة {
public static void main(String args[]) {
ل(int x = 10; x < 20; x = x+1) {
System.out.print("قيمة x :" + x );
System.out.print("n");
}
}
}
نتائج التجميع والتشغيل للمثال أعلاه هي كما يلي:
قيمة س: 10
قيمة س : 11
قيمة س : 12
قيمة س : 13
قيمة س : 14
قيمة س: 15
قيمة س: 16
قيمة س : 17
قيمة س : 18
قيمة س : 19
قدمت Java5 حلقة for محسنة بشكل أساسي للمصفوفات.
تنسيق Java المحسّن لبناء جملة الحلقة هو كما يلي:
لـ (بيان الإعلان: التعبير)
{
// جملة الكود }
بيان الإعلان: قم بتعريف متغير محلي جديد، ويجب أن يتطابق نوع المتغير مع نوع عنصر الصفيف. يقتصر نطاقها على كتلة بيان الحلقة، وقيمتها تساوي قيمة عنصر الصفيف في هذا الوقت.
التعبير: التعبير هو اسم المصفوفة التي سيتم الوصول إليها، أو الطريقة التي تُرجع مصفوفة.
اختبار الطبقة العامة {
الفراغ الثابت العام الرئيسي(String args[]){
عدد صحيح [] = {10، 20، 30، 40، 50}؛
ل(int x: أرقام){
System.out.print(x);
System.out.print("،");
}
System.out.print("n");
أسماء السلسلة [] ={"James"، "Larry"، "Tom"، "Lacy"}؛
لـ (اسم السلسلة: الأسماء) {
System.out.print(اسم);
System.out.print("،");
}
}
}
نتائج التجميع والتشغيل للمثال أعلاه هي كما يلي:
10،20،30،40،50،
جيمس، لاري، توم، لاسي،
يتم استخدام Break بشكل أساسي في عبارات الحلقة أو عبارات التبديل للانتقال من كتلة البيان بأكملها.
يقفز Break من الحلقة الأعمق ويستمر في تنفيذ العبارات الموجودة أسفل الحلقة.
استخدام الاستراحة بسيط للغاية، فهو عبارة عن عبارة في بنية الحلقة:
استراحة؛
اختبار الطبقة العامة {
public static void main(String args[]) {
عدد صحيح [] = {10، 20، 30، 40، 50}؛
ل(int x: أرقام) {
إذا (س == 30) {
استراحة؛
}
System.out.print(x);
System.out.print("n");
}
}
}
نتائج التجميع والتشغيل للمثال أعلاه هي كما يلي:
10
20
ينطبق الاستمرار على أي بنية تحكم في الحلقة. وتتمثل الوظيفة في السماح للبرنامج بالانتقال فورًا إلى التكرار التالي للحلقة.
في حلقة for، يؤدي بيان المتابعة إلى انتقال البرنامج فورًا إلى بيان التحديث.
في حلقة while أو do...while، ينتقل البرنامج فورًا إلى بيان الحكم الخاص بالتعبير المنطقي.
continue عبارة بسيطة في نص الحلقة:
يكمل؛
اختبار الطبقة العامة {
public static void main(String args[]) {
عدد صحيح [] = {10، 20، 30، 40، 50}؛
ل(int x: أرقام) {
إذا (س == 30) {
يكمل؛
}
System.out.print(x);
System.out.print("n");
}
}
}
نتائج التجميع والتشغيل للمثال أعلاه هي كما يلي:
10
20
40
50