1. Tổng quan về break và continue trong Java

Đây là 2 từ khóa đặc biệt trong Java. Đặc biệt hai từ khóa này giúp ta thao tác rất nhiều trong vòng lặp. Thông thường trong một số trường hợp vòng lặp của chúng ta sẽ có thể không cần thực thi tiếp hoặc là cần nhảy sang lần lặp tiếp theo luôn. Và để làm được điều đó thì trong Java có hỗ trợ chúng ta 2 keyword để tác động đến vòng lặp là:

  • break : giúp chúng ta chấm dứt vòng lặp tại thời điểm nó xuất hiện và các code cùng cấp phía sau nó sẽ không được thực thi nữa.
  • continue : giúp chúng ta nhảy qua lần lặp hiện tại và chuyển đến lần lặp tiếp theo, các code cùng cấp phía sau nó cũng sẽ không được thực hiện.

2. Sử dụng break trong Java

Trong bài cấu trúc rẽ nhánh switch case , chúng ta đã được tiếp cận với từ khóa break . Công dụng chính của break trong Java là dừng thực thi lệnh trong vòng lặp hoặc trong mệnh đề switch tại điều kiện đã được chỉ định. Đối với vòng lặp bên trong vòng lặp khác, thì nó chỉ dừng vòng lặp bên trong đó. Ví dụ như các vòng lặp while , for , … Thông thường, từ khóa break thường được dùng với một lệnh if bên trong vòng lặp để kiểm tra điều kiện dừng của vòng lặp.

Cú pháp : break;

Khi kết hợp với if hay for thì nó sẽ giống như sau:

while (biểu thức điều kiện while) {
    Câu lệnh 1 ;
    Câu lệnh 2 ;
    if (biểu thức điều kiện if){
        break;
        }
}

Ví dụ: dừng vòng lặp khi giá trị bằng 4

class Main {
  public static void main(String[] args) {
    for (int i = 0; i < 10; i++) {
      if (i == 4) {
        break;
      }
      System.out.println(i);
    }  
  }
}

Kết quả

0
1
2
3

Ví dụ với switch case

class Main {
    public static void main(String[] args) {
        int i = 5;
        switch (i){
            case 1:
                System.out.println("Giá trị i = 1");
                break;
            case 5:
                System.out.println("Giá trị i = 5");
                break;
                default:
                    System.out.println("Giá trị i = 1 hoặc i = 5");
        }
    }
}

Kết quả

Giá trị i = 5

3. Sử dụng continue trong Java

Từ khóa continue trong Java được sử dụng để tiếp tục vòng lặp tại điều kiện đã được xác định. Với điều kiện đó khối lệnh phía sau từ khóa continue sẽ không được thực thi. Khi gặp từ khóa continue thì lần lặp kế tiếp sẽ được thực hiện. Tức là nó sẽ bỏ qua không thực hiện các lệnh phía bên dưới từ khóa continue của vòng lặp và quay lên kiểm tra trở lại biểu thức điều kiện lặp. Tương tự như break , từ khóa continue cũng thường được dùng với một lệnh if bên trong vòng lặp để kiểm tra khi nào thì cần bỏ qua những lệnh sau nó để tiếp tục thực hiện vòng lặp mới.

Cú pháp: continue;

Trong một vòng lặp nó sẽ giống như sau:

for (biểu thức khởi tạo ; biểu thức điều kiện ; biểu thức thay đổi ) {
    Câu lệnh 1 trong khối for ;
    Câu lệnh 2 trong khối for ;
    if (biểu thức điều kiện if){
        continue;
        }
    Câu lệnh 3 trong khối for ;
}

Ví dụ: bỏ qua giá trị bằng 4

class Main {
  public static void main(String[] args) {
    for (int i = 0; i < 10; i++) {
      if (i == 4) {
        continue;
      }
      System.out.println(i);
    }  
  }
}

Kết quả

0
1
2
3
5
6
7
8
9

Hay in ra các số lẻ từ 1 đến 10

class Main {
    public static void main(String[] args) {
        for (int i=1;i<10;i++){
            if (i%2==0)
                continue;
            System.out.println(i);
        }
    }
}

Kết quả

1
3
5
7
9

4. Break và Continue trong vòng lặp lồng

Lệnh continue trong các vòng lặp như for hay while sẽ bỏ qua lượt lặp hiện tại và tiến hành chạy các lượt lặp tiếp theo của vòng lặp đó. Tuy nhiên trong các vòng lặp lồng chứa các vòng lặp bên trong vòng lặp, việc bỏ qua lượt lặp này chỉ có tác dụng với vòng lặp chứa trực tiếp lệnh continue mà thôi.

Lệnh break trong các vòng lặp như for hay while sẽ kết thúc xử lý vòng lặp và tiến hành chạy các xử lý tiếp theo trong chương trình. Tuy nhiên trong các vòng lặp lồng chứa các vòng lặp bên trong vòng lặp, chỉ có vòng lặp chứa trực tiếp lệnh break mới bị kết thúc mà thôi.

5. Điều kiện dừng của các vòng lặp

Một trong những điểm quan trọng khi viết chương trình có sử dụng các cấu trúc lặp do while , while hay for đó là điều kiện dừng của vòng lặp. Nếu không có những điều kiện dừng này thì vòng lặp sẽ rơi vào trạng thái lặp vô hạn và chương trình sử dụng vòng lặp đó sẽ không bao giờ dừng lại.

Lúc này vòng lặp phải thỏa mãn một trong những điều kiện sau để không bị lặp vô hạn

  • Có ít nhất một lần mà các lệnh trong thân vòng lặp làm cho biểu thức điều kiện lặp bị sai
  • Trong thân vòng lặp phải tồn tại từ khóa break gắn liền với biểu thức điều kiện if