Trong bài viết này, bạn sẽ tìm hiểu về thời điểm xây dựng trong Kotlin với sự trợ giúp của các ví dụ khác nhau.
Kotlin khi xây dựng
Cấu when
trúc trong Kotlin có thể được coi là sự thay thế cho Java switch Statement. Nó đánh giá một phần mã trong số nhiều lựa chọn thay thế.
Ví dụ: Đơn giản khi Biểu thức
fun main(args: Array) ( val a = 12 val b = 5 println("Enter operator either +, -, * or /") val operator = readLine() val result = when (operator) ( "+" -> a + b "-" -> a - b "*" -> a * b "/" -> a / b else -> "$operator operator is invalid operator." ) println("result = $result") )
Khi bạn chạy chương trình, kết quả đầu ra sẽ như sau:
Nhập toán tử +, -, * hoặc / * kết quả = 60
Chương trình trên lấy một chuỗi đầu vào từ người dùng (Đề xuất Đọc: Nhận Đầu vào Chuỗi từ Người dùng trong Kotlin). Giả sử, người dùng đã nhập *
. Trong trường hợp này, biểu thức a * b
được đánh giá và giá trị được gán cho kết quả biến.
Nếu không có điều kiện chi nhánh được thỏa mãn (dùng nhập bất cứ điều gì ngoại trừ +
, -
, *, hay /
), else
chi nhánh được đánh giá.
Trong ví dụ trên, chúng tôi đã sử dụng when
như một biểu thức. Tuy nhiên, nó không bắt buộc phải sử dụng when
như một biểu thức. Ví dụ,
fun main(args: Array) ( val a = 12 val b = 5 println("Enter operator either +, -, * or /") val operator = readLine() when (operator) ( "+" -> println("$a + $b = $(a + b)") "-" -> println("$a - $b = $(a - b)") "*" -> println("$a * $b = $(a * b)") "/" -> println("$a / $b = $(a / b)") else -> println("$operator is invalid") ) )
Khi bạn chạy chương trình, kết quả đầu ra sẽ như sau:
Nhập toán tử +, -, * hoặc / - 12 - 5 = 7
Đây, when
không phải là một biểu thức (giá trị trả về từ when
không được gán cho bất kỳ thứ gì). Trong trường hợp này, else
chi nhánh là không bắt buộc.
Rất ít khả năng
Kết hợp hai hoặc nhiều điều kiện rẽ nhánh bằng dấu phẩy. Ví dụ,
fun main(args: Array) ( val n = -1 when (n) ( 1, 2, 3 -> println("n is a positive integer less than 4.") 0 -> println("n is zero") -1, -2 -> println("n is a negative integer greater than 3.") ) )
Khi bạn chạy chương trình, đầu ra sẽ là:
n là số nguyên âm lớn hơn 3.
Kiểm tra giá trị trong phạm vi. Ví dụ,
fun main(args: Array) ( val a = 100 when (a) ( in 1… 10 -> println("A positive number less than 11.") in 10… 100 -> println("A positive number between 10 and 100 (inclusive)") ) )
Khi bạn chạy chương trình, đầu ra sẽ là:
Một số dương từ 10 đến 100 (bao gồm)
Kiểm tra xem giá trị có thuộc loại cụ thể không.
Để kiểm tra xem một giá trị có phải là một kiểu cụ thể trong thời gian chạy hay không, chúng ta có thể sử dụng toán tử is and! Is. Ví dụ,
khi (x) (là Int -> print (x + 1) là Chuỗi -> print (x.length + 1) là IntArray -> print (x.sum ()))
Sử dụng biểu thức làm điều kiện rẽ nhánh. Ví dụ,
fun main(args: Array) ( val a = 11 val n = "11" when (n) ( "cat" -> println("Cat? Really?") 12.toString() -> println("Close but not close enough.") a.toString() -> println("Bingo! It's eleven.") ) )
Khi bạn chạy chương trình, đầu ra sẽ là:
Chơi lô tô! Bây giờ là mười một.