V.1. Cấu trúc chọn V.1.1. If … Then … Else V.1.1. If … Then … Else
Trước tiên, chúng ta làm quen với cấu trúc If … Then … End If
Cú pháp:
If <điều kiện> Then ' Các câu lệnh End if
Sử dụng cú pháp này, người lập trình muốn khai báo với trình biên dịch rằng các câu lệnh trong vùng If … End If chỉ được thực hiện nếu như <điều kiện> là đúng.
<điều kiện> cĩ thể là biểu thức trả về giá trị True/False hoặc là một giá trị số. Giá trị số <> 0 tương
ứng với True, ngược lại là False.
Cấu trúc If … Then … End If cịn thiếu sĩt vì đơi khi chúng ta muốn thực hiện các câu lệnh khác khi
điều kiện khơng đúng. Lúc này, chúng ta sử dụng cấu trúc sau:
Cú pháp:
If <điều kiện> Then
' Các lệnh sẽ thực hiện nếu điều kiện đúng End If
If Not <điều kiện> Then
' Các lệnh sẽ thực hiện nếu điều kiện sai End If
Để thay thế cách viết trên, chúng ta cĩ cấu trúc sau:
If <điều kiện> Then
' Các câu lệnh khi điều kiện đúng Else
' Các câu lệnh khi điều kiện sai End if
Trong trường hợp nhiều điều kiện, chúng ta sử dụng cấu trúc: If <điều kiện 1> Then
...
ElseIf <điều kiện 2> Then ...
ElseIf <điều kiện n> Then ...
Else ... End If
Ghi chú: Các mệnh đề If … Then … Else cĩ thể lồng nhau.
V.1.2. Select … Case
Khi cĩ nhiều trường hợp cần xét, cĩ thể sử dụng cấu trúc chọn Select … Case với cú pháp
Cú pháp:
Select Case <biểu thức> Case <giá trị 1>
' Các lệnh thực hiện khi <biểu thức> = <giá trị 1> Case <giá trị 2>
' Các lệnh thực hiện khi <biểu thức> = <giá trị 2> Case Else
' Các lệnh thực hiện khi <biểu thức> khơng bằng giá trị nào ở trên End Select
Khối lệnh Case Else cĩ thể khơng cần viết. Tuy nhiên, người lập trình được khuyến khích dùng khối lệnh này trong cấu trúc để giảm bớt các lỗi logic.
Các giá trị dùng để so sánh cĩ thể gồm nhiều giá trị phân biệt bởi dấu phẩy (,) hoặc là một phần của biểu thức so sánh.
V.2. Cấu trúc lặp
Cấu trúc lặp cho phép thực hiện nhiều lần một khối lệnh của chương trình. Các cấu trúc lặp thường
được sử dụng trong Visual Basic.NET gồm:
V.2.1. For … Next Cú pháp:
For <biến đếm> = <giá trị đầu> To <giá trị cuối> [Step <bước>] ' Các câu lệnh
Next [biến đếm]
Các câu lệnh trong vùng For … Next chỉ được thực hiện nếu <biến đếm> cĩ giá trị trong đoạn
[<giá trị đầu>, <giá trị cuối>]
Sau mỗi lần thực hiện, <biến đếm> sẽ được tăng thêm <bước>. Nếu khơng chỉ định, <bước> cĩ
giá trị là 1.
Nếu <bước> cĩ trị > 0, cấu trúc chỉ thực hiện khi <giá trị đầu> <= <giá trị cuối>
Nếu <bước> cĩ trị < 0, cấu trúc chỉ thực hiện khi <giá trị đầu> >= <giá trị cuối>
V.2.2. For Each … Next Cú pháp:
For Each <phần tử> In <tập hợp> ' Các câu lệnh
Next [phần tử]
Với cú pháp này, chương trình sẽ duyệt qua từng phần tử trong tập hợp đang duyệt.
Cần khai báo biến <phần tử> là kiểu của phần tử trong tập hợp đang duyệt. Chúng ta cĩ thể chấm dứt lặp khi đang giữa vịng lặp bằng lệnh Exit For
V.2.3. Do While … Loop Cú pháp:
Do While <biểu thức logic> ' Các câu lệnh
Loop
Với cú pháp này, các câu lệnh đặt trong vùng Do While … Loop chỉ thực hiện bao lâu <biểu thức logic> cĩ giá trị True.
Nếu trị True, thực hiện lại vịng lặp
Nếu trị False, chấm dứt vịng lặp.
Cấu trúc này kiểm tra <biểu thức logic> trước khi thực hiện các lệnh nên sẽ khơng thực hiện lần nào nếu ngay lần đầu tiên <biểu thức logic> cĩ trị False.
V.2.4. Do … Loop While Cú pháp:
Do
' Các câu lệnh
Loop While <biểu thức logic>
Tương tự Do While … Loop, các câu lệnh chỉ tiếp tục thực hiện khi <biểu thức logic> cĩ giá trị True và sẽ kiểm tra lại <biểu thức logic> sau mỗi lần thực hiện.
Do kiểm tra sau khi thực hiện nên nếu ngay lần đầu <biểu thức logic> cĩ trị False, các lệnh cũng được thực hiện một lần.
Chúng ta cĩ thể chấm dứt giữa chừng vịng lặp với lệnh Exit Do
V.2.5. Do Until … Loop Cú pháp:
Do Untile <biểu thức logic> ' Các câu lệnh Loop V.2.6. Do … Loop Until Cú pháp: Do ' Các câu lệnh
Loop Until <biểu thức logic>
Hai cú pháp nầy tương tự hai cú pháp trên (Do While … Loop, Do … Loop While), với một khác biệt là chỉ thực hiện hoặc tiếp tục thực hiện khi <biểu thức logic> là False.
V.2.7. While … End While
Cú pháp khác so với trong các phiên bản trước (While … Wend), cách sử dụng như Do While … Loop