การใช้ คำสั่ง Break และ Continue
การทำงาน
เป็นคำสั่งที่นำมาใช้ร่วมกับกลุ่มคำสั่ง Iteration เพื่อให้หลุดออกจาก Loop หรือ ทำงานต่อไปภายใน Loop
– Break
ถ้าโปรแกรมพบคำสั่งนี้ จะทำให้หลุดออกจาก Loop การทำงานทันที
– Continue
ถ้าโปรแกรมพบคำสั่งนี้ จะทำให้หยุดการทำงานที่จุดนั้น แล้วย้อนกลับไปเริ่มต้นการทำงานที่ต้น Loop ใหม่
3.6.1 คำสั่ง Break
รูปแบบออกจากลูป while ด้วยคำสั่ง Break
while( เงื่อนไข ในการวนลูป)
{
….
if( เงื่อนไขที่จะออกจากลูป )
break; ( จะออกจากลูป ไปทำคำสั่งหลังลูป)
….
}
คำสั่งหลังลูป;
รูปแบบออกจากลูป for ด้วยคำสั่ง Break
for (int i = 0; i < 5; i++)
{
System.out.print(“<“);
if (i == 2)
break;
System.out.print(i + “>”);
}
ตัวอย่างโปรแกรมการใช้ labeled break
public class LabeledBreak {
public static void main(String[] args) {
stop:
for(int r = 1; r <= 10; r++) {
for(int c = 1; c <= 5; c++) {
if(r == 5)
break stop;
System.out.print(“(” + r + “, ” + c + “)”);
}
System.out.println(“”);
}
}
}
คำอธิบายเพิ่มเติม
for loop จะยุติการทำงานเมื่อค่าของ r เป็น 5 เพราะ statement ที่ว่า if(r == 5) break stop; ที่
อยู่ภายใน for loop ชั้นใน เพราะฉนั้น for loop ก็จะ print เพียงแค่ 5 บรรทัด (แทนที่จะเป็น 10 ตามปกติ)
3.6.2 คำสั่ง Continue
รูปแบบออกจากลูป while ด้วยคำสั่ง Continue
while( เงื่อนไขในการวนลูป)
{
….
if( เงื่อนไขที่จะกลับไปต้นลูป )
continue;
….
}
รูปแบบออกจากลูป for ด้วยคำสั่ง Continue
for (ประโยคเริ่ม; เงื่อนไข; ประโยคอัพเดท)
{
….
if( เงื่อนไขที่จะกลับไปต้นลูป )
continue;
….
}
ตัวอย่างโปรแกรมการใช้ labeled Continue
public class LabeledContinue {
public static void main(String[] args) {
stop:
for(int r = 1; r <= 5; r++) {
System.out.println(“”);
for(int c = 1; c <= 10; c++) {
if(c > r)
continue stop;
System.out.print(“(” + r + “, ” + c + “) “);
}
}
}
}
คำอธิบายเพิ่มเติม
ตัวอย่างของ labeled continue จะ print ค่าทั้งหมด 5 แถวแต่จะ print ค่าเพียงหนึ่งค่าในแต่ละแถว
เพราะ statement ที่ว่า if(c > r) continue stop; จะยุติการทำงานของ for loop ชั้นในเมื่อค่าของ c > r และ
จะทำการ execute for loop ชั้นนอกจนกว่าค่าของ r จะมากกว่า 5