Câu lệnh If trong C Sharp

By 07/01/2021Tháng Sáu 10th, 2021C#, KIẾN THỨC LẬP TRÌNH

C# câu lệnh if, if…else, if…else if và câu lệnh if lồng nhau

Trong phần này, chúng ta sẽ tìm hiểu cách sử dụng câu lệnh if, if…else và if..else if để kiểm tra khả năng thực thi chương trình trong C#. 

Việc kiểm tra condition (điều kiện) là điều không thể tránh khỏi trong quá trình lập chương trình. Chúng ta thường phải đối mặt với các tình huống cần kiểm tra condition (cho dù nó true hay là false) để kiểm soát chương trình. Những điều kiện đó có thể bị ảnh hưởng bởi input từ user, yếu tố thời gian, môi trường mà chương trình đang chạy,….

Ở những phần dưới, chúng ta sẽ cùng tìm hiểu cách kiểm tra condition trong C# bằng câu lệnh if

C# Câu lệnh if (if-then)

Câu lệnh if-then trong C# sẽ thực thi một khối mã nếu condition là true. Cú pháp của câu lệnh if-then là:

if (boolean-expression)

{

// statements executed if boolean-expression is true

}

 

  • Biểu thức Boolean sẽ trả về true hoặc false.
  • Nếu biểu thức Boolean trả về true, câu lệnh bên trong phần thân của if ( phần bên trong dấu ngoặc nhọn {…} ) sẽ được thực thi.
  • Nếu biểu thức Boolean trả về false, câu lệnh bên trong phần thân của if sẽ bị bỏ qua.

Ví dụ,

if (number < 5)

{

number += 5;

}

 

Trong ví dụ này, câu lệnh:

number += 5;

Sẽ được thực thi chỉ khi giá trị của number nhỏ hơn 5. Bạn có nhớ về toán tử gán phép không? Ví dụ ở đây đã sử dụng += operator.

Câu lệnh if hoạt động như thế nào?

Ví dụ 1: C# Câu lệnh if 

using System;

 

namespace Conditional

{

class IfStatement

{

public static void Main(string[] args)

{

int number = 2;

if (number < 5)

{

Console.WriteLine(“{0} is less than 5”, number);

}

 

Console.WriteLine(“This statement is always executed.”);

}

}

}

 

Khi chạy chương trình, output sẽ hiển thị:

2 is less than 5

This statement is always executed.

Giá trị của number được khởi tạo là 2. Vì thế biểu thức (expression) number < 5 được đánh giá là true. Do đó, code bên trong khối if được thực thi. Đoạn mã sau câu lệnh if sẽ luôn được thi dù cho biểu thức có đúng hay không. 

Bây giờ, hãy thử thay đổi giá trị của number thành con số lớn hơn 5, ví dụ như 10. Lúc này, khi chạy chương trình output sẽ hiển thị:

This statement is always executed.

Biểu thức number < 5 sẽ trả về false, vì thế đoạn code bên trong lệnh if sẽ không được thực thi. 

C# Câu lệnh if…else (if-then-else) 

Câu lệnh If trong C# có thể có thêm một câu lệnh khác tùy chọn (if…else). Khối code trong câu lệnh else sẽ được thực thi nếu biểu thức trả về false.

Cú pháp của câu lệnh if…else trong C# là:

if (boolean-expression)

{

// statements executed if boolean-expression is true

}

else

{

// statements executed if boolean-expression is false

}

 

Ví dụ,

if (number < 5)

{

number += 5;

}

else

{

number -= 5;

}

 

Trong ví dụ này, câu lệnh:

number += 5;

Sẽ được thực thi chỉ khi giá trị của number nhỏ hơn 5.

The statement

number -= 5;

Sẽ được thực thi chỉ khi giá trị của number lớn hơn hoặc bằng 5.

Cách câu lệnh if…else hoạt động?

Ví dụ 2: C# câu lệnh if…else 

using System;

 

namespace Conditional

{

class IfElseStatement

{

public static void Main(string[] args)

{

int number = 12;

 

if (number < 5)

{

Console.WriteLine(“{0} is less than 5”, number);

}

else

{

Console.WriteLine(“{0} is greater than or equal to 5”, number);

}

 

Console.WriteLine(“This statement is always executed.”);

}

}

}

 

Khi chạy chương trình, output sẽ hiển thị:

12 is greater than or equal to 5

This statement is always executed.

Ở đây, giá trị của number được khởi tạo là 12. Vì thế biểu thức number < 5 bị đánh giá là false. Do đó, đoạn mã bên trong else sẽ được thực thi. Trong khi đó, đoạn mã sau câu lệnh if..else  sẽ luôn được thi dù cho biểu thức có đúng hay không. 

Bây giờ, hãy thử thay đổi giá trị của number thành số nhỏ hơn 5, ví dụ 2. Lúc này, khi chạy chương trình output sẽ hiển thị:

2 is less than 5

This statement is always executed.

Biểu thức number < 5 sẽ trả về true, do đó đoạn mã bên trong if sẽ được thực thi. 

Ternary operator in C# sẽ cung cấp phím tắt cho câu lệnh if…else.

 

C# câu lệnh if…else if (if-then-else if) 

Khi chúng ta chỉ có một condition để kiểm tra, câu lệnh if-then và if-then-else là đủ. 

Nhưng điều gì sẽ xảy ra nếu chúng ta chỉ có nhiều condition khác nhau cần kiểm tra và thực thi chỉ một khối mã trong nhiều khối mã? 

Trong trường hợp đó, chúng ta có thể sử dụng câu lệnh if..else if. Cú pháp cho câu lệnh if … else if là:

if (boolean-expression-1)

{

// statements executed if boolean-expression-1 is true

}

else if (boolean-expression-2)

{

// statements executed if boolean-expression-2 is true

}

else if (boolean-expression-3)

{

// statements executed if boolean-expression-3 is true

}

.

.

.

else

{

// statements executed if all above expressions are false

}

 

Câu lệnh if…else if được thực thi từ trên xuống dưới. Ngay khi biểu thức trả về true, đoạn mã bên trong câu lệnh if (hoặc else if) đó sẽ được thực thi. Sau đó đoạn mã của else sẽ bị bỏ qua để tiến hành tiếp tục các if khác.

Nếu không có biểu thức nào true, đoạn mã trong else sẽ được thực thi. 

Ngoài ra, chúng ta có thể sử dụng câu lệnh Switch trong những trường hợp tương tự.

Ví dụ 3: C# câu lệnh if…else if 

using System;

 

namespace Conditional

{

class IfElseIfStatement

{

public static void Main(string[] args)

{

int number = 12;

 

if (number < 5)

{

Console.WriteLine(“{0} is less than 5”, number);

}

else if (number > 5)

{

Console.WriteLine(“{0} is greater than 5”, number);

}

else

{

Console.WriteLine(“{0} is equal to 5”);

}

}

}

}

 

Khi chạy chương trình, output sẽ hiển thị:

12 is greater than 5

Giá trị của number được khai tạo là 12. Biểu thức kiểm tra ra number < 5false, vì thế điều khiển sẽ chuyển sang else if. Biểu thức kiểm tra ra number > 5true thì đoạn mã trong else if sẽ được thực thi. 

Tương tự, chúng ta có thể thay đổi giá trị của number để thay đổi luồng thực thi.

Câu lệnh If…else lồng nhau 

Một câu lệnh if…else có thể tồn tại bên trong một câu lệnh if…else khác. Những câu lệnh như vậy được gọi là câu lệnh if…else lồng nhau hay if..else nhiều điều kiện. 

Cấu trúc chung của câu lệnh if… else lồng nhau là:

if (boolean-expression)

{

if (nested-expression-1)

{

// code to be executed

}

else

{

// code to be executed

}

}

else

{

if (nested-expression-2)

{

// code to be executed

}

else

{

// code to be executed

}

}

 

Câu lệnh if lồng nhau được sử dụng khi chúng ta phải kiểm tra một condition sau đó là một condition khác.

Trong một câu lệnh if lồng nhau, nếu câu lệnh if bên ngoài trả về true, nó sẽ đi vào phần thân để kiểm tra câu lệnh if bên trong.

Ví dụ 4: Câu lệnh if…else lồng nhau

Chương trình sau đây tính số lớn nhất trong ba số bằng cách sử dụng câu lệnh if…else lồng nhau.

using System;

 

namespace Conditional

{

class Nested

{

public static void Main(string[] args)

{

int first = 7, second = -23, third = 13;

if (first > second)

{

if (firstNumber > third)

{

Console.WriteLine(“{0} is the largest”, first);

}

else

{

Console.WriteLine(“{0} is the largest”, third);

}

}

else

{

if (second > third)

{

Console.WriteLine(“{0} is the largest”, second);

}

else

{

Console.WriteLine(“{0} is the largest”, third);

}

}

}

}

}

 

Khi chạy chương trình, output sẽ hiển thị:

13 is the largest

Để lại một câu trả lời