المتابعة وكسر يمكن أن يغير تدفق تنفيذ الحلقة ، ولكن في حلقات متعددة ، لا يمكن لهذين البيانين القفز مباشرة من الحلقة الداخلية إلى الحلقة الخارجية. بلغة C ، يمكن تحقيق قفزات حلقة متعددة من خلال عبارات GOTO ، ولكن استخدام عبارات GOTO في بنية غير حلقة سيؤدي إلى اضطراب بنية البرنامج وستكون قابلية القراءة أسوأ. لذلك ، اخترع Java عبارة متابعة وكسر معلم ، وهو في الواقع عبارة GOTO مع قيود على وجه التحديد للحلقات.
عادةً ما لا يحتوي عبارة متابعة (أو كسر) التي نستخدمها على تسمية ، مما يعني أن عبارة متابعة (أو كسر) يتم تنفيذها في الحلقة الحالية بشكل افتراضي. حلقة مع العلامات في الواقع تعطي الحلقة اسم. عند استخدام عبارة "متابعة (أو استراحة) + علامة" ، يتم تنفيذ عبارة متابعة (أو كسر) في الحلقة حيث توجد العلامة.
الآن دعونا نستخدم ثلاثة أمثلة لتوضيح حلقة تحمل علامات.
1. حلقة مزدوجة بدون تسميات
حزمة javaleanning ؛ الطبقة العامة lableTest {public static void main (string [] args) {for (int i = 0 ؛ i <10 ؛ i ++) {for (int j = 0 ؛ j <10 ؛ j ++) {system.out.print ("("+i+"،"+j+") ؛}}}نتائج التشغيل
(0،0) (0،1) (0،2) (0،3) (0،4) (0،5) (0،6) (0،7) (0،8) (0،9)
(1،0) (1،1) (1،2) (1،3) (1،4) (1،5) (1،6) (1،7) (1،8) (1،9)
(2،0) (2،1) (2،2) (2،3) (2،4) (2،5) (2،6) (2،7) (2،8) (2،9)
(3،0) (3،1) (3،2) (3،3) (3،4) (3،5) (3،6) (3،7) (3،8) (3،9)
(4،0) (4،1) (4،2) (4،3) (4،4) (4،5) (4،6) (4،7) (4،8) (4،9)
(5،0) (5،1) (5،2) (5،3) (5،4) (5،5) (5،6) (5،7) (5،8) (5،9)
(6،0) (6،1) (6،2) (6،3) (6،4) (6،5) (6،6) (6،7) (6،8) (6،9)
(7،0) (7،1) (7،2) (7،3) (7،4) (7،5) (7،6) (7،7) (7،8) (7،9)
(8،0) (8،1) (8،2) (8،3) (8،4) (8،5) (8،6) (8،7) (8،8) (8،9)
(9،0) (9،1) (9،2) (9،3) (9،4) (9،5) (9،6) (9،7) (9،8) (9،9)
2. حلقة مزدوجة مع ملصقات ، بيان "Break+Label"
في هذا المثال ، هو مزدوج للحلقة. نقوم بتسمية بداية الحلقة الخارجية (أي ، أعط الحلقة الخارجية اسمًا) "الخارجي". عند استخدام "Break Eutercycle" في الحلقة الداخلية ، فإنه يعادل استخدام عبارة BRIEK مباشرة في حلقة الخارجي.
حزمة Javaleanning. الفئة العامة lableTest {public static void main (string [] args) {OuterCycle: for (int i = 0 ؛ i <10 ؛ i ++) {for (int j = 0 ؛ j <10 ؛ j ++) {if (j == 5) {break extirecycle ؛ ") ؛} system.out.println () ؛}}}نتائج التشغيل
(0،0) (0،1) (0،2) (0،3) (0،4)
3. حلقة مزدوجة مع ملصقات ، "Conte+Label" بيان
في هذا المثال ، هو مزدوج للحلقة. نقوم بتسمية بداية الحلقة الخارجية (أي ، أعط الحلقة الخارجية اسمًا) "الخارجي". عند استخدام "متابعة الخارجي" في الحلقة الداخلية ، فإنه يعادل استخدام عبارة "متابعة" في حلقة الخارجي.
حزمة javaleanning ؛ الطبقة العامة lableTest {public static void main (string [] args) {OuterCycle: for (int i = 0 ؛ i <10 ؛ i ++) {for (int j = 0 ؛ j <10 ؛ j ++) {if (j == 5) {conterticecle ؛ ") ؛} system.out.println () ؛}}}نتائج التشغيل
(0،0) (0،1) (0،2) (0،3) (0،4) (1،0) (1،1) (1،2) (1،3) (1،4) (2،0) (2،1) (2،2) (4،3) (4،3) (4،1) (4،1) (4،1) (4،1) ( (4،3) (4،4) (5،0) (5،1) (5،2) (5،3) (5،4) (6،0) (6،1) (6،2) (6،3) (6،4) (7،0) (8،1) (8،1) (8،1) (8،3) (8،3) ( (9،1) (9،2) (9،3) (9،4)
ملاحظة: يتم عرض جميع نتائج التشغيل الفعلية على سطر واحد (أي أنه لا يتم تنفيذ بيان كسر الخط). الآن نتائج العرض هذه هي فقط لأسباب التخطيط.