Bỏ qua để đến nội dung

break và continue

break kết thúc ngay lập tức vòng lặp chứa nó, bỏ qua toàn bộ các lần lặp còn lại:

for (int i = 1; i <= 10; i++) {
if (i == 5) {
break; // thoát vòng lặp ngay khi i == 5
}
System.out.println(i);
}
// In ra: 1 2 3 4 (dừng hẳn khi gặp break, không in 5, 6, ...)

Thường dùng để tìm kiếm và dừng ngay khi tìm thấy kết quả, tránh duyệt thừa:

int[] numbers = {4, 8, 15, 16, 23, 42};
int target = 15;
for (int i = 0; i < numbers.length; i++) {
if (numbers[i] == target) {
System.out.println("Tìm thấy tại vị trí " + i);
break; // không cần duyệt tiếp sau khi đã tìm thấy
}
}

continue bỏ qua phần còn lại của lần lặp hiện tại, nhảy thẳng đến lần lặp tiếp theo (không thoát hẳn vòng lặp như break):

for (int i = 1; i <= 10; i++) {
if (i % 2 == 0) {
continue; // bỏ qua các số chẵn
}
System.out.println(i);
}
// In ra: 1 3 5 7 9
break continue
Tác động Thoát hẳn vòng lặp Bỏ qua lần lặp hiện tại, tiếp tục lần sau
Dùng khi Đã tìm được kết quả, không cần lặp tiếp Muốn bỏ qua một số trường hợp cụ thể nhưng vẫn tiếp tục lặp

Mặc định, break/continue chỉ tác động đến vòng lặp trong cùng chứa nó. Muốn tác động đến vòng lặp ngoài, dùng nhãn (label) - xem chi tiết ở trang “Vòng lặp lồng nhau”:

outer:
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
if (j == 1) {
continue outer; // bỏ qua lần lặp hiện tại của vòng lặp NGOÀI
}
System.out.println("i=" + i + ", j=" + j);
}
}
  • break: thoát hẳn khỏi vòng lặp - không chạy tiếp lần lặp nào nữa
  • continue: bỏ qua phần còn lại của lần lặp hiện tại, nhảy sang lần lặp kế tiếp
  • Với vòng lặp lồng nhau, dùng nhãn (outer:) để break/continue tác động đến vòng lặp ngoài thay vì vòng lặp trong cùng