Lệnh When trong Kotlin
Trong bài này chúng ta sẽ học lệnh When trong Kotlin, đây là lệnh có công dụng giống với lệnh switch - case ở các ngôn ngữ lập trình khác như JAVA, PHP, C, C++.

Lệnh when được dùng để rẻ nhánh chương trình, về ý nghĩa rất giống với lệnh if else, nhưng về tính khả thi thì thường người ta sẽ chọn if else thay vì chọn When.
1. Câu lệnh When trong Kotlin và ví dụ
Hãy bắt đầu tìm hiểu bằng một ví dụ dưới đây.
/**
* created by Chaitanya for Beginnersbook.com
*/
package beginnersbook
fun main(args : Array<String>){
var ch = 'A'
when(ch){
'A' -> println("A is a Vowel")
'E' -> println("E is a Vowel")
'I' -> println("I is a Vowel")
'O' -> println("O is a Vowel")
'U' -> println("U is a Vowel")
else -> println("$ch is a Consonant")
}
}OUTPUT:
Bài viết này được đăng tại [free tuts .net]
A is a Vowel
Chúng ta cũng có thể viết lại code theo cách gọn gàng hơn như thế này:
/**
* created by Chaitanya for Beginnersbook.com
*/
package beginnersbook
fun main(args : Array<String>){
var ch = 'A'
when(ch){
'A', 'E', 'I', 'O', 'U' -> println("$ch is a Vowel")
else -> println("$ch is a Consonant")
}
}2. Câu lệnh When với ranges trong Kotlin
Chúng ta cũng có thể sử dụng phạm vi khi biểu thức. Trong ví dụ sau, chúng ta sử dụng nhiều phạm vi bên trong câu lệnh When để tìm ra các chữ số trong số đã cho.
/**
* created by Chaitanya for Beginnersbook.com
*/
package beginnersbook
fun main(args : Array<String>){
var num = 78
when(num) {
in 1..9 -> println("$num is a single digit number")
in 10..99 -> println("$num is a two digit number")
in 100..999 -> println("$num is a three digit number")
else -> println("$num has more than three digits")
}
}OUTPUT:

3. Phép toán số học bên trong câu lệnh When
Chúng ta cũng có thể thực hiện các tính toán trên biến trong câu lệnh When.
/**
* created by Chaitanya for Beginnersbook.com
*/
package beginnersbook
fun main(args : Array<String>){
var age = 16
when(age) {
in 1..17 -> {
val num = 18 - age
println("You will be eligible for voting in $num years")
}
in 18..100 -> println("You are eligible for voting")
}
}OUTPUT:

Như mình đã nói ban đầu, lệnh when có cú pháp hơi phức tạp nên với những chương trình code lớn thì ta nên sử dụng lệnh if để thay thế.

Các kiểu dữ liệu trong C ( int - float - double - char ...)
Thuật toán tìm ước chung lớn nhất trong C/C++
Cấu trúc lệnh switch case trong C++ (có bài tập thực hành)
ComboBox - ListBox trong lập trình C# winforms
Random trong Python: Tạo số random ngẫu nhiên
Lệnh cin và cout trong C++
Cách khai báo biến trong PHP, các loại biến thường gặp
Download và cài đặt Vertrigo Server
Thẻ li trong HTML
Thẻ article trong HTML5
Cấu trúc HTML5: Cách tạo template HTML5 đầu tiên
Cách dùng thẻ img trong HTML và các thuộc tính của img
Thẻ a trong HTML và các thuộc tính của thẻ a thường dùng