06/04/2021, 14:48

Vòng lặp for trong Visual Basic (For Loop) - VB căn bản

Trong bài này mình sẽ hướng dẫn cách dùng vòng lặp For trong Visual Basic (VB), đây là vòng lặp được dùng rất nhiều trong VB nên rất quan trọng, bạn phải hiểu nó trước khi tìm hiểu những vòng lặp khác. Vòng lặp là một hành động được lặp đi lặp lai nhiều lần, và trong lập trình là những đoạn code ...

Trong bài này mình sẽ hướng dẫn cách dùng vòng lặp For trong Visual Basic (VB), đây là vòng lặp được dùng rất nhiều trong VB nên rất quan trọng, bạn phải hiểu nó trước khi tìm hiểu những vòng lặp khác.

Vòng lặp là một hành động được lặp đi lặp lai nhiều lần, và trong lập trình là những đoạn code được lặp đi lặp lại nhiều lần, và chỉ dừng lại khi điều kiện lặp trả về false.

1. Cú pháp vòng lặp for trong Visual Basic

Sau đây là cú pháp vòng lặp For trong ngôn ngữ lập trình Visual Basic.

For variable As [Data Type] = start To end
// Statements to Execute
Next

Trong đó:

  • variable là biến điều khiển vòng lặp, [Data Type] là kiểu dữ liệu của biến này.
  • start To end là số lần lặp, nó phụ thuộc vao bước nhảy (tăng hoặc giảm của biến variable)

Ví dụ: Dùng vòng lặp for lặp từ 1 tới 10 trong VB

For i As Integer = 1 To 10
    Console.WriteLine("i value: {0}", i)
Next

Sau mỗi lần lặp thì biến i sẽ tăng lên 1 nên kết quả nó sẽ in ra màn hình dãy số từ 1 đến 10. Như vậy biến i tự động tăng, ta không cần phải can thiệp như những ngôn ngữ khác.

2. Ví dụ vòng lặp for trong Visual Basic

Ta sẽ viết một ví dụ đơn giản, đó là lặp dãy số từ 1 đến 10 và chỉ in ra các số chẵn.

Với bài này thì ta phải sử dụng toán tử chia lấy dư (%), nếu số nào chia cho 2 mà dư 0 thì đó là số chẵn, ngược lại là số lẻ.

Module Module1
    Sub Main()
        For i As Integer = 1 To 10   
            If i % 2 = 0 then
                Console.WriteLine("{0}", i)
            End If
        Next
        Console.WriteLine("Press Enter Key to Exit..")
        Console.ReadLine()
    End Sub
End Module

Vòng lặp For vẫn lặp từ 1 tới 10, nhưng chỉ in ra các số 2, 4, 6, 8, 10 bởi vì lệnh if bên trong vòng lặp sẽ kiểm tra i sau mỗi lần lặp:

  • Lần 1: Biến i = 1, là số lẻ nên không in ra, tăng i lên 1
  • Lần 2: Biến i = 2, là số chẵn nên in ra, tăng i lên 1
  • ....
  • Lần 10: Biến i = 10, là số chẵn nên in ra màn hình, tăng i lên 1
  • Lần 11: Biến i = 11, i không nằm trong dãy từ 1 To 10 nên vòng lặp kết thúc

3. Thoát khỏi vòng lặp For với lệnh Exit

Nếu bạn muốn thoát khỏi vòng lặp For một cách đột ngột thì sử dụng lệnh Exit, đặt ngay vị trí muốn thoát.

Khi gặp lệnh này thì trình biên dịch sẽ thoát vòng lặp ngay lập tức, bỏ qua tất cả những đoạn code phía dưới (bên trong vòng lặp).

Xét ví dụ dưới đây:

Module Module1
    Sub Main()
        For i As Integer = 1 To 4
            If i = 3 Then Exit For
            Console.WriteLine("{0}", i)
        Next
        Console.WriteLine("Press Enter Key to Exit..")
        Console.ReadLine()
    End Sub
End Module

Trong ví dụ này thì dãy lặp là từ 1 -> 4, nhưng nó chỉ lặp 3 lần, tại vì:

  • Lần 1: i = 1, điều kiện If i = 3 sai, in ra màn hình số 1, sau đó tăng i lên 1.
  • Lần 2: i = 2, điều kiện If i = 3 sai, in ra màn hình số 2, sau đó tăng i lên 1.
  • Lần 3: i = 3, điều kiện If i = 3 đúng, lệnh Exit thoát khỏi vòng lặp ngay lập tức nên không in gì ra màn hình.
  • Kết thúc vòng lặp

Vậy kết quả in ra màn hình số 1 và 2.

4. Vòng lặp For lồng nhau trong Visual Basic

Trong VB thì vòng lặp For vẫn có thể được đặt lồng nhau.

Ví dụ với các bài toán về ma trận, sắp xếp và tìm kiếm thì bắt buộc phải sử dụng vòng lặp lồng nhau.

Ví dụ sau đây mình sử dụng hai vòng lặp For lồng nhau:

Module Module1
    Sub Main()
        For i As Integer = 1 To 4
            For j As Integer = i To 3 - 1
                Console.WriteLine("i = {0}, j = {1}", i, j)
            Next
        Next
        Console.WriteLine("Press Enter Key to Exit..")
        Console.ReadLine()
    End Sub
End Module

Kết quả sẽ in ra màn hình là:

i = 1, j = 1
i = 1, j = 2
i = 2, j = 2

Chương trình này hơi khó hiểu phải không các bạn :) Đừng quá lo lắng, bạn cứ phân tích từng bước là sẽ hiểu ngay thôi.

Trên là cách sử dụng vòng lặp For trong Visual Basic (VB). Đây là bài đầu tiên trong loạt bài về vòng lặp nên bạn phải hiểu thật kỹ nhé, để những vòng lặp tiếp theo sẽ dễ học hơn.

Vũ Văn Thanh

12 chủ đề

2597 bài viết

0