KIẾN THỨC CƠ BẢN VỀ DART (PHẦN 3)

by doanquyet
278 views

Sang phần 3 này, chúng ta sẽ tìm hiểu về Control Flow.

Control flow cho phép bạn ra lệnh khi nào thực thi, bỏ qua hoặc lặp lại một số dòng mã nhất định. Bạn sử dụng các điều kiện (conditionals ) và vòng lặp (loops ) để xử lý luồng điều khiển trong Dart.

Trong phần này, bạn sẽ tìm hiểu thêm về:

  • Conditionals
  • While Loops
  • Continue and Break
  • For Loops

Đây là những gì bạn cần biết về các phần tử luồng điều khiển trong Dart.

Conditionals

Hình thức cơ bản nhất của luồng điều khiển là quyết định thực thi hay bỏ qua các phần nhất định của mã của bạn, tùy thuộc vào các điều kiện xảy ra khi chương trình của bạn chạy.

Cấu trúc ngôn ngữ để xử lý các điều kiện là câu lệnh ifelseifelse trong Dart trông gần giống với việc sử dụng nó trong các ngôn ngữ giống C khác.

Câu lệnh If

Giả sử bạn có một biến animal đó hiện là một con cáo. Nó trông như thế này:

var animal = 'fox';

Bạn có thể sử dụng một if câu lệnh để kiểm tra xem đó animal là mèo hay chó, sau đó chạy một số mã tương ứng.

if (animal == 'cat' || animal == 'dog') {
  print('Animal is a house pet.');
}

Ở đây, bạn đã sử dụng các toán tử equality OR để tạo bool điều kiện bên trong cho if câu lệnh.

Câu lệnh else

Với một else mệnh đề, bạn có thể chạy mã thay thế nếu điều kiện sai:

else {
  print('Animal is NOT a house pet.');
}
// Animal is NOT a house pet.

Bạn cũng có thể kết hợp nhiều câu lệnh ifelse thành một hàm ifelse ifelse:

if (animal == 'cat' || animal == 'dog') {
  print('Animal is a house pet.');
} else if (animal == 'rhino') {
  print('That\'s a big animal.');
} else {
  print('Animal is NOT a house pet.');
}
// Animal is NOT a house pet.

Bạn có thể có nhiều else if nhánh giữa if và else tùy theo nhu cầu.

While Loops

Vòng lặp cho phép bạn lặp lại mã một số lần nhất định hoặc dựa trên các điều kiện nhất định. Bạn xử lý sự lặp lại dựa trên điều kiện bằng cách sử dụng vòng lặp while .

Có hai dạng vòng lặp while trong Dart: while và do-while. Sự khác biệt là với while, điều kiện lặp xảy ra trước khối mã. Trong khi do-while, điều kiện xảy ra sau. Điều đó có nghĩa là do-while các vòng lặp đảm bảo khối mã chạy ít nhất một lần.

Ví dụ While Loop

Để thử điều này, hãy tạo một biến được i khởi tạo thành 1:

var i = 1 ;

Tiếp theo, sử dụng một while vòng lặp để in i trong khi tăng dần. Đặt điều kiện thành i nhỏ hơn 10:

while (i < 10) {
  print(i);
  i++;
}
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9

Chạy mã và bạn sẽ thấy rằng while vòng lặp in các số từ 1 đến 9.

Ví dụ Do-While

Đặt lại i trong DartPad, sau đó thêm vòng lặp do-while:

i = 1;
do {
  print(i);
  i++;
} while (i < 10);
// 1
// 2
// 3
// 4
// 5
// 6
// 7
// 8
// 9

Kết quả vẫn giống như trước đây. Tuy nhiên, lần này, phần thân của vòng lặp đã chạy một lần trước khi kiểm tra điều kiện thoát khỏi vòng lặp.

Continue and Break

Dart sử dụng continue và break từ khóa trong các vòng lặp và các nơi khác. Đây là những gì họ làm:

  • continue : Bỏ qua mã còn lại bên trong một vòng lặp và ngay lập tức chuyển sang lần lặp tiếp theo.
  • break : Dừng vòng lặp và tiếp tục thực hiện sau phần thân của vòng lặp.

Hãy cẩn thận khi sử dụng continue trong mã của bạn. Ví dụ: nếu bạn thực hiện do-while vòng lặp từ trên và bạn muốn tiếp tục khi i bằng 5, điều đó có thể dẫn đến một vòng lặp vô hạn tùy thuộc vào vị trí bạn đặt câu lệnh continue :

i = 1;
do {
  print(i);
  if (i == 5) {
    continue;
  }            
  ++i;
} while (i < 10);
// 1
// 2
// 3
// 4
// 5
// 5
// 5
// 5
// 5
// 5
// 5
// 5
// 5
// 5
// ...

Vòng lặp vô hạn xảy ra bởi vì, một khi i là 5, bạn không bao giờ tăng nó nữa, vì vậy điều kiện luôn đúng.

Nếu bạn chạy điều này trong DartPad, vòng lặp vô hạn sẽ khiến trình duyệt bị treo. Thay vào đó, hãy sử dụng break, để vòng lặp kết thúc sau khi i đạt đến 5:

i = 1;
do {
  print(i);
  if (i == 5) {
    break;
  }
  ++i;
} while (i < 10);
// 1
// 2
// 3
// 4
// 5

Chạy mã. Bây giờ, vòng lặp kết thúc sau năm lần lặp.

For Loops

Trong Dart, bạn sử dụng các vòng lặp for để lặp lại một số lần được xác định trước. Vòng lặp for bao gồm khởi tạo, một điều kiện vòng lặp và một hành động. Chúng tương tự như for các vòng lặp trong các ngôn ngữ khác.

Dart cũng cung cấp một for-in vòng lặp, lặp lại trên một tập hợp các đối tượng. Bạn sẽ tìm hiểu thêm về những điều này sau.

Để xem cách for hoạt động của một vòng lặp, hãy tạo một biến cho sum:

var sum = 0 ;

Tiếp theo, sử dụng một vòng lặp for để khởi tạo bộ đếm vòng lặp từ i đến 1. Sau đó, bạn sẽ kiểm tra xem i nhỏ hơn hoặc bằng 10 và tăng dần i sau mỗi vòng lặp.

Bên trong vòng lặp, sử dụng phép gán ghép để thêm i vào tổng đang chạy:

for (var i = 1; i <= 10; i++) {
  sum += i;  
}
print("The sum is $sum"); // The sum is 55

Chạy mã của bạn trong DartPad để xem tổng.

Kết thúc phần 3!

Leave a Comment

* By using this form you agree with the storage and handling of your data by this website.

You may also like