Bài 09: Câu lệnh điều kiện trong C#

0
2348

Cấu trúc điều khiển đòi hỏi phải lập trình để chỉ định một hoặc nhiều điều kiện, để đánh giá hay kiểm tra bởi chương trình, cùng với một hoặc nhiều câu lệnh để được thực thi nếu điều kiện được xác định là đúng, và câu lệnh khác được thực thi nếu điều kiện được xác định là sai.

Sau đây là cấu trúc chung của lệnh điều kiện thường được tìm thấy trong hầu hết các ngôn ngữ lập trình:

decision_making

Tương tự như trong C/C++, Ngôn ngữ C # cung cấp các loại cấu trúc điều kiện sau:

Câu lệnh Mô tả
If(điều kiện) Gồm một biểu thức logic cùng với một hoặc nhiều câu lệnh. Xem thêm Cấu trúc IF-ELSE trong c/c++
If…..else…… Có thêm tùy chọn khác nếu biểu thức logic là sai
If lồng nhau Có thể đặt if hoặc if…else…bên trong điều kiện if hoặc else
Câu lệnh switch Một câu lệnh switch cho phép một biến sẽ được kiểm tra bình đẳng đối với một danh sách các giá trị. Xem thêm Cấu trúc switch – case
Switch lồng nhau Bạn có thể sử dụng một câu lệnh switch bên trong một câu lệnh switch (s).

Câu lệnh if…

Một câu lệnh if… bao gồm một biểu thức logic theo kèm một hoặc nhiều câu lệnh.

Cú pháp:

if(BIEU THUC DIEU KIEN)
{
   /* CÂU LỆNH SẼ THỰC THI NẾU BIỂU THỨC ĐIỀU KIỆN ĐÚNG */
}

Nếu biểu thức logic đánh giá đúng, thì đó khối mã bên trong câu lệnh if được thực thi. Nếu biểu thức boolean là sai, thì câu lệnh if sẽ kết thúc.

Ví dụ:

using System;
namespace DecisionMaking
{
   class Program
   {
      static void Main(string[] args)
      {
         /* KHAI BÁO BIẾN  */
         int a = 10;
         /* KIỂM TRA BIỂU THỨC LOGIC */
         if (a < 20)
         {
            /* NẾU ĐIỀU KIỆN ĐÚNG IN RA MÀN HÌNH 'A NHO HON 20'*/
            Console.WriteLine("A NHO HON 20");
         }
         Console.WriteLine("GIA TRI CUA A LA : {0}", a);
         Console.ReadLine();
      }
   }
}

Câu lệnh if..else..

Có thêm một khối lệnh thực hiện khi biểu thức logic là sai.

Cú pháp:

if(BIEU THUC DIEU KIEN)
{
   /* LỆNH THỰC THI KHI BIỂU THỨC ĐIỀU KIỆN ĐÚNG */
}
else
{
   /* LỆNH THỰC THI KHI BIỂU THỨC ĐIỀU KIỆN SAI */
}

VÍ dụ:

