Lập trình với C#: Chương 2 (Phần IV)

Câu lệnh điều kiện

Câu lệnh điều kiện if :

Cú pháp như sau:

if (condition)
      statement(s)
[else
     statement(s)]

Xét ví dụ sau:

Nếu có nhiều hơn một câu lệnh để thi hành trong câu điều kiện chúng ta sẽ đưa tất cả các câu lệnh này vào trong dấu ngoặc móc ({ … }) giống như ví dụ dưới đây

bool isZero;
if (i == 0)
{
   isZero = true;
   Console.WriteLine(“i is Zero”);
}
else
{
   isZero = false;
   Console.WriteLine(“i is Non-zero”);
}

Đoạn code trên kiểm tra isZero có bằng 0 hay không.

Xét ví dụ:

Trong ví dụ dưới đây chúng ta dùng câu điều kiện íf . . . else để kiểm tra nhiều điều kiện .

using System;

namespace Wrox.ProCSharp.Basics
{
    class MainEntryPoint
{
         static void Main(string[] args)
          {
                Console.WriteLine(“Type in a string”);
                string input; 
                 input = Console.ReadLine();
                 if (input == “”) 
                  {
                      Console.WriteLine(“You typed in an empty string”); 
                   } 
                  else if (input.Length < 5)
                   { 
                       Console.WriteLine(“The string had less than 5 characters”); 
                    }
                  else if (input.Length < 10)
                  {
                       Console.WriteLine(“The string had at least 5 but less than 10
                       characters”); 
                   }
                Console.WriteLine(“The string was ” + input);
            }
    }
}

Đoạn code trên không giới hạn bao nhiêu else if’s trong câu điều kiện

if (i == 0)
Console.WriteLine(“i is Zero”); // câu lệnh chỉ thi hành khi i == 0
Console.WriteLine(“i can be anything”); // câu lệnh thi hành bất kì giá trị của i

Câu lệnh switch

Các câu lệnh if nằm lồng rất khó đọc, khó gỡ rối. Khi bạn có một loạt lựa chọn phức tạp thì nên sử dụng câu lệnh switch.

Cú pháp như sau:

switch (biểu thức)

{   casce biểu thức ràng buộc:

    câu lệnh

    câu lệnh nhảy

    [default: câu lệnh mặc định]

}

Thí dụ sau: Thí dụ sẽ kiểm tra integerA thoả đúng trong các trường hợp 1, 2, 3 không nếu không đúng sẽ thực thi trường hợp default

switch (integerA)
{
    case 1:
                   Console.WriteLine(“integerA =1”); 
                   break; 
    case 2:
                   Console.WriteLine(“integerA =2”); 
                    break;
    case 3:
                   Console.WriteLine(“integerA =3”);
                    break;
    default:
                    Console.WriteLine(“integerA is not 1,2, or 3”);
                     break;
}

Xem các Thí dụ sau để hiểu rõ thêm về switch:

// assume country and language are of type string

switch(country)
{
      case “America”: 
                  CallAmericanOnlyMethod();
                  goto case “Britain”; 
      case “France”:
                 language = “French”;
                 break;
      case “Britain”:
                language = “English”;
                break;
}

switch(country)
{
     case “au”: 
     case “uk”:
     case “us”:
                 language = “English”;
                 break; 
     case “at”: 
     case “de”:
                 language = “German”;
                 break;
}

Vòng lặp (Loops):

C# cung cấp cho chúng ta 4 vòng lặp khác nhau (for, while, do…while, và foreach)
cho phép chúng ta thực hiện một đoạn mã lặp lại đến khi đúng điều kiện lặp.

Vòng lặp for:

cú pháp:

                for (initializer; condition; iterator)
                statement(s)

Thí dụ:

Đoạn mã sau sẽ xúât ra tất cả số nguyên từ 0 đến 99:

for (int i = 0; i < 100; i = i+1)

{
    Console.WriteLine(i);
}

Xét ví dụ sau:

using System;

namespace Wrox.ProCSharp.Basics
{
      class MainEntryPoint
       {
             static void Main(string[] args)
               {
                   // This loop iterates through rows…
                        for (int i = 0; i < 100; i+=10)
                           {
                                 // This loop iterates through columns…
                                    for (int j = i; j < i + 10; j++)
                                       {
                                             Console.Write(” ” + j);
                                        }
                                    Console.WriteLine();
                              }
                   }
          }
}

Kết quả được in ra khi chạy chương trình như sau:

csc NumberTable.cs
Microsoft (R) Visual C# .NET Compiler version 7.00.9466
for Microsoft (R) .NET Framework version 1.0.3705
Copyright (C) Microsoft Corporation 2001. All rights reserved.

NumberTable

  0  1  2  3  4  5  6  7  8  9
  10  11  12  13  14  15  16  17  18  19
  20  21  22  23  24  25  26  27  28  29
  30  31  32  33  34  35  36  37  38  39
  40  41  42  43  44  45  46  47  48  49
  50  51  52  53  54  55  56  57  58  59
  60  61  62  63  64  65  66  67  68  69
  70  71  72  73  74  75  76  77  78  79
  80  81  82  83  84  85  86  87  88  89
  90  91  92  93  94  95  96  97  98  99

Vòng lặp while (The while Loop)

Cú pháp như sau :

while(condition)
        statement(s);

Thí dụ :

bool condition = false;
while (!condition)
{
        // Vòng lặp thực hiện đến khi điều kiện đúng
           DoSomeWork();
           condition = CheckCondition(); // cho rằng CheckCondition() trả về kiểu bool
}

Vòng lặp do . . . while (The do…while Loop)

bool condition;
do
{
      // Vòng lặp này sẽ thực hiện ít nhất một lần thậm chí nếu câu điều kiện sai
          MustBeCalledAtLeastOnce();
          condition = CheckCondition();
} while (condition);

Vòng lặp foreach (The foreach Loop)

Cho phép bạn rảo qua tất cả các phần tử bản dãy hoặc các tập hợp khác, và tuần tự xem xét từng phần tử một.Cú pháp như sau:

foreach (type identifier in expression) statement

thí dụ:

foreach (int temp in arrayOfInts)
{
    Console.WriteLine(temp);
}

foreach (int temp in arrayOfInts)

    temp++;
    Console.WriteLine(temp);
}

Câu lệnh goto

goto Label1;
            Console.WriteLine(“This won’t be executed”);
Label1:
           Console.WriteLine(“Continuing execution from here”);

Câu lệnh break

Ta dùng câu lệnh break khi muốn ngưng ngang xương việc thi hành và thoát khỏi vòng lặp.

Câu lệnh continue

Câu lệnh continue được dùng trong vòng lặp khi bạn muốn khởi động lại một vòng lặp nhưng lại không muốn thi hành phần lệnh còn lại trong vòng lặp, ở một điểm nào đó trong thân vòng lặp.

Câu lệnh return

Câu lệnh return dùng thoát khỏi một hàm hành sự của một lớp, trả quyền điều khiển về phía triệu gọi hàm (caller). Nếu hàm có một kiểu dữ liệu trả về thì return phải trả về một kiểu dữ liệu này; bằng không thì câu lệnh được dùng không có biểu thức.