| = 18] ? "Đủ điều kiện" : "Không đủ điều kiện"; Console.WriteLine[mgs]; //In ra: Đủ điều kiện Ví dụ tìm số lớn nhất trong các số a, b, c
var a = 2; var b = 3.5; var c = 2; var max = a >= b ? a >= c ? a : c : b >=c ? b : c; // Viết tường minh hơn // max = [a >= b] ? [a >= c ? a : c] : [b >=c ? b : c];
Console.WriteLine[max]; Câu lệnh rẽ nhánh switch
Câu lệnh switch ... case áp dụng cho cấu trúc rẽ nhiều nhánh, nó thay thế cho nhiều cầu lệnh else if
switch [expr]
{
case expr1:
//Cách lệnh thi hành nếu expr == expr1
break;
case expr2:
//Cách lệnh thi hành nếu expr == expr2
break;
// ...
default:
//..
break;
}
Câu lệnh switch trên sẽ so sánh expr với các biểu thức sau từ khóa case là expr1, expr2 ... nếu bằng biểu thức nào thì bắt đấu thi hành lệnh từ khối case đó cho đến khi gặp break [Nếu không gặp break nó thi hành cho đến cuối]
Nếu có khối default, nó sẽ thi hành nếu expr không rẽ vào nhánh case nào.
int number = 2; switch [number] { case 1: Console.WriteLine["number có giá trị một"]; break; case 2: Console.WriteLine["number có giá trị hai"]; break; default: Console.WriteLine["number khác một và hai"]; break; } //In ra : number có giá trị hai Lệnh trên nếu sử dụng else if thì có dạng
int number = 2;
if [number == 1]
{
Console.WriteLine["number có giá trị một"];
}
else if [number == 2]
{
Console.WriteLine["number có giá trị hai"];
}
else
{
Console.WriteLine["number khác một và hai"];
} Sử dụng switch rõ ràng, dễ đọc hơn khi số lượng else if nhiều
Source code: CS004_Logical_if_switch [Git], hoặc tải ex004
Series lập trình VB.NET, ngôn ngữ lập trình hướng đối tượng .NET Framework
– Khi sử dụng toán tử Or thì sẽ đánh giá cả 2 biểu thức điều kiện, trong khi đó toán tử OrElse chỉ cần biểu thức điều kiện thứ 1 là True thì phép ước lượng sẽ dừng lại. [Vì phép toán Or là True khi chỉ cần 1 trong 2 biểu thức điều kiện là True]
– Minh họa:
Module MinhHoangBlog
Sub Main[]
' Dim mystring As String = "Hello World" ' Khai báo và khởi tạo giá trị
Dim mystring As String ' Khi không khởi tạo giá trị thì giá trị mặc định của kiểu String là Nothing
' Vì biến「mystring là Nothing」nên nếu dùng toán tử Or để check thì sẽ bị lỗi「System.NullReferenceException」
' khi check đến biểu thức điều kiện thứ 2「mystring.Contains[ "Hello" ]」
If mystring Is Nothing Or mystring.Contains[ "Hello" ] Then
' bla bla
End If
' Còn nếu dùng toán tử OrElse thì biểu thức điều kiện thứ 1:「mystring Is Nothing AndAlso」là TRUE
' nên toàn bộ biểu thức so sánh của If là TRUE, do đó KHÔNG CHECK tiếp biểu thức điều kiện thứ 2
If mystring Is Nothing OrElse mystring.Contains[ "Hello" ] Then
Console.WriteLine[ "Hello world" ] ' Output: Hello world
Else
' bla bla
End If
Console.ReadKey[]
End Sub
End Module
– Như vậy, chúng ta có thể thấy sử dụng toán tử OrElse sẽ an toàn và hiệu suất nhanh hơn toán tử Or. Tùy trường hợp cụ thể mà chúng ta sẽ áp dụng linh động sử dụng 2 toán tử này.
– Việc sử dụng toán tử OrElse[short-circuits] thì giống với toán tử || của ngôn ngữ C#
Cảm ơn bạn đã theo dõi. Đừng ngần ngại hãy cùng thảo luận với chúng tôi!
5 1 vote
Đánh giá bài viết
1Visual basic.net và cơ sở dữ liệuGV: ThS.Trịnh Thị Ngọc Linh 2CHƯƠNG 3CÁC TOÁN TỬ VÀ CÂU LỆNH ĐIỀU KHIỂN TRONG VB.NET3.1. Các toán tử3.2. Các hàm toán học 3.3. Lệnh điều khiển3.4. Bắt lỗi ngoại lệ 33.1. Các toán tử Toán tử gánKý hiệu: dấu “=”Trong phép toán gán, giá trị của toán hạng vế bên trái của phép toán có thể thay đổi nếu bất kỳ một toán tử nào đó của vế phải thay đổiVí dụ:Dim st As String=“Hello”st=st + “user” 4Toán tử cơ bản 3.1. Các toán tử [tt] Thứ tự ưu tiên:[ ] ^ - [dấu âm] * / [nhân, chia] \ [chia nguyên] Mod [lấy dư] + - [cộng, trừ] 53.1. Các toán tử [tt]Toán tử cơ bản sử dụng cho biến chuỗi 63.1. Các toán tử [tt]Các toán tử quan hệ Toán tử quan hệ dùng để so sánh hai giá trị, và cho giá trị True [đúng] hoặc False [sai]Dùng để tạo các biểu thức quan hệ. nếu biểu thức đúng thì giá trị của biểu thức là True, ngược lại, giá trị của biểu thức là False Các toán tử quan hệ có độ ưu tiên thấp hơn các toán tử cơ bản 73.1. Các toán tử [tt]Các toán tử quan hệ [tt] 83.1. Các toán tử [tt]Toán tử logic Các toán tử logic chỉ trả về một trong hai giá trị là True hoặc FalseCũng giống như toán tử quan hệ, toán tử logic được dùng để tạo ra các biểu thức logic. Nếu biểu thức đúng thì giá trị của biểu thức là True, ngược lại, giá trị của biểu thức là FalseCác toán tử logic có độ ưu tiên thấp hơn các toán tử quan hệ 93.1. Các toán tử [tt]Toán tử logic [tt] thị 103.2. Các hàm toán họcĐể thực hiện tính toán trong các chương trình, có thể sử dụng các hàm toán học có trong thư viện System.Math của .net Phương thứcMục đíchAbs[n] Trả về trị tuyệt đối của nAtan[n] Trả về Artang của n [n – radian]Cos[n] Trả về cosin của góc n [n – radian]Exp[n] Trả về en Sign[n] Trả về -1 nếu n0, 0 nếu n=0Sin[n] Trả về sin của góc n [n – radian]Sqrt[n] Trả về căn bậc hai của nTan[n] Trả về tang của góc n [n – radian] 113.3. Lệnh điều khiểnCấu trúc lựa chọn IfCấu trúc lựa chọn Select CaseCấu trúc lặp For...NextCấu trúc lặp WhileCấu trúc lặp Do…loopCấu trúc duyệt đối tượng For…Each 123.3.1. Cấu trúc lựa chọn IfIf...then… Mô tả: Nếu biểu thức đúng thì thực hiện khối lệnh [có thể một hoặc nhiều lệnh] nào đó, nếu sai thì bỏ quaSơ đồ khối:Khối lệnhBiểu thứcĐúngSai 133.3.1. Cấu trúc lựa chọn If [tt]If...then…[tt]Cú pháp:If [Biểu thức đúng] Then‘Thực hiện Khối lệnhEnd IfVí dụ: Dim x As Decimal=Console.ReadLine[]If x>0 Then Console.WriteLine[”Ban nhap vao so duong” ]End If 143.3.1. Cấu trúc lựa chọn If [tt]If…then…Else Mô tả: Nếu biểu thức đúng thì thực hiện khối lệnh 1, ngược lại thực hiện khối lệnh Sơ đồ khối:Biểu thức Khối lệnh 1 Khối lệnh 2 SaiĐúng 153.3.1. Cấu trúc lựa chọn If [tt]If…then…Else [tt]Cú pháp:If [Biểu thức đúng] Then‘ Thực hiện Khối lệnh 1Else‘Thực hiện Khối lệnh 2End IfVí dụ:Dim x As Decimal=Console.ReadLine[]If x>0 ThenConsole.WriteLine[”So duong”]ElseConsole.WriteLine[”So am”]End If 163.3.1. Cấu trúc lựa chọn If [tt]If lồng nhau Mô tả: Kiểm tra nhiều điều kiện và đưa ra nhiều quyết định khác nhauSơ đồ khối:ĐúngKhối lệnh 1SaiKhối lệnh n+1Biểu thức 1Biểu thức 2ĐúngKhối lệnh 2Biểu thức nĐúngKhối lệnh nSaiSai
Video liên quan