Trong bài viết này, bạn sẽ học cách sử dụng biểu thức if trong Kotlin qua các ví dụ.

1. Cách sử dụng thông thường của if…else

Cú pháp của if…else là:

if (testExpression) {
   // codes to run if testExpression is true
}
else {
  // codes to run if testExpression is false
}

if thực hiện một phần code nhất định nếu testExpression (biểu thức kiểm tra) trả về true. Nó có thể thực hiện mệnh đề else. Phần code bên trong mệnh đề else được thực hiện nếu testExpression trả về giá trị false.

Ví dụ: Cách sử dụng thông thường của if…else

/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
*/

fun main(args: Array<String>) {

    val number = -10

    if (number > 0) {
        print("Positive number")
    } else {
        print("Negative number")
    }
}

Khi bạn chạy chương trình, kết quả sẽ là:

Negative number

2. Biểu thức if trong Kotlin 

Không giống như Java (hay nhiều ngôn ngữ lập trình khác), if có thể được sử dụng như một biểu thức trong Kotlin; nó trả về một giá trị. Đề nghị đọc: Biểu thức Kotlin

Dưới đây là một ví dụ:

Ví dụ: biểu thức if trong Kotin 


fun main(args: Array<String>) {

    val number = -10

    val result = if (number > 0) {
        "Positive number"
    } else {
        "Negative number"
    }

    println(result)
}

Khi bạn chạy chương trình, kết quả sẽ là:




Negative number

Bắt buộc phải sử dụng nhánh else khi sử dụng if với tư cách là một biểu thức.

Không bắt buộc phải sử dụng các dấu ngoặc nhọn nếu phần thân của if chỉ có một câu lệnh. Ví dụ,

/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
*/

fun main(args: Array<String>) {
    val number = -10
    val result = if (number > 0) "Positive number" else "Negative number"
    println(result)
}

Điều này tương tự như toán tử ternary trong Java . Do đó,  trong Kotlin không có toán tử ternary.

Ví dụ: khối câu lệnh if với nhiều biểu thức

Nếu khối câu lênh trong nhánh if chứa nhiều hơn một biểu thức, biểu thức cuối cùng được trả về là giá trị của khối câu lệnh đó.

/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
*/

fun main(args: Array<String>) {

    val a = -9
    val b = -11

    val max = if (a > b) {
        println("$a is larger than $b.")
        println("max variable holds value of a.")
        a
    } else {
        println("$b is larger than $a.")
        println("max variable holds value of b.")
        b
    }
    println("max = $max")
}

Khi bạn chạy chương trình, kết quả sẽ là:

-9 is larger than -11.
max variable holds value of a.
max = -9

Đề nghị đọc: câu lệnh when trong Kotlin 

3. Cấu trúc rẽ nhánh if..else..if trong Kotlin 

Có thể trả về một khối câu lệnh trong số nhiều khối câu lệnh trong Kotlin bằng Cấu trúc rẽ nhánh if..else..if.

Ví dụ: Cấu trúc rẽ nhánh if..else..if

fun main(args: Array<String>) {

    val number = 0

    val result = if (number > 0)
        "positive number"
    else if (number < 0)
        "negative number"
    else 
        "zero"
    
    println("number is $result")
}

Chương trình này kiểm tra xem number là số dương, số âm hay bằng không.




4. Biểu thức if lồng nhau trong Kotlin 

Một biểu thức if có thể nằm bên trong một khối câu lệnh của một biểu thức if khác, ta gọi đó là biểu thức if lồng nhau.

Ví dụ: biểu thức if lồng nhau

Chương trình này đưa ra số lớn nhất trong số ba số.

/*
Cafedev.vn - Kênh thông tin IT hàng đầu Việt Nam
@author cafedevn
Contact: cafedevn@gmail.com
Fanpage: https://www.facebook.com/cafedevn
Instagram: https://instagram.com/cafedevn
Twitter: https://twitter.com/CafedeVn
Linkedin: https://www.linkedin.com/in/cafe-dev-407054199/
*/

fun main(args: Array<String>) {

    val n1 = 3
    val n2 = 5
    val n3 = -2

    val max = if (n1 > n2) {
        if (n1 > n3)
            n1
        else
            n3
    } else {
        if (n2 > n3)
            n2
        else
            n3
    }

    println("max = $max")
}

Khi bạn chạy chương trình, kết quả sẽ là:

max = 5