Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

คำสั่ง break ใน Java: คู่มือการใช้งาน

คำสั่ง break ใน Java ใช้เพื่อหยุดการทำงานของลูป (loop) ทันที เมื่อโปรแกรมพบคำสั่ง break จะข้ามการทำงานของลูปที่อยู่ในขณะนั้นและไปทำงานคำสั่งถัดไปหลังลูปนั้นทันที หากใช้ break ภายใน nested loop (ลูปซ้อน) จะมีผลเฉพาะลูปชั้นในสุดเท่านั้น

คำสั่ง break ใน Java

คำสั่ง break ใช้ควบคุมโฟลว์ของโปรแกรมเมื่อต้องการออกจากลูปก่อนเวลาตามเงื่อนไขที่กำหนด รูปแบบการเขียนคือ:

break;

break เป็นคีย์เวิร์ดที่ทำงานได้ด้วยตัวเอง ไม่รับอาร์กิวเมนต์ เนื่องจากไม่ใช่ฟังก์ชัน เมื่อโปรแกรมพบ break จะข้ามการทำงานรอบปัจจุบันของลูปและออกจากลูปทันที

ตัวอย่างการใช้งาน break

สมมติเราเขียนโปรแกรมให้ผู้ใช้ทายตัวเลข 1-10 มีโอกาสทายได้ 5 ครั้ง หากทายถูกจะแสดงข้อความยินดีและหยุดโปรแกรมทันที

import java.util.Scanner;

class GuessingGame {
    public static void main(String[] args) {
        int number = 6;
        Scanner input = new Scanner(System.in);
        
        for (int i = 0; i <= 5; i++) {
            System.out.print("Guess a number between 1 and 10: ");
            int guess = input.nextInt();
            
            if (guess == number) {
                System.out.println("You're correct!");
                break; // ออกจากลูปทันทีเมื่อทายถูก
            }
        }
    }
}

ผลลัพธ์:

Guess a number between 1 and 10: 1
Guess a number between 1 and 10: 6
You're correct!

อธิบายโค้ด

  1. นำเข้า java.util.Scanner เพื่อรับค่าจากผู้ใช้
  2. สร้างคลาส GuessingGame
  3. กำหนดตัวแปร number = 6 เป็นคำตอบ
  4. ลูป for วน 5 รอบ (i = 0 ถึง 5)
  5. รับค่าจากผู้ใช้เก็บใน guess
  6. ตรวจสอบว่า guess == number หรือไม่
  7. หากตรงกัน แสดงข้อความและ break ออกจากลูป
  8. หากไม่ตรง ลูปจะทำงานต่อจนครบ 5 รอบ

คำสั่ง break ใน Nested Loop

ใน nested loop คำสั่ง break จะมีผลเฉพาะลูปชั้นในที่อยู่เท่านั้น ตัวอย่าง:

for (int i = 0; i < 3; i++) {
    while (true) {
        if (condition) {
            break; // ออกจาก while loop เท่านั้น
        }
    }
    // for loop ยังทำงานต่อ
}

Labelled break Statement

ใช้เมื่อต้องการออกจากลูปชั้นนอก (outer loop) โดยระบุ label:

outerLoop:
for (int i = 0; i < 3; i++) {
    for (int j = 0; j < 3; j++) {
        if (condition) {
            break outerLoop; // ออกจาก all loops จนถึง outerLoop
        }
    }
}

เมื่อ break outerLoop ทำงาน โปรแกรมจะออกจากลูปทั้งสองชั้นและทำงานคำสั่งถัดไปหลัง outerLoop

สรุป

คำสั่ง break ใช้หยุดลูปทันที ในขณะที่ labelled break ใช้ควบคุมการออกจากลูปชั้นนอกได้ ทั้งสองคำสั่งช่วยควบคุมโฟลว์ของโปรแกรมให้มีประสิทธิภาพมากขึ้น