คำสั่ง Break และ Continue
วันนี้เราจะมาเรียนรู้เกี่ยวกับคำสั่ง Break และ Continue ใน Java กัน คำสั่งเหล่านี้ช่วยให้เราควบคุมการทำงานของลูปได้อย่างยืดหยุ่นมากขึ้น
คำสั่ง Break
คำสั่ง break ใช้เพื่อออกจากลูปทันที โดยไม่ต้องรอให้เงื่อนไขของลูปเป็นเท็จ
การใช้งาน Break ในลูป
for (int i = 1; i <= 10; i++) {
if (i == 5) {
break;
}
System.out.println("รอบที่: " + i);
}
System.out.println("ออกจากลูปแล้ว");ผลลัพธ์:
รอบที่: 1
รอบที่: 2
รอบที่: 3
รอบที่: 4
ออกจากลูปแล้วการใช้ Break ใน Switch
break ยังใช้ใน switch statements เพื่อป้องกันการทำงานต่อไปยัง case ถัดไป:
int วัน = 3;
switch (วัน) {
case 1:
System.out.println("วันจันทร์");
break;
case 2:
System.out.println("วันอังคาร");
break;
case 3:
System.out.println("วันพุธ");
break;
default:
System.out.println("วันอื่นๆ");
}คำสั่ง Continue
คำสั่ง continue ใช้เพื่อข้ามการทำงานที่เหลือในรอบปัจจุบันของลูป และเริ่มการทำงานในรอบถัดไปทันที
ตัวอย่างการใช้ Continue
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue;
}
System.out.println("รอบที่: " + i);
}ผลลัพธ์:
รอบที่: 1
รอบที่: 2
รอบที่: 4
รอบที่: 5เปรียบเทียบ Break และ Continue
breakออกจากลูปทั้งหมดcontinueข้ามการทำงานที่เหลือในรอบปัจจุบัน และเริ่มรอบถัดไป
การใช้ Break และ Continue ในลูปซ้อน
เมื่อใช้ในลูปซ้อน คำสั่ง break และ continue จะมีผลกับลูปที่อยู่ในสุดเท่านั้น:
for (int i = 1; i <= 3; i++) {
System.out.println("ลูปนอก รอบที่: " + i);
for (int j = 1; j <= 3; j++) {
if (j == 2) {
break; // ออกจากลูปใน
}
System.out.println(" ลูปใน รอบที่: " + j);
}
}ผลลัพธ์:
ลูปนอก รอบที่: 1
ลูปใน รอบที่: 1
ลูปนอก รอบที่: 2
ลูปใน รอบที่: 1
ลูปนอก รอบที่: 3
ลูปใน รอบที่: 1ข้อควรระวังและแนวทางปฏิบัติที่ดี
- ใช้
breakและcontinueอย่างระมัดระวัง เพราะอาจทำให้โค้ดอ่านยากขึ้น - พยายามใช้เงื่อนไขของลูปแทนการใช้
breakถ้าเป็นไปได้ - ใช้ความคิดเห็น (comments) เพื่ออธิบายเหตุผลการใช้
breakหรือcontinueที่ซับซ้อน
ตัวอย่างการใช้งานจริง
ลองมาดูตัวอย่างโปรแกรมที่ใช้ทั้ง break และ continue ในการค้นหาจำนวนเฉพาะ:
public class หาจำนวนเฉพาะ {
public static void main(String[] args) {
int เริ่มต้น = 2;
int สิ้นสุด = 50;
System.out.println("จำนวนเฉพาะระหว่าง " + เริ่มต้น + " ถึง " + สิ้นสุด + " มีดังนี้:");
for (int i = เริ่มต้น; i <= สิ้นสุด; i++) {
boolean เป็นจำนวนเฉพาะ = true;
// ตรวจสอบว่า i เป็นจำนวนเฉพาะหรือไม่
for (int j = 2; j <= Math.sqrt(i); j++) {
if (i % j == 0) {
เป็นจำนวนเฉพาะ = false;
break; // ไม่ต้องตรวจสอบต่อ ถ้าพบว่าไม่ใช่จำนวนเฉพาะ
}
}
if (!เป็นจำนวนเฉพาะ) {
continue; // ข้ามไปตรวจสอบจำนวนถัดไป
}
System.out.print(i + " ");
}
}
}ผลลัพธ์:
จำนวนเฉพาะระหว่าง 2 ถึง 50 มีดังนี้:
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47สรุป
คำสั่ง break และ continue เป็นเครื่องมือที่มีประโยชน์ในการควบคุมการทำงานของลูป ช่วยให้เราสามารถเขียนโปรแกรมที่มีความยืดหยุ่นและมีประสิทธิภาพมากขึ้น อย่างไรก็ตาม ควรใช้อย่างระมัดระวังและพิจารณาถึงความชัดเจนของโค้ดด้วย