Vòng lặp for trong Visual Basic (For Loop)
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 đó:
Bài viết này được đăng tại [free tuts .net]
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ăngi
lên 1 - Lần 2: Biến
i = 2
, là số chẵn nên in ra, tăngi
lên 1 - ....
- Lần 10: Biến
i = 10
, là số chẵn nên in ra màn hình, tăngi
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ệnIf i = 3
sai, in ra màn hình số 1, sau đó tăngi
lên 1. - Lần 2:
i = 2
, điều kiệnIf i = 3
sai, in ra màn hình số 2, sau đó tăngi
lên 1. - Lần 3:
i = 3
, điều kiệnIf 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.