06/04/2021, 14:48

Lệnh if else trong Visual Basic: Dùng để rẻ nhánh chương trình - VB căn bản

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 ở ...

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).

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 >= 10true, 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 <= 5false, 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é.

Vũ Văn Thanh

12 chủ đề

2597 bài viết

0