Lệnh if else trong Visual Basic: Dùng để rẻ nhánh chương trình
Trong bài này ta sẽ học cách sử dụng lệnh If Else trong Visual Basic, đây là lệnh dùng để rẻ nhánh chương trình, là lệnh được sử dụng nhiều nhất trong VB nên rất quan trọng.
Lập trình liên quan đến thực tế rất nhiều. Ví dụ bạn cần giải quyết mệnh đề "nếu trời mưa thì Nam đi học, không thì Nam ở nhà" bằng ngôn ngữ VB thì làm thế nào? Rất dễ, sử dụng lệnh rẻ nhánh If Else sẽ giải quyết trong mọt nốt nhạc.
1. Lệnh if trong Visual Basic
Dưới đây là cách tạo lệnh rẻ nhánh if else trong ngôn ngữ Visual Basic (VB).
If bool_expression Then ' Lệnh sẽ chạy nếu biểu thức bool_expression trả về true End If
Trong đó bool_expression
là biểu thức điều kiện, nó có thể là một biến, một biểu thức, một hàm hay một phương thức nào đó, miễn là trả về kiểu boolean (true hoặc false).
Bài viết này được đăng tại [free tuts .net]
Dim x As Integer = 20 If x >= 10 Then Console.WriteLine("Số này lớn hơn 10") End If
Trong đoạn code này thì biểu thức điều kiện là x >= 10
, trong khi biến x
được gán giá trị là 20, vì vậy đoạn code bên trong lệnh if sẽ được chạy, và dòng lệnh "Số này lớn hơn 10" sẽ được in lên màn hình.
Mình sẽ đưa ra một ví dụ sử dụng nhiều lệnh if trong một chương trình.
Module Module1 Sub Main() Dim x As Integer = 20, y As Integer = 10 If x >= 10 Then Console.WriteLine("x lớn hơn 10") End If If y <= 5 Then Console.WriteLine("y bé hơn hoặc bằng 5") End If Console.WriteLine("Press Enter Key to Exit..") Console.ReadLine() End Sub End Module
Tóm tắt:
- Biến
x = 20
,y = 10
- Lệnh if đầu tiên: điều kiện
x >= 10
làtrue
, vì vậy dòng chữ "x lớn hơn 10" được in ra. - Lệnh if thứ hai: điều kiện
y <= 5
làfalse
, vì vậy không in ra gì cả
2. Lệnh if else trong Visual Basic
Mỗi lệnh if có thể gắn thêm nhiều lệnh else để rẻ ra nhiều nhánh khác nhau.
Cú pháp như sau:
If boolean_expression Then ' Thực thi nếu boolean expression True Else ' Thực thi nếu boolean expression False End If
Như vây, khi biểu thức điều kiện ở lệnh if không đúng thì những đoạn code bên trong lệnh else sẽ được chạy.
Ví dụ:
Dim x As Integer = 20 If x >= 10 Then Console.WriteLine("x lớn hơn hoặc bằng 10") Else Console.WriteLine("x bé hơn 10") End If
Chạy chương trình này ta sẽ thu được dòng chữ "x lớn hơn hoặc bằng 10", bởi điều kiện trong lệnh if là x >= 10
, mà x = 20
nên đoạn code bên trong lệnh if sẽ được chạy.
Lúc này nội dung của lệnh else sẽ không chạy, bởi lệnh if phía trên nó đã được kích hoạt.
Giả sử bạn đổi giá trị cho biến x = 5
chẳng hạn, thì lúc này dòng chữ ở bên trong lệnh else sẽ được chạy, còn lệnh if thì không.
3. Kết hợp nhiều lệnh if else trong Visual Basic
Ta chỉ mới học được cách rẻ 2 nhánh bằng lệnh if else, nhưng thực tế thì có một số bài toán phải rẻ rất nhiều lần thì mới giải quyết được. Lúc này ta sẽ kết hợp lệnh if else nhiều lần để tạo ra nhiều nhánh khác nhau.
Cú pháp như sau:
If condition_1 Then ' Chạy nếu condition_1 True ElseIf condition_2 Then ' Chạy nếu condition_2 True ElseIf condition_2 Then ' Chạy nếu condition_3 True .... .... Else ' Không có lệnh if nào ở trên thỏa mãn thì nội dung ' ở else sẽ được chạy End If
Trình biên dịch sẽ chạy từ trên xuống, nó sẽ kiểm tra lần lượt từng lệnh if, nếu lệnh if nào thỏa yêu cầu thì nó sẽ chạy lênh đó, đồng thời bỏ qua tất cả những lệnh if else khác ở bên dưới.
Ví dụ: Rẻ ba nhánh
Dim x As Integer = 5 If x = 10 Then Console.WriteLine("x bằng 10") ElseIf x > 10 Then Console.WriteLine("x lớn hơn 10") Else Console.WriteLine("x bé hơn 10") End If
Trong ví dụ này thì biến x = 5
, mà hai điều kiện ở trên không thỏa, vì vậy nội dung ở lệnh else sẽ được chạy.
4. Lệnh if else lồng nhau trong Visual Basic
If else lồng nhau tức là lệnh if nằm bên trong một lệnh if khác, trong tiếng Anh ta gọi là Nested.
Thực tế có nhiều bài toán ta phải sử dụng lệnh if else lồng nhau để giải quyết. Tuy nhiên chỉ nên lồng từ 3, 4 cấp đổ lại thôi nhé, nếu không sẽ rất khó quản lý chương trình.
Cú pháp như sau:
If condition Then If nested_condition_1 Then // Lệnh sẽ chạy nếu condition 1 true Else // Ngược lại chạy lệnh này End If Else If nested_condition_2 Then // Lệnh sẽ chạy nếu condition 2 true Else // Ngược lại chạy lệnh này End If End If
Khi condition
true thì những lệnh if else ở bên trong mới được chạy.
Ví dụ: Lệnh if else lồng 2 cấp.
Module Module1 Sub Main() Dim x As Integer = 5, y As Integer = 20 If x > y Then If x >= 10 Then Console.WriteLine("x lớn hơn hoặc bằng 10") Else Console.WriteLine("x nhỏ hơn 10") End If Else If y <= 20 Then Console.WriteLine("y lớn hơn hoặc bằng 20") Else Console.WriteLine("y bé hơn 20") End If End If Console.WriteLine("Press Enter Key to Exit..") Console.ReadLine() End Sub End Module
Tới đây rồi thì mình sẽ không giải thích quá nhiều về đoạn code này nữa nhỉ?
Như vậy là mình đã hướng dẫn xong cách sử dụng lệnh if trong Visual Basic. Đây là lệnh rất quan trọng, nó được sử dụng rất nhiều trong lập trình VB, vì vậy bạn cần nắm chắc về cách dùng nhé.