[SWIFT] Bài 7 - Vòng lặp trong Swift

Bài 7 - Vòng lặp trong Swift

Vòng lặp được sử dụng để chạy lặp lại một khối lệnh. Nó làm chương trình của bạn thực thi lặp đi lặp lại một khối lệnh nhiều lần, đây là một trong các nhiệm vụ cơ bản trong lập trình.
Swift hỗ trợ 4 loại vòng lặp khác nhau:

FOR .. IN
FOR
WHILE
REPEAT WHILE

* Vòng lặp for in
Vòng lặp for .. in dùng để duyệt trên một tập hợp, hoặc một mảng.
Cú pháp:

// <element>: Phần tử
// <collection>: Tập hợp
for <element> in <collection> {
  // Các câu lệnh
}


Ví dụ dưới đây sử dụng for .. in để duyệt trên một mảng (Khái niệm mảng sẽ được đề cập ở phần tiếp theo).
ForInExample1.swift

import Foundation
func forInExample1() {
// Khai báo một mảng các String với 5 phần tử.
var languages:[String] = ["Java","C#", "C/C++", "Swift", "Ruby"]
for lang in languages {
print("Language " + lang)
}
}

RUN:


* Vòng lặp for
Cấu trúc của vòng lặp FOR:

// initialize variable: Khởi tạo một biến.
// condition: Điều kiện.
// updates new value for variable: Cập nhập giá trị mới cho biến.
for (initialize variable ; condition ; updates new value for variable )
{
// Các câu lệnh, thực hiện khi condition cho giá trị true
}


Ví dụ:

// Ví dụ 1:
// Tạo một biến x và gán giá trị 0 cho nó.
// Điều kiện kiểm tra là x < 5
// Nếu x < 5 đúng thì khối lệnh được thực thi.
// Sau mỗi bước lặp (iteration), giá trị của x được tăng lên 1.
for (int x = 0; x < 5 ; x = x + 1)
{
// Làm gì đó tại đây khi x < 5 là đúng (true).
}


Ví dụ 2:

// Tạo một biến x và gán giá trị ban đầu của nó là 2
// Điều kiện kiểm tra là x < 15
// Nếu x < 15 đúng thì khối lệnh được chạy
// Sau mỗi bước lặp (iteration), giá trị của x được tăng lên 3.
for (int x = 2; x < 15 ; x = x + 3)
{
// Làm gì đó tại đây khi x < 15 là đúng (true).
}

ForLoopExample.swift

import Foundation

func forLoopExample() {
print("For loop example");
// Khai báo một biến x và gán giá trị 2 cho nó.
// Điều kiện là x < 15
// Nếu x < 15 là đúng (true) thì thực hiện khối lệnh.
// Sau mỗi bước lặp (iteration), giá trị của x được tăng thêm 3.
for (var x = 2; x < 15; x = x + 3) {
print( );
print("Value of x = \(x)");
}
}

Kết quả chạy ví dụ:


* Vòng lặp while
Cú pháp:

// condition: Điều kiện
while (condition)
{
  // Trong khi 'condition' là đúng, thì thực thi khối lệnh.
}


Ví dụ:

// Khai báo một biến x.
int x = 2;
while ( x < 10)
{
// Làm gì đó tại đây khi x < 10 còn đúng.
...
// Cập nhập giá trị mới cho biến x.
x = x + 3;
}

WhileLoopExample.swift

import Foundation
func whileLoopExample() {
print("While loop example");
// Khai báo một biến và gán giá trị 2 cho nó.
var x = 2;
// Điều kiện là x < 10
// Nếu x < 10 là đúng (true) thì thực hiện khối lệnh.
while (x < 10) {
print("Value of x = \(x)");
x = x + 3;
}
}

Kết quả chạy ví dụ:



* Vòng lặp repeat-while
Cú pháp của vòng lặp REPEAT-WHILE

// Đặc điểm của vòng lặp 'repeat-while' là nó sẽ thực khi khối lệnh ít nhất 1 lần.
// Mỗi lần chạy xong khối lệnh nó lại kiểm tra điều kiện xem có thực thi tiếp không.
repeat {
// Làm gì đó tại đây
// Sau đó mới kiểm tra tiếp điều kiện xem có tiếp tục chạy khối lệnh này nữa hay không.
} while (condition)

RepeatWhileExample.swift

import Foundation
func repeatWhileExample() {
print("Repeat-While loop example")
// Khai báo một biến và gán giá trị 2 cho nó.
var x = 2
// Thực thi khối lệnh ít nhất một lần.
// Sau mỗi lần thực hiện xong khối lệnh,
// nó sẽ kiểm tra điều kiện,
// nếu điều kiện vẫn đúng, khối lệnh sẽ được thực thi tiếp.
repeat {
print("Value of x = \(x)")
x = x + 3;
} while (x < 10)
}

Kết quả chạy ví dụ:


*  Lệnh break trong vòng lặp

break là một lệnh nó có thể nằm trong một khối lệnh của một vòng lặp. Đây là lệnh kết thúc vòng lặp vô điều kiện.



LoopBreakExample.swift

import Foundation

func loopBreakExample() {
print("Break example");
// Khai báo một biến và gán giá trị 2 cho nó.
var x = 2;
while (x < 15) {
print("----------------------");
print("x = \(x)");
// Nếu x = 5 thì thoát khỏi vòng lặp.
if (x == 5) {
break;
}
// Tăng giá trị của x thêm 1.
x = x + 1;
print("After +1, x = \(x)");
}
}

Kết quả chạy ví dụ:


* Lệnh continue trong vòng lặp

continue là một lệnh, nó có thể nằm trong một vòng lặp, khi bắt gặp lệnh continue chương trình sẽ bỏ qua các dòng lệnh trong khối phía dưới của continue và bắt đầu một vòng lặp mới.


LoopContinueExample.swift

import Foundation
func loopContinueExample() {
print("Continue example")
// Khai báo một biến và gán giá trị 2 cho nó.
var x = 2
while (x < 7) {
print("----------------------")
print("x = \(x)")
// Toán tử % là phép chia lấy số dư.
// Nếu x là số chẵn, thì bỏ qua các dòng lệnh phía dưới của 'continue'
// và bắt đầu bước lặp tiếp theo (Nếu điều kiện vẫn đúng).
if (x % 2 == 0) {
// Tăng giá trị của x thêm 1
x = x + 1
continue
}
else {
// Tăng giá trị của x thêm 1.
x = x + 1
}
print("After +1, x = \(x)")
}
}

Kết quả chạy ví dụ: