II.2 Lệnh điều kiện

Một phần của tài liệu Giao trinh visual basic 2008x (Trang 36 - 41)

I. Giới thiệu lập trình hướng đối tượng

II.2 Lệnh điều kiện

1 - Phát biểu If

If tiếng việt có nghĩa là Nếu. Giả sử bạn đặt ra tình huống sau: If I play game Then I have a headache

Có nghĩa là:

Nếu tôi chơi game thì tôi sẽ nhức đầu

Để diễn giải các trường hợp khác nữa ta dùng từ khóa Else If I play game Then

I have a headache Else

I sore eyes

Những ví dụ trên cũng được áp dụng vào việc code. Trong Visual Basic các từ khóa để thực hiện những việc giống như trên là If, Then, Else

Chúng ta hãy xem nhé:

Tạo một project mới lấy tên tùy ý bạn, thêm 1 Button vào Form, nháy kép chuột lên Button đó để thêm đoạn mã dưới đây vào:

Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả

1. PrivateSub Button1_Click(ByVal sender As System.Object, _ 2. ByVal e As System.EventArgs) _

3. Handles Button1.Click 4.

5. Dim firstname AsString 6.

7. firstname = "Only"

8. If firstname = "Only"Then 9. MsgBox("firstname is Only") 10. End If

11. EndSub

Chạy chương trình này. Khi bạn nhấn vào Button đó thì có một hộp thoại hiện lên với từ "firstname is Only".

Hãy xem xét đoạn mã:

Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả 1. If firstname = "Only"Then

2. MsgBox("firstname is Only") 3. End If

Bạn có thể hiểu dòng mã này như sau:

Nếu(If)biến firstname mang giá trị(=) là "Only" thì hãy hiện lên hộp thoại có thông điệp "firstname is Only" MsgBox("firstname is Only")

Bạn có thể thấy nếu chúng ta viết một đoạn mã khá dài như trên sẽ rất khó nhìn. Để dễ nhìn hãy viết như sau:

Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả 1. If firstname = "Only"Then

2. MsgBox("firstname is Only") 3. EndIf

Đoạn mã trên được giải thích như sau:

1. Xem biến firstname có giá trị là "Only" không 2. Hiện hộp thoại thông báo nếu đúng

3. Kết thúc phát biểu bằng End If

Bây giờ hãy thử xóa hai dấu ngoặc kép(" ") ở chữ "Only" trong dòng đầu xem sao:

Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả 1. Dim firstname asString (adsbygoogle = window.adsbygoogle || []).push({});

2.

3. firstname = "Only"

4.

5. If firstname = Only Then 6. MsgBox"firstname is Only"

VB.NET sẽ gạch chân chữ Only. Nếu bạn chạy thử đoạn code này, bạn sẽ gặp thông báo lỗi. Lý do có lỗi ở đây là do VB sử dụng dấu ngoặc kép(" ") để chứa một dòng chữ. Không có dấu ngoặc kép thì VB sẽ hiểu đây không phải là chuỗi những dòng chữ(có thể là 1 biến).

Hãy sửa đoạn code lại thành:

Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả 1. firstname = "gatoi"

2.

3. If firstname = "Only"Then 4. MsgBox"firstname is Only"

5. Else

6. MsgBox"firstname is not Only"

7. EndIf

Chạy chương trình, bạn sẽ thấy hộp thông báo với dòng chữ: "firstname is not Only". Đoạn mã này chứa từ khóa Else giúp cho việc thực hiện các trường hợp khác của điều kiện được đặt ra của If....Then bị sai

Sửa đoạn code thành:

Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả 1. firstname = "gatoi"

2.

3. If firstname = "Only"Then 4. MsgBox("firstname is Only") 5. ElseIf firstname = "gatoi"Then 6. MsgBox("firstname is gatoi") 7. Else

8. Msgbox("unknow firstname") 9. EndIf

Từ khóa ElseIf giúp bạn có thể tiếp tục so sánh điều kiện khác được đặt ra nếu điều kiện ban đầu bị sai.

Hãy nhớ công thức của If....Then

Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả 1. If[điều kiện]Then

2. Code nếu đúng

3. ElseIf [điều kiện khác]Then 4. Code nếu khác

5. Else

6. Code nếu không đúng cả 2 điều kiện trên 7. EndIf

2 - Câu lệnh CASE

Phát biểu Select Case là một cách khác để kiểm tra các điều kiện được đặt. Giả sử bạn có thể so sánh biến firstname ở bên trên dùng If....Then....ElseIf.... thế nhưng lại có rất nhiều firstname khác nhau. Trong trường hợp này hãy sử dụng phát biểu Select Case

Hãy tạo một project mới và tạo một Button trên form, một Textbox trên form. Bố trí sao cho phù hợp. Nhấn kép lên Button và thêm đoạn code sau vào:

Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả 1. Dim name AsString

2. Dim DietState AsString 3. name = TextBox1.Text 4. (adsbygoogle = window.adsbygoogle || []).push({});

5. SelectCase name 6.

7. Case"Only"

8. DietState = "This is my friend"

9. Case"gatoi"

10. DietState = "It's me"

11. CaseElse

12. DietState = "Who is this?"

13.

14. EndSelect

15.

16. MsgBox (DietState )

Chạy chương trình này. Nháy chuột lên Textbox và gõ Only và nhấn lên Button. Bạn thấy sẽ hiện lên hộp thoại: "This is my friend" Tương tự hãy gõ gatoi và các tên khác xem thử.

Vậy Select Case làm việc thế nào?

Trong đoạn code ở trên đây, đầu tiên ta khai báo 2 biến là name và DietState. Tiếp theo ta đưa giá trị của Textbox1 vào biến name. Select Case được sử dụng ở dòng kế tiếp:

Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả

3- Câu lệnh Select Case name

Biến name được sử dụng trong phát biểu Select Case này có nghĩa là: "Dùng phát biểu Select Case để kiểm tra xem những giá trị trong biến name"

Trong những dòng tiếp theo ta xét xem các giá trị được đưa vào có đùng hay không, nếu đúng ở kết quả nào ta sẽ dừng lại ở kết quả đó và thực hiện tiếp đoạn code phía dưới.

Trong dòng Case Else để nhận những giá trị khác của biến name nếu các giá trị trên không đúng. Cuối cùng End Select để kết thúc phát biểu Select Case

Phát biểu Select Case cũng được sử dụng cho kiểu biến số, và tiện dụng hơn nếu dùng từ khóa

To. Nó giúp bạn có thể kiểm tra số từ một số nào đến số nào đó mà không cần nhiều từ Case. Xem ví dụ sau:

Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả 1. SelectCase age

2. Case 16To21

3. MsgBox (“Thanh niên” ) 4. Case 50To64

5. MsgBox( “Già” ) 6. EndSelect

Ở đây, biến age được kiểm tra. Giá trị của age được kiểm tra trong một khoảng nào đó nhờ To Hãy nhớ công thức của Select Case:

Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả 1. SelectCase[đối tượng]

2. Case[giá trị 1] 3. Code ở đây cho 1

4. Case[giá trị 2] 5. Code ở đây cho 2

6. Case[giá trị x] 7. Code ở đây cho x 8. CaseElse 9. Các code khác II.3. Các phép toán 1 - Các toán tử > Ý nghĩa: Lớn hơn Ví dụ: Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả 1. If number >10Then (adsbygoogle = window.adsbygoogle || []).push({});

2. MsgBox ("The Number was Greater Than 10")

3. EndIf < Ý nghĩa: Nhỏ hơn Ví dụ: Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả 1. If number <10Then

2. MsgBox ("The Number was Less Than 10")

3. EndIf

>=

Ý nghĩa: Lớn hơn hoặc bằng Ví dụ:

Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả 1. If number >= 10Then

2. MsgBox"The Number was 10 or Greater"

3. EndIf

<=

Ý nghĩa: Nhỏ hơn hoặc bằng Ví dụ:

Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả 1. If number <= 10Then

2. MsgBox"The Number was 10 or Less"

3. EndIf

And

Ý nghĩa: Nối 2 phép điều kiện bằng And Ví dụ:

Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả 1. If number >5And number <15Then

2. MsgBox ("Greater than 5 And Less than 15")

3. EndIf

Or

Ý nghĩa: Nối 2 phép điều kiện bằng Or Ví dụ:

Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả 1. If number >5 Or number <15Then

2. MsgBox ("Greater than 5 Or Less than 15")

<>

Ý nghĩa: Không bằng, khác Ví dụ:

Số dòng Bật/Tắt | Mở rộng/Rút gọn | Chọn tất cả 1. If number1 <> number2 Then

2. MsgBox ("number1 is not equal to number2")

3. EndIf

Các bạn củng đừng quên cái này nhé

Trong vb thực hiện các phép toán theo một trình tự thứ tự trước sau nhất định, và hầu hết đều giống với toán học: (adsbygoogle = window.adsbygoogle || []).push({});

1. Dấu ngoặc đơn được thực hiện trước nhất ( nghĩa là có quyền ưu tiên cao nhất) và được thực hiện từ các dấu trong cùng tới các dấu bên ngoài.

2. Kế đến là lũy thừa, và được thực hiện từ trái sang phải nếu trong cùng một lệnh có nhiều phép lũy thừa.

3. Rồi đến dấu âm dương (-,+) được thực hiện và thực hiện từ trái sang với quyền ưu tiên như nhau.

4. Tiếp tục đến dấu nhân * và phép chia thập phân /, thực hiện từ trái sang phải với quyền ưu tiên như nhau.

5. Phép chia lấy phần nguyên \ được thực hiện tiếp theo và cũng cùng quy luật từ trái sang nếu có nhiều phép chia này trong cùng một lệnh.

6. Tiếp theo là phép chia lấy phần dư (mod), nếu có nhiều phép chia cùng loại thì cũng được thực hiện từ trái sang.

7. Các phép cộng và trừ cũng được thực hiện từ trái sang phải, và đây là hai phép tính có độ ưu tiên thấp nhất, thực hiện sau cùng.

Một phần của tài liệu Giao trinh visual basic 2008x (Trang 36 - 41)