using System;
namespace DecisionMaking
{
   class Program 
   {
      static void Main(string[] args)
      {
         /* KHAI BÁO BIẾN */
         int a = 100;
         
         /* KIỂM TRA BIỂU THỨC LOGIC */
         if (a < 20)
         {
            /* NẾU ĐIỀU KIỆN ĐÚNG THÌ IN RA CÂU SAU */
            Console.WriteLine("A NHO HON 20");
         }
         else
         {
            /* NẾU ĐIỀU KIỆN SAI IN RA CÂU SAU */
            Console.WriteLine("A KO NHO HON 20");
         }
         Console.WriteLine("GIA TRI CUA A LA : {0}", a);
         Console.ReadLine();
      }
   }
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả như sau:

A NHO HON 20;
GIA TRI CUA A LA : 100

Câu lệnh if…else if…else

Ví dụ:

using System;
namespace DecisionMaking
{
   class Program 
   {
      static void Main(string[] args)
      {
         int a = 100;
         
         if (a == 10)
         {
            Console.WriteLine("GIA TRI CUA A LA 10");
         }
         
         else if (a == 20)
         {
            Console.WriteLine("GIA TRI CUA A LA 20");
         }
         
         else if (a == 30)
         {
            Console.WriteLine("GIA TRI CUA A LA 30");
         }
         
         else
         {
            Console.WriteLine("KO CO GIA TRI PHU HOP");
         }
         Console.WriteLine("GIA TRI CHINH XAC CUA A LA: {0}", a);
         Console.ReadLine();
      }
   }
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả như sau:

KO CO GIA TRI PHU HOP
GIA TRI CHINH XAC CUA A LA: 100

Câu lệnh switch

Một câu lệnh cho phép một biến sẽ được kiểm tra trong sự bình đẳng đối với một danh sách các giá trị. Mỗi giá trị được gọi là một trường hợp, và biến được được kiểm tra đối với từng trường hợp.

Cú pháp:

switch(BIEU THUC) {
   case GiaTri1  :
      Cau lenh 1(s);
      break; /* KO BẮT BUỘC */
   case GiaTri2  :
      Cau lenh 2 2(s);
      break; /* KO BẮT BUỘC */
  
   /* bạn có thể có nhiều số trường hợp của case */
   default : /* KO BẮT BUỘC */
   Cau lenh(s);
}

Ví dụ:

using System;
namespace DecisionMaking
{
   class Program
   {
      static void Main(string[] args)
      {
         char grade = 'B';
         
         switch (grade)
         {
            case 'A':
               Console.WriteLine("XUAT SAC!");
               break;
            case 'B':
            case 'C':
               Console.WriteLine("TOT !");
               break;
            case 'D':
               Console.WriteLine("DAU");
               break;
            case 'F':
               Console.WriteLine("CO GANG HON NUA");
               break;
               default:
            Console.WriteLine("CAP DO KO PHU HOP");
               break;
         }
         Console.WriteLine("CAP DO CUA BAN LA  {0}", grade);
         Console.ReadLine();
      }
   }
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả như sau:

TOT
CAP DO CUA BAN LA B

Switch lồng nhau

Ví dụ:

using System;
namespace DecisionMaking
{
   class Program 
   {
      static void Main(string[] args)
      {
         int a = 100;
         int b = 200;
         
         switch (a) 
         {
            case 100: 
            Console.WriteLine("DAY LA MOT PHAN CUA SWITCH ");
            switch (b)
            {
               case 200:
               Console.WriteLine("DAY LA MOT PHAN CUA SWITCH ");
               break;
            }
            break;
         }
         Console.WriteLine("GIA TRI CUA A LA : {0}", a);
         Console.WriteLine("GIA TRI CUA A LA : {0}", b);
         Console.ReadLine();
      }
   }
}

Khi đoạn mã trên được biên dịch và thực thi, nó tạo ra các kết quả như sau:

DAY LA MOT PHAN CUA SWITCH
DAY LA MOT PHAN CUA SWITCH
GIA TRI CUA A LA : 100
GIA TRI CUA B LA : 200

Toán tử điều kiện

Chúng ta có một toán tử điều kiện …?… :….. Nó có thể được sử dụng để thay thế if … else. Nó có hình thức chung sau đây:

Exp1 ? Exp2 : Exp3;

Chỗ exp1, exp2, và exp3 là những biểu thức. Chú ý việc sử dụng và vị trí của dấu 2 chấm.

Giá trị của một ? biểu thức được xác định như sau: Giá trị của biểu thức Exp1 trước dấu ? có giá trị true, Exp2 được thực hiện, và giá trị của nó là giá trị của biểu thức. Nếu Exp1 là false thì Exp3 được thực hiện và giá trị của nó là giá trị của biểu thức.

Chúc các bạn thành công!

This site uses Akismet to reduce spam. Learn how your comment data is processed.