Câu lệnh rẽ nhánh trong swift đòi hỏi bạn phải chỉ định một hay nhiều chỉ định khác nhau. Nếu điều kiện được xác định là true (đúng) thì những câu lệnh đó sẽ được thực thi và đối với những câu lệnh còn lại sẽ được xác định là false (sai). Dưới đây là sơ đồ biểu diễn những câu lệnh rẽ nhánh mà bạn có thể tham khảo.
Câu lệnh if (If Statement)
Một cấu trúc rẽ nhánh if gồm một biểu thức luận lý là biểu thức điều kiện và theo sau là một hoặc nhiều câu lệnh khác.
Cú pháp
if boolean_expression {
/* Câu lệnh sẽ thực hiện nếu biểu thức boolean là đúng */
}
Bên trong câu lệnh if sẽ được thực thi nếu như biểu thức điều kiện được xác định là true (đúng)
Ví dụ:
var age:Int = 10;
/* Kiểm tra các điều kiện boolean sử dụng câu lệnh if */
if age < 20 {
/* Nếu điều kiện là đúng thì in thông báo sau */
print("Tuổi nhỏ hơn 20");
}
print("Tuổi của bạn là \(age)");
Chúng ta sẽ nhận được kết quả dưới đây khi sử dụng playground để chạy chương trình trên.
Tuổi nhỏ hơn 20
Tuổi của bạn là 10
Câu lệnh if…else (If…Else Statement)
Theo sau một câu lệnh if có thể là else và tất nhiên khối bên trong câu lệnh else sẽ được xác định khi biểu thức điều kiện là false (sai)
Cú pháp
if boolean_expression {
/* Câu lệnh sẽ thực hiện nếu biểu thức boolean là đúng */
} else {
/* Câu lệnh sẽ thực hiện nếu biểu thức boolean là sai */
}
Sơ đồ biểu diễn câu lệnh if…else
Ví dụ
var age:Int = 100;
if age < 20 {
print("Tuổi nhỏ hơn 20");
} else {
print("Tuổi lớn hơn 20");
}
print("Tuổi của bản là \(age)");
Chúng ta sẽ nhận được kết quả dưới đây khi sử dụng playground để chạy chương trình trên.
Tuổi lớn hơn 20
Tuổi của bạn là 100
Câu lệnh if…else if…else (if…else if…else Statement)
Theo sau một câu lệnh if có thể là một câu lệnh else if…else để test trong nhiều trường hợp khác nhau.
Cú pháp
if boolean_expression_1 {
/* Thực thi khi expression 1 đúng */
} else if boolean_expression_2 {
/* Thực thi khi expression 2 đúng */
} else if boolean_expression_3 {
/* Thực thi khi expression 3 đúng */
} else {
/* Thực thi nếu không có điều kiện nào bên trên đúng */
}
Ví dụ
var age:Int = 100;
if age == 20 {
print("Tuổi bằng 20");
} else if age == 50 {
print("Tuổi bằng 50");
} else {
print("Không thoả");
}
print("Tuổi của bạn là \(age)");
Chúng ta sẽ nhận được kết quả dưới đây khi sử dụng playground để chạy chương trình trên.
Không thoả
Tuổi của bạn là 100
Câu lệnh if lồng nhau (Nested If Statements)
Trong câu lệnh if lồng nhau bạn có thể sử dụng một câu lệnh if hoặc else if có chứa một hoặc nhiều câu lệnh if hoặc else if khác nhau.
Cú pháp
if boolean_expression_1 {
/* Thực thi nếu expression 1 đúng */
if boolean_expression_2 {
/* Thực thi nếu expression 2 đúng */
}
}
Ví dụ
var n1:Int = 100;
var n2:Int = 200;
if n1 == 100 {
print("Điều kiện đầu tiên thoả");
if n2 == 200 {
print("Điều kiện thứ 2 cũng thoả");
}
}
print("Giá trị của n1 là \(n1)");
print("Giá trị của n2 là \(n2)");
Chúng ta sẽ nhận được kết quả dưới đây khi sử dụng playground để chạy chương trình trên.
Điều kiện đầu tiên thoả
Điều kiện thứ 2 cũng thoả
Giá trị của n1 là 100
Giá trị của n2 là 200
Toán tử ? (The ? : Operator)
Nếu bạn không muốn sử dụng câu lệnh if…else chúng ta có thể sử dụng toán tử ? để thay thế.
variableName = Exp1 ? Exp2 : Exp3;
Với các biểu thức là Exp1, Exp2 và Exp3. Nếu biểu thức 1 (Exp1) được xác định là true thì giá trị của variable Name là giá trị của biểu thức 2 (Exp2). Nếu biểu thức 1 (Exp1) được xác định là false thì giá trị của variable Name là giá trị của biểu thức 3 (Exp3).
Ví dụ tìm số lớn nhất trong 2 số
var n1:Int = 100;
var n2:Int = 200;
var max:Int;
max = n1 >= n2 ? n1 : n2;
print("Giá trị lớn nhất là \(max)");
Chúng ta sẽ nhận được kết quả dưới đây khi sử dụng playground để chạy chương trình trên.
Giá trị lớn nhất là 200
câu lệnh switch (Switch Statement)
switch expression {
case expression1 :
statement(s)
fallthrough /* optional */
case expression2, expression3 :
statement(s)
fallthrough /* optional */
default: /* Optional */
statement(s);
}
Ví dụ 1 (Không sử dụng fallthrough)
var index = 10
switch index {
case 100, 200 :
print("Giá trị của index bằng 100 hoặc 200")
case 10 :
print("Giá trị của index là 10")
case 5 :
print("Giá trị của index là 5")
default :
print("Không xác định")
}
Chúng ta sẽ nhận được kết quả dưới đây khi sử dụng playground để chạy chương trình trên.
Giá trị của index là 10
Ví dụ 2 (Sử dụng fallthrough)
var index = 10
switch index {
case 100, 200 :
print("Giá trị của index bằng 100 hoặc 200")
fallthrough
case 10 :
print("Giá trị của index bằng 10")
fallthrough
case 5 :
print("Giá trị của index bằng 5")
default :
println("Không xác định")
}
Chúng ta sẽ nhận được kết quả dưới đây khi sử dụng playground để chạy chương trình trên.
Giá trị của index bằng 10
Giá trị của index bằng 5