Yêu cầu thg 4 27, 2021 8:35 SA 522 0 1
  • 522 0 1
+2

Mục đích sử dụng của câu lệnh continue trong vòng lặp là gì ?

Chia sẻ
  • 522 0 1

Chào mọi người, mình là thành viên mới, hôm nay trong lúc code bỗng dưng có 1 vấn đề khiến mình băn khoăn mãi nên lên đây nhờ mọi người giải đáp.

Trong các vòng lặp như for và while, luôn có 2 câu lệnh mà chúng ta có thể sử dụng là continue và break, nhưng điều khiến mình thắc mắc là trong khi break có thể thay đổi độ phức tạp của thuật toán và khi dùng sẽ mang đến sự thay đổi dễ nhận thấy hơn, thì continue hầu như không ảnh hưởng gì đến độ phức tạp của thuật toán. Ví dụ với 2 đoạn code sau

for (int i = 0; i <= Integer.MAX_VALUE; i++) {
    if (i == 10) {
        print(i);
    }
}
for (int i = 0; i <= Integer.MAX_VALUE; i++) {
    if (i == 10) {
        print(i);
        break;
    }
}

Rõ ràng trong 2 đoạn code trên, dù ra kết quả như nhau nhưng hiệu suất giữa việc dùng break và không dùng break là khác nhau rất lớn. Trong khi đó với câu lệnh continue mình vẫn chưa tìm ra được 1 ví dụ cụ thể nào minh hoạ cho việc phải sử dụng câu lệnh này, hầu hết câu lệnh continue đều có thể thay thế bằng một hàm check điều kiện khác mà không làm thay đổi độ phức tạp của thuật toán. Khi tạo ra ngôn ngữ lập trình, chắc chắn phải có lý do gì đó người ta mới tạo ra 2 câu lệnh này, mọi người có thể cho mình ví dụ nào đó để minh hoạ cho việc phải cần thiết dùng continue trong vòng lặp hay không ? Cảm ơn mọi người rất nhiều.

1 CÂU TRẢ LỜI


Đã trả lời thg 4 27, 2021 8:45 SA
Đã được chấp nhận
+6

break - dừng vòng lặp ngay lập tức, bỏ qua toàn bộ code xử lý bên dưới

continue - bỏ qua toàn bộ đoạn code bên dưới và nhảy ngay lập tức đến phần tử tiếp theo

Tùy theo từng trường hợp mà bạn có thể sử dụng 2 từ khóa này cho hợp lý, đúng như bạn nói trong đa số các trường hợp chúng ta có thể thực hiện công việc tương tự continue bằng việc dùng if else, nên việc dùng break có lẽ nhiều hơn continue. Tuy nhiên trong một số trường hợp sử dụng continue sẽ giúp tối ưu bộ code hơn

Chia sẻ
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí