break และ continue
ข้ามและออกจากรอบการทำซ้ำ
break และ continue เป็นบทเรียน Java Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Java Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Java Academy มีบทเรียนทั้งหมด 4 บทเรียน
เหตุใดจึงควบคุมลูป
ลูปใช้ทำซ้ำโค้ด แต่บางครั้งคุณจำเป็นต้องหยุดก่อนกำหนดหรือข้ามรายการบางรายการ
Java มีเครื่องมือง่าย ๆ สองอย่างสำหรับงานนี้ ได้แก่ break ซึ่งจบลูปทั้งหมด และ continue ซึ่งข้ามไปยังรอบถัดไป
ในบทเรียนนี้ คุณจะได้เรียนรู้ว่าแต่ละคำสั่งทำงานเมื่อใด และเปลี่ยนลำดับการทำงานของลูปอย่างไร
คำสั่ง break
คีย์เวิร์ด break จะหยุดลูปที่อยู่ใกล้ที่สุดทันที
การทำงานจะกระโดดไปยังบรรทัดแรกหลังลูป รอบที่เหลือทั้งหมดจะถูกยกเลิก
ในตัวอย่างด้านล่าง ลูปจะหยุดทันทีที่ i มีค่าเป็น 3
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
break;
}
System.out.println("i = " + i);
}
System.out.println("Done");
}
}สิ่งที่ break แสดงผล
โปรแกรมแสดง i = 1 และ i = 2 จากนั้นจึงแสดง Done
เมื่อ i มีค่าเป็น 3 คำสั่ง break ก็ทำงาน ดังนั้น 3, 4 และ 5 จึงไม่ถูกแสดง
break เหมาะอย่างยิ่งเมื่อคุณพบสิ่งที่ต้องการแล้วและต้องการหยุดการค้นหา
คำสั่ง continue
คีย์เวิร์ด continue จะข้ามส่วนที่เหลือของรอบปัจจุบัน
ลูปจะไม่หยุด แต่จะกระโดดกลับไปยังส่วนหัวของลูปและลองค่าถัดไป
ในที่นี้ เราข้ามเลข 3 แต่ยังทำงานต่อไป
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 5; i++) {
if (i == 3) {
continue;
}
System.out.println("i = " + i);
}
}
}สิ่งที่ continue แสดงผล
ผลลัพธ์คือ 1, 2, 4, 5 โดยข้ามค่า 3 ไป แต่ลูปยังทำงานต่อ
นี่คือความแตกต่างสำคัญ: break ออกจากลูป ส่วน continue ข้ามเพียงหนึ่งรอบ
การข้ามเลขคู่
การใช้งาน continue ที่พบได้บ่อยคือการกรอง เราจะข้ามค่าที่ไม่สนใจ
ลูปนี้แสดงเฉพาะเลขคี่ โดยใช้ continue ทุกครั้งที่พบว่าเลขนั้นเป็นเลขคู่
public class Main {
public static void main(String[] args) {
for (int i = 1; i <= 8; i++) {
if (i % 2 == 0) {
continue;
}
System.out.println(i);
}
}
}break ในลูป while
break และ continue ใช้ได้กับลูปทุกประเภท ได้แก่ for, while และ do-while
ลูป while นี้จะนับเพิ่มขึ้น แต่จะหยุดทันทีที่ผลรวมเกิน 10
public class Main {
public static void main(String[] args) {
int total = 0;
int n = 1;
while (true) {
total += n;
if (total > 10) {
break;
}
n++;
}
System.out.println("Stopped at total = " + total);
}
}break ออกจากลูปเดียวเท่านั้น
กฎสำคัญคือ break ธรรมดาจะออกจากลูปที่อยู่ ชั้นในสุด ซึ่งครอบคำสั่งนั้นอยู่เท่านั้น
หากมีลูปซ้อนอยู่ในลูปอีกชั้น break จะออกจากลูปด้านใน ส่วนลูปด้านนอกยังทำงานต่อ
โปรดพิจารณาตัวอย่างลูปซ้อนนี้อย่างระมัดระวัง
public class Main {
public static void main(String[] args) {
for (int row = 1; row <= 3; row++) {
for (int col = 1; col <= 3; col++) {
if (col == 2) {
break;
}
System.out.println("row " + row + ", col " + col);
}
}
}
}ผลลัพธ์ของ break ในลูปซ้อน
break หยุดเพียงลูปคอลัมน์ด้านใน ดังนั้นแต่ละแถวจึงแสดงเพียง col 1
ลูปแถวด้านนอกยังทำงานต่อจนครบทั้งสามแถว
หากต้องการออกจากลูป ทั้งสอง พร้อมกัน คุณต้องใช้ break ที่มีป้ายกำกับ ซึ่งจะเรียนในบทถัดไป
continue มีผลต่อลูปที่ใกล้ที่สุดเช่นกัน
เช่นเดียวกับ break, continue ธรรมดาจะมีผลเฉพาะกับลูปที่ครอบคำสั่งนั้นอยู่โดยตรง
ในลูปซ้อน continue จะกระโดดไปยังรอบถัดไปของลูปด้านใน ไม่ใช่ลูปด้านนอก
โปรดคำนึงถึงเรื่องนี้เมื่อมีกระบวนการทำงานครอบคลุมสองลูป
public class Main {
public static void main(String[] args) {
for (int a = 1; a <= 2; a++) {
for (int b = 1; b <= 3; b++) {
if (b == 2) {
continue;
}
System.out.println(a + "-" + b);
}
}
}
}แบบจำลองความเข้าใจอย่างรวดเร็ว
ลองนึกภาพว่าลูปเป็นลู่วิ่งที่คุณวิ่งวนรอบ
break = ออกจากลู่วิ่งแล้วเดินจากไป ส่วน continue = ข้ามไปยังจุดเริ่มต้นเพื่อเริ่มรอบถัดไป
ทั้งสองคำสั่งมีผลเฉพาะกับลู่วงที่คุณกำลังอยู่ ไม่เคยมีผลกับลูปด้านนอก
ตรวจสอบอย่างรวดเร็ว
ทดสอบความเข้าใจของคุณเกี่ยวกับ break และ continue
ทบทวน
คุณได้เรียนรู้ว่า break ออกจากลูปที่ใกล้ที่สุด ส่วน continue จะข้ามไปยังรอบถัดไปของลูปนั้น
ในลูปซ้อน ทั้งสองคำสั่งมีผลเฉพาะกับลูปชั้นในสุด หากต้องการควบคุมลูปด้านนอก คุณต้องใช้ป้ายกำกับ ซึ่งจะได้เรียนต่อไป
คำถามที่พบบ่อย
บทเรียน “break และ continue” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “break และ continue” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Java Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Java Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “break และ continue”
ข้ามและออกจากรอบการทำซ้ำ คุณปฏิบัติ Java Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Java Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Java Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “break และ continue” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Java Academy นี้ได้ไหม
ได้ บทเรียน Java Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