Câu lệnh break-continue trong Java

Tóm tắt:Câu lệnh break và continue được sử dụng trong vòng lặp do-while, while và for nhằm để rẻ nhánh ngay lập tức mà bỏ qua các dòng lệnh còn lại sau nó trong khối mã[1] với một điều kiện nào đó. Lệnh break thì thoát ngay lập tức khỏi khối lệnh của vòng lập. Lệnh continue không thực hiện các dòng lệnh bên dưới mà quay lại thực hiện phần tử tiếp theo trong vòng lặp.

1. Break và Continue

BreakContinue là hai từ khóa lệnh đơn giản không tham số. Mục đích của chúng là rẻ nhánh như câu lệnh if … else …switch … case … Nhưng nó thực hiện rẽ nhánh ngay vị trí mà nó đứng theo một ý nghĩa đã được thiết lập cố định.

Hai câu lệnh này được sử dụng trong các vòng lập như do-while, while, for. Số lần lặp của khối lệnh trong chúng sẽ bị breakcontinue điều khiển được tiếp tục hay dừng lại hay thực hiện đối tượng kế tiếp trong danh sách lập.

2. Lệnh Break

Break là lệnh dể giải nhất trong ngôn ngữ lập trình Java. Nó có thể được đặt ở bất cứ nơi nào trong khối lệnh thuộc vòng lập mà không cần tham số.

Mục tiêu chính của lệnh là thoát khổi khối vòng lặp đang chứa nó để thực hiện các dòng lệnh tiếp theo sau khối lệnh đó.

Ta thường thấy lệnh break trong câu lệnh switch … case … Dưới đây là ví dụ trong mã Java.

public void breakInSwitchCase() {
     int carCode = 1;
     switch (carCode) {
         case 1:
             System.out.println("This is a car.");
             break;
         case 2:
             System.out.println("This is a bicycle.");
             break;
         default:
             System.out.println("I don't know");
     }
 }

Phổ biến với do … while …, whilefor. Câu lệnh bên dưới nhằm in ra các ngày có số thứ tự nhỏ hơn hoặc bằng 15. Nếu lớn hơn một lệnh break được gọi để thoát khỏi vòng lặp đó mà không thực hiện dòng lệnh để in ra màn hình.

public void breakInSwitchCase() {
    int carCode = 1;
    switch (carCode) {
        case 1:
            System.out.println("This is a car.");
            break;
        case 2:
            System.out.println("This is a bicycle.");
            break;
        default:
            System.out.println("I don't know");
    }
}

3. Lệnh Continue

Khác với break, continue cũng giúp ta bỏ qua các câu lệnh sau nó nhưng không thoát ra khỏi khối lệnh. Nó chỉ có tác dụng nói cho trình thực thi Java bỏ qua câu lệnh sau nó trong khối. Để gọi lệnh continue thì ta phải có các lệnh thuộc dạng vòng lặp bên ngoài như do ... while ..., while, for.

Nếu continue dùng trong lệnh do … while …, while, for thì đồng nghĩa với việc ngay tại lệnh continue đứng sẽ quay lại thực thi khối lệnh với phần tử kết tiếp trong vòng lặp.

/**
 * continue in for command line.
 * loop from 0 to 9. if it is even number, print it in console.
 */
public void continueInFor() {
    int numberOfLoop = 10;
    for (int i = 0; i < numberOfLoop; i++) {
        if (i % 2 != 0) {
            continue;
        }
        System.out.println("This is even number : " + i);
    }
}

Trên đây là đoạn mã in ra các số chẳn từ 0 đến 9. Điểm chính của đoạn mã là điều kiện kiểm tra là số lẻ tức là i % 2 != 0 thì ta sẽ không thực hiện dòng lệnh in ra màn hình bên dưới mà kết thúc khối lệnh ngay tại đó mà không thoát ra. Lệnh for vẫn tiếp tục thực hiện đến phần tử kế tiếp.

4. Tóm lược

Break được sử dụng để thoát khỏi khối lệnh hiện tại chứa nó mà không thực hiện các câu lệnh trong khối sau nó. Continue thì không thực thi các câu lệnh trong khối sau nó nhưng không thoát khỏi khối lệnh đang chứa nó.

BreakContinue được xem như là hai từ khóa lệnh ma thuật. Nó được sử dụng không cần tham số ý nghĩa của nó được thể hiện rõ ràng trong tên gọi. Breakcontinue cũng được xem là một dạng rẻ nhánh rất linh động trong dòng lặp do đó cần được cẩn thận khi sử dụng. Nếu sử dụng quá tùy tiện thì khả năng đọc mã nguồn khó nếu ta không xem toàn bộ khối mã.

Tham khảo mã nguồn

  1. https://github.com/tiennguyen2009/java-basic/tree/master/src/com/tiennguyen/chapter_3/break_continue

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *