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

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à khỏe mạnh và trọng yếu nhất trong lập trình. Với 2 câu lệnh này, vòng lặp của các bạn sẽ linh động hơn, việc sử dụng 2 câu lệnh này cũng cho phép tất cả 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 bây giờ tất cả chúng ta sẽ cùng tìm tòi về hai câu lệnh này nhé !

Câu lệnh break

Trước tiên, mình sẽ trình bày về câu lệnh break, cú pháp sử dụng rất dễ như sau:

1

break

;

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ẽ mang chương trình thoát ra khỏi vòng lặp đó ngay nhanh chóng 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:

 

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

using

System

.

IO

;

using

System

;

 

namespace

luyencodec_

{

    

class

Program

    

{

        

static

void

Main

(

)

        

{

            

int

ι

=

1

;

            

while

(

true

)

{

                

Console

.

WriteLine

(

ι

)

;

                

if

(

ι

%

5

==

)

{

                    

break

;

                

}

                

++

ι

;

            

}

            

            

Console

.

ReadKey

(

)

;

// dừng màn hình

        

}

    

}

}

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

1

2

3

4

5

1

2

3

4

5

Cụ thể 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 đó là bất tận, và sẽ in ra liên tục các số tăng dần 1 nhà cung cấp. 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 soát điều kiện ι % 5 == 0 nghĩa là ι có chia hết cho 5 hay không. Nếu điều kiện này đúng tất cả 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 thời điểm liên tiếp tăng 1 nhà cung cấp thì đến khi giá trị ι chia hết cho 5 chương trình ngay nhanh chóng thoát ra khỏi vòng lặp, các bạn có thể thấy ở output.

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

using

System

.

IO

;

using

System

;

 

namespace

luyencodec_

{

    

class

Program

    

{

        

static

void

Main

(

)

        

{

            

int

ι

=

1

;

            

if

(

ι

>

=

1

)

{

                

Console

.

WriteLine

(

“chuong trinh se khong hoat dong”

)

;

                

break

;

            

}

            

            

Console

.

ReadKey

(

)

;

// dừng màn hình

        

}

    

}

}

Chương trình giờ đây sẽ có lỗi phát sinh:

1

main.cs(13,17): error CS0139: No enclosing loop out of which to break or continue

Lỗi này bảo 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:

1

continue

;

Khác với break, câu lệnh continue sẽ ngay nhanh chóng mang vòng lặp quay trở lại kiểm soát điều kiện lặp và quay trở lại lặp từ đầu như vòng lặp bình bình.

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

Bai 21 Lenh Break Va Continue Trong C 4

Cảnh báo: Việc sử dụng câu lệnh continue này không có lí có thể mang vòng lặp trở thành một vòng lặp bất tận.

Tất cả chúng ta xét một chẳng hạn sử dụng continue như sau:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

using

System

.

IO

;

using

System

;

 

namespace

luyencodec_

{

    

class

Program

    

{

        

static

void

Main

(

)

        

{

            

int

ι

=

;

            

while

(

ι

<

10

)

{

                

++

ι

;

                

if

(

ι

%

2

==

)

{

                    

continue

;

                

}

                

Console

.

WriteLine

(

ι

)

;

            

}

            

            

Console

.

ReadKey

(

)

;

// dừng màn hình

        

}

    

}

}

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

1

2

3

4

5

1

3

5

7

9

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 kết cấu rẽ nhánh trước câu lệnh xuất ra và nếu điều kiện ι % 2 == 0 tức ι chia hết cho 2 thì câu lệnh continue sẽ được gọi tới, giờ đây vòng lặp sẽ quay lại kiểm soát điều kiện và bỏ qua các câu lệnh phía sau nó. Nên chương trình giờ đây sẽ không xuất ra một số chẵn nào cả.

Một chẳng hạn về việc sử dụng continue không có lí dẫn đến việc vòng lặp bất tận:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

using

System

.

IO

;

using

System

;

 

namespace

luyencodec_

{

    

class

Program

    

{

        

static

void

Main

(

)

        

{

            

int

ι

=

;

            

while

(

ι

<

5

)

{

                

if

(

ι

%

2

==

)

{

                    

continue

;

                

}

                

++

ι

;

                

Console

.

WriteLine

(

ι

)

;

            

}

            

            

Console

.

ReadKey

(

)

;

// dừng màn hình

        

}

    

}

}

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

Cảnh báo: 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+₵ để thoát ra khỏi chương trình.

Bao giờ sử dụng break, bao giờ sử dụng continue

Phần này mình sẽ note lại 2 phương thức nhỏ cho các bạn phân biệt bao giờ nên sử dụng break bao giờ 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 đáp ứng trong một số trường hợp mà tất cả 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 đáp ứng trong một số trường hợp mà tất cả 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 đây 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.

Kết luận

Như thế 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 ₵#. Ở bài học kế tiếp, tất cả chúng ta sẽ tìm tòi về cách ép từ kiểu dữ liệu này sang kiểu dữ liệu khác trong ₵#. Cảm ơn bạn đã đọc nội dung này. Hãy tiếp tục gắn bó cùng Lập trình không khó trong những nội dung kế tiếp nhé !

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

Xem Thêm  Những điều Nên và Không nên khi Thêm Ngắt Dòng HTML - html thêm ngắt dòng

Viết một bình luận