Chào các bạn, bài này mình sẽ tìm hiểu các Luồng điều khiển trong Kotlin.
Biểu thức điều kiện If…else trong Kotlin.
1 2 3 4 5 6 |
var max: Int if (a > b) { max = a } else { max = b } |
Như những ngôn ngữ khác, Biểu thức if, else đóng vai trò nếu điều khiện đúng thì thực hiện cái này, sai thì thực hiện cái khác, hoặc ngược lại, với Kotlin cũng như vậy, nhưng ngoài ra trong Kotlin, biểu thức điều kiện còn là một biểu thức trả về một giá trị. -> có nghĩa là sao, mời xem đoạn code sau:
1 |
val max = if (a > b) a else b |
Đó, như các bạn thấy, 2 đoạn code phía trên cùng cho một kết quả như nhau, nhưng cách 1 là viết theo kiểu truyền thống, còn cách 2 viết theo kiểu Kotlin, nghĩa là if với else đóng vai trò là một kết quả trả về luôn, giúp code ngắn gọn hơn.
Biểu thức when trong Kotlin.
Trong kotlin thì biểu thức when dùng để thay thế cho switch.
1 2 3 4 5 6 7 |
when (x) { 1 -> print("x == 1") 2 -> print("x == 2") else -> { // Note the block print("x is neither 1 nor 2") } } |
When sẽ lấy giá trị x so sánh với các giá trị 1 và 2, nếu x bằng với giá trị nào thì câu lệnh tương ứng với giá trị đó sẽ được thực hiện, nếu x không khớp với gái trị nào, lệnh else sẽ được chạy.
Để kiểm tra một giá trị trong một phạm vi, ta thêm in đứng trước giá trị trong phạm vi.
1 2 3 4 5 6 |
when (x) { in 1..10 -> print("x is in the range") in validNumbers -> print("x is valid") !in 10..20 -> print("x is outside the range") else -> print("none of the above") } |
Ngoài ra, giống như if, else, when cũng có thể là một biểu thức trả về.
1 2 3 4 |
fun hasPrefix(x: Any) = when(x) { is String -> x.startsWith("prefix") else -> false } |
Ngoài ra, when còn giống như một chuỗi biểu thức if..else
1 2 3 4 5 6 7 8 |
fun main(args: Array<String>) { var x:Int=100 when { x%2==0-> println("X là số chẵn") x%2!=0->println("X là số lẻ") } } |
Như vậy, mình đã nói qua về 2 luồng điều khiển trong Kotlin, bài tiếp theo mình sẽ nói về vòng lặp for và while.