0Pricing
Java Academy · บทเรียน

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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. break และ continue
  2. break แบบมีป้ายกำกับ
  3. continue แบบมีป้ายกำกับ
  4. หลีกเลี่ยงลำดับการทำงานแบบสปาเกตตี
← กลับไปที่ Java Academy