Bài 9. Câu lệnh break và continue trong C#

0
968
Bài số 12 trong 20 bài của khóa học Khóa học C# cơ bản

Lệnh break và continue là hai câu lệnh thao tác với vòng lặp có thể nói vừa là duy nhất cũng như là mạnh mẽ và quan trọng nhất trong lập trình. Với 2 câu lệnh này, vòng lặp của bạn sẽ linh hoạt hơn, việc sử dụng 2 câu lệnh này cũng cho phép chúng ta có thể điều khiển vòng lặp để tính toán, thao tác tốt hơn. Vậy trong bài học ngày hôm nay chúng ta sẽ cùng tìm hiểu về hai câu lệnh này nhé !

Câu lệnh break

Đầu tiên, mình sẽ trình bày về câu lệnh break, cú pháp sử dụng rất đơn giản như sau:

Câu lệnh này được sử dụng để phá vỡ vòng lặp đang chạy và chỉ có thể sử dụng ở bên trong một vòng lặp. Câu lệnh này sẽ đưa chương trình thoát ra khỏi vòng lặp đó ngay lập tức mà không cần biết điều kiện lặp đúng hay sai.

Trình bày dưới dạng sơ đồ khối như sau:

Bai 21 Lenh Break Va Continue Trong C 12

 

Để dễ hiểu hơn chúng ta sẽ xét một ví dụ với một vòng lặp vô tận sử dụng break:

Chương trình này sẽ cho ra kết quả:

Rõ ràng rằng điều kiện lặp của while là giá trị true đây là một giá trị hằng logic luôn đúng vậy nên vòng lặp này là vô tận, và sẽ in ra liên tục các số tăng dần 1 đơn vị. Nhưng bên trong vòng lặp, mình đã sử dụng một câu lệnh rẽ nhánh kiểm tra điều kiện i % 5 == 0 nghĩa là i có chia hết cho 5 hay không. Nếu điều kiện này đúng chúng ta sẽ cho chương trình thực hiện câu lệnh break bên trong khối lệnh if. Sau khi liên tiếp tăng 1 đơn vị thì đến khi giá trị i chia hết cho 5 chương trình ngay lập tức thoát ra khỏi vòng lặp, các bạn có thể thấy ở output.

Một ví dụ khác cho thấy câu lệnh break không thể sử dụng bên ngoài vòng lặp:

Chương trình lúc này sẽ có lỗi phát sinh:

Lỗi này nói rằng không có vòng lặp nào chứa break hoặc continue để có thể thực thi câu lệnh này.

Câu lệnh continue

Câu lệnh thứ 2 trong các câu lệnh thao tác vòng lặp và cũng là câu lệnh cuối cùng trong việc này. Cú pháp sử dụng continue như sau:

Khác với break, câu lệnh continue sẽ ngay lập tức đưa vòng lặp quay trở lại kiểm tra điều kiện lặp và quay trở lại lặp từ đầu như vòng lặp bình thường.

Trình bày dưới dạng sơ đồ khối như sau:

Bai 21 Lenh Break Va Continue Trong C 4

Lưu ý: Việc sử dụng câu lệnh continue này không hợp lí có thể đưa vòng lặp trở thành một vòng lặp vô tận.

Chúng ta xét một ví dụ sử dụng continue như sau:

Chương trình này sẽ cho ra kết quả:

Trong chương trình này như các bạn có thể thấy trên output một điều rằng là các số xuất ra toàn là số lẻ. Mình đã để một cấu trúc rẽ nhánh trước câu lệnh xuất ra và nếu điều kiện i % 2 == 0 tức i chia hết cho 2 thì câu lệnh continue sẽ được gọi tới, lúc này vòng lặp sẽ quay lại kiểm tra điều kiện và bỏ qua các câu lệnh phía sau nó. Nên chương trình lúc này sẽ không xuất ra một số chẵn nào cả.

Một ví dụ về việc sử dụng continue không hợp lí dẫn tới việc vòng lặp vô tận:

Chương trình này sẽ bị lặp vô tận vì i = 00 % 2 = 0 nên điều kiện i % 2 == 0 sẽ đúng và sẽ gọi tới continue, lúc này câu lệnh ++i sẽ không được gọi tới và giá trị của i vẫn giữ nguyên là 0 nên câu lệnh continue sẽ bị gọi tới liên tục không thể tăng giá trị cho i, chương trình bị lặp liên tục.

Lưu ý: Khi chạy chương trình này bạn có thể tắt cửa sổ chạy chương trình hoặc ấn tổ hợp Ctrl+C để thoát ra khỏi chương trình.

Khi nào sử dụng break, khi nào sử dụng continue

Phần này mình sẽ note lại 2 mẹo nhỏ cho các bạn phân biệt khi nào nên sử dụng break khi nào nên dùng continue.

  • Nên sử dụng break khi có một điều kiện khác điều kiện lặp thỏa mãn trong một số trường hợp mà chúng ta nên dừng vòng lặp lại ngay.
  • Nên sử dụng continue khi có một điều kiện khác điều kiện lặp thỏa mãn trong một số trường hợp mà chúng ta phải bỏ qua các câu lệnh phía sau và cho vòng lặp thực hiện lại các thao tác trước đó lại một lần nữa nhằm cố gằng bỏ qua trường hợp dẫn tới chương trình phải gọi continue.

Tổng kết

Như vậy là trong bài học ngày hôm này, mình đã trình bày cho các bạn các sử dụng câu lệnh break và continue trong C#. Ở bài học tiếp theo, chúng ta sẽ tìm hiểu về cách ép từ kiểu dữ liệu này sang kiểu dữ liệu khác trong C#. Cảm ơn bạn đã đọc bài viết này. Hãy tiếp tục đồng hành cùng Lập trình không khó trong những bài viết tiếp theo nhé !

(ngoài ra các bạn có thể thử sức với các bài tập sau đây)

Các bài viết trong khóa họcBài trước: Bài 8.2 Vòng lặp while, do while trong C#Bài sau: Bài 10. Ép kiểu trong C#
Là một học sinh cấp 3 có niềm đam mê mãnh liệt với lập trình với châm ngôn "Code ra bugs mới là lập trình viên".
Subscribe
Notify of
guest
0 Bình luận
Inline Feedbacks
View all comments